binutils: support for the SPARC M8 processor
This patch adds support for the new SPARC M8 processor (implementing OSA
2017) to binutils.
New instructions:
- Dictionary Unpack
+ dictunpack
- Partitioned Compare with shifted result
+ Signed variants: fpcmp{le,gt,eq,ne}{8,16,32}shl
+ Unsigned variants: fpcmpu{le,gt}{8,16,32}shl
- Partitioned Dual-Equal compared, with shifted result
+ fpcmpde{8,16,32}shl
- Partitioned Unsigned Range Compare, with shifted result
+ fpcmpur{8,16,32}shl
- 64-bit shifts on Floating-Point registers
+ fps{ll,ra,rl}64x
- Misaligned loads and stores
+ ldm{sh,uh,sw,uw,x,ux}
+ ldm{sh,uh,sw,uw,x,ux}a
+ ldmf{s,d}
+ ldmf{s,d}a
+ stm{h,w,x}
+ stm{h,w,x}a
+ stmf{s,d}
+ stmf{s,d}a
- Oracle Numbers
+ on{add,sub,mul,div}
- Reverse Bytes/Bits
+ revbitsb
+ revbytes{h,w,x}
- Run-Length instructions
+ rle_burst
+ rle_length
- New crypto instructions
+ sha3
- Instruction to read the new register %entropy
+ rd %entropy
New Alternate Address Identifiers:
- 0x24, #ASI_CORE_COMMIT_COUNT
- 0x24, #ASI_CORE_SELECT_COUNT
- 0x48, #ASI_ARF_ECC_REG
- 0x53, #ASI_ITLB_PROBE
- 0x58, #ASI_DSFAR
- 0x5a, #ASI_DTLB_PROBE_PRIMARY
- 0x5b, #ASI_DTLB_PROBE_REAL
- 0x64, #ASI_CORE_SELECT_COMMIT_NHT
The new assembler command-line options for selecting the M8 architecture
are:
-Av9m8 or -Asparc6 for 64-bit binaries.
-Av8plusm8 for 32-bit (v8+) binaries.
The corresponding disassembler command-line options are:
-msparc:v9m8 for 64-bit binaries.
-msparc:v8plusm8 for 32-bit (v8+) binaries.
Tested for regressions in the following targets:
sparc-aout sparc-linux sparc-vxworks sparc64-linux
bfd/ChangeLog:
2017-05-19 Jose E. Marchesi <jose.marchesi@oracle.com>
* archures.c (bfd_mach_sparc_v9m8): Define.
(bfd_mach_sparc_v8plusm8): Likewise.
(bfd_mach_sparc_v9_p): Adjust to M8.
(bfd_mach_sparc_64bit_p): Likewise.
* aoutx.h (machine_type): Handle bfd_mach_sparc_v9m8 and
bfd_mach_sparc_v8plusm8.
* bfd-in2.h: Regenerated.
* cpu-sparc.c (arch_info_struct): Entries for sparc:v9m8 and
sparc:v8plusm8.
* elfxx-sparc.c (_bfd_sparc_elf_object_p): Handle
bfd_mach_sparc_v8plusm8 and bfd_mach_sparc_v9m8 using the new hw
capabilities ONADDSUB, ONMUL, ONDIV, DICTUNP, FPCPSHL, RLE and
SHA3.
* elf32-sparc.c (elf32_sparc_final_write_processing): Handle
bfd_mach_sparc_v8plusm8.
binutils/ChangeLog:
2017-05-19 Jose E. Marchesi <jose.marchesi@oracle.com>
* NEWS: Mention the SPARC M8 support.
gas/ChangeLog:
2017-05-19 Jose E. Marchesi <jose.marchesi@oracle.com>
* config/tc-sparc.c (sparc_arch_table): Entries for `sparc6',
`v9m8' and `v8plusm8'.
(sparc_md_end): Handle SPARC_OPCODE_ARCH_M8.
(get_hwcap_name): Support the M8 hardware capabilities.
(sparc_ip): Handle new operand types.
* doc/c-sparc.texi (Sparc-Opts): Document -Av9m8, -Av8plusm8 and
-Asparc6, and the corresponding -xarch aliases.
* testsuite/gas/sparc/sparc6.s: New file.
* testsuite/gas/sparc/sparc6.d: Likewise.
* testsuite/gas/sparc/sparc6-diag.s: Likewise.
* testsuite/gas/sparc/sparc6-diag.l: Likewise.
* testsuite/gas/sparc/fpcmpshl.s: Likewise.
* testsuite/gas/sparc/fpcmpshl.d: Likewise.
* testsuite/gas/sparc/fpcmpshl-diag.s: Likewise.
* testsuite/gas/sparc/fpcmpshl-diag.l: Likewise.
* testsuite/gas/sparc/ldm-stm.s: Likewise.
* testsuite/gas/sparc/ldm-stm.d: Likewise.
* testsuite/gas/sparc/ldm-stm-diag.s: Likewise.
* testsuite/gas/sparc/ldm-stm-diag.l: Likewise.
* testsuite/gas/sparc/ldmf-stmf.s: Likewise.
* testsuite/gas/sparc/ldmf-stmf.d: Likewise.
* testsuite/gas/sparc/ldmf-stmf-diag.s: Likewise.
* testsuite/gas/sparc/ldmf-stmf-diag.l: Likewise.
* testsuite/gas/sparc/on.s: Likewise.
* testsuite/gas/sparc/on.d: Likewise.
* testsuite/gas/sparc/on-diag.s: Likewise.
* testsuite/gas/sparc/on-diag.l: Likewise.
* testsuite/gas/sparc/rle.s: Likewise.
* testsuite/gas/sparc/rle.d: Likewise.
* testsuite/gas/sparc/sparc.exp (gas_64_check): Run new tests.
* testsuite/gas/sparc/rdasr.s: Add test for RDENTROPY.
* testsuite/gas/sparc/rdasr.d: Likewise.
include/ChangeLog:
2017-05-19 Jose E. Marchesi <jose.marchesi@oracle.com>
* elf/sparc.h (ELF_SPARC_HWCAP2_SPARC6): Define.
(ELF_SPARC_HWCAP2_ONADDSUB): Likewise.
(ELF_SPARC_HWCAP2_ONMUL): Likewise.
(ELF_SPARC_HWCAP2_ONDIV): Likewise.
(ELF_SPARC_HWCAP2_DICTUNP): Likewise.
(ELF_SPARC_HWCAP2_FPCMPSHL): Likewise.
(ELF_SPARC_HWCAP2_RLE): Likewise.
(ELF_SPARC_HWCAP2_SHA3): Likewise.
* opcode/sparc.h (sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_M8
and adjust SPARC_OPCODE_ARCH_MAX.
(HWCAP2_SPARC6): Define.
(HWCAP2_ONADDSUB): Likewise.
(HWCAP2_ONMUL): Likewise.
(HWCAP2_ONDIV): Likewise.
(HWCAP2_DICTUNP): Likewise.
(HWCAP2_FPCMPSHL): Likewise.
(HWCAP2_RLE): Likewise.
(HWCAP2_SHA3): Likewise.
(OPM): Likewise.
(OPMI): Likewise.
(ONFCN): Likewise.
(REVFCN): Likewise.
(SIMM10): Likewise.
opcodes/ChangeLog:
2017-05-19 Jose E. Marchesi <jose.marchesi@oracle.com>
* sparc-dis.c (MASK_V9): Include SPARC_OPCODE_ARCH_M8.
(X_IMM2): Define.
(compute_arch_mask): Handle bfd_mach_sparc_v8plusm8 and
bfd_mach_sparc_v9m8.
(print_insn_sparc): Handle new operand types.
* sparc-opc.c (MASK_M8): Define.
(v6): Add MASK_M8.
(v6notlet): Likewise.
(v7): Likewise.
(v8): Likewise.
(v9): Likewise.
(v9a): Likewise.
(v9b): Likewise.
(v9c): Likewise.
(v9d): Likewise.
(v9e): Likewise.
(v9v): Likewise.
(v9m): Likewise.
(v9andleon): Likewise.
(m8): Define.
(HWS_VM8): Define.
(HWS2_VM8): Likewise.
(sparc_opcode_archs): Add entry for "m8".
(sparc_opcodes): Add OSA2017 and M8 instructions
dictunpack, fpcmp{ule,ugt,eq,ne,de,ur}{8,16,32}shl,
fpx{ll,ra,rl}64x,
ldm{sh,uh,sw,uw,x,ux}, ldm{sh,uh,sw,uw,x,ux}a, ldmf{s,d},
ldmf{s,d}a, on{add,sub,mul,div}, rdentropy, revbitsb,
revbytes{h,w,x}, rle_burst, rle_length, sha3, stm{h,w,x},
stm{h,w,x}a, stmf{s,d}, stmf{s,d}a.
(asi_table): New M8 ASIs ASI_CORE_COMMIT_COUNT,
ASI_CORE_SELECT_COUNT, ASI_ARF_ECC_REG, ASI_ITLB_PROBE, ASI_DSFAR,
ASI_DTLB_PROBE_PRIMARY, ASI_DTLB_PROBE_REAL,
ASI_CORE_SELECT_COMMIT_NHT.
2017-05-20 00:27:08 +08:00
|
|
|
|
2017-05-19 Jose E. Marchesi <jose.marchesi@oracle.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention the SPARC M8 support.
|
|
|
|
|
|
2017-05-19 14:53:21 +08:00
|
|
|
|
2017-05-19 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/binutils-all/mips/mips.exp: Bail out right away if
|
|
|
|
|
non-ELF.
|
|
|
|
|
|
2017-05-18 13:17:40 +08:00
|
|
|
|
2017-05-18 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* strings.c: Don't compare boolean values against TRUE or FALSE.
|
|
|
|
|
|
2017-05-16 00:48:41 +08:00
|
|
|
|
2017-05-15 Jeff Law <law@redhat.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (display_arc_attribute): Avoid implicit fallthru.
|
|
|
|
|
|
2017-05-15 20:45:42 +08:00
|
|
|
|
2017-05-15 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/binutils-all/mips/mips16-undecoded.d: Add `-mips3'
|
|
|
|
|
to `as' flags.
|
|
|
|
|
* testsuite/binutils-all/mips/mips16e2-undecoded.d: New test.
|
|
|
|
|
* testsuite/binutils-all/mips/mips16e2-extend-insn.d: New test.
|
|
|
|
|
* testsuite/binutils-all/mips/mips16-undecoded.s: Remove
|
|
|
|
|
`.module mips3'.
|
|
|
|
|
* testsuite/binutils-all/mips/mips.exp: Run the new tests.
|
|
|
|
|
|
MIPS16e2: Add MIPS16e2 ASE support
Add MIPS16e2 ASE support as per the architecture specification[1],
including in particular:
1. A new ELF ASE flag to mark MIPS16e2 binaries.
2. MIPS16e2 instruction assembly support, including a relaxation update
to use LUI rather than an LI/SLL instruction pair for loading the
high part of 32-bit addresses.
3. MIPS16e2 instruction disassembly support, including updated rules for
extended forms of instructions that are now subdecoded and therefore
do not alias to the original MIPS16 ISA revision instructions even
for encodings that are not valid in the MIPS16e2 instruction set.
Add `-mmips16e2' and `-mno-mips16e2' GAS command-line options and their
corresponding `mips16e2' and `no-mips16e2' settings for the `.set' and
`.module' pseudo-ops. Control the availability of the MT ASE subset of
the MIPS16e2 instruction set with a combination of these controls and
the preexisting MT ASE controls.
Parts of this change by Matthew Fortune and Andrew Bennett.
References:
[1] "MIPS32 Architecture for Programmers: MIPS16e2 Application-Specific
Extension Technical Reference Manual", Imagination Technologies
Ltd., Document Number: MD01172, Revision 01.00, April 26, 2016
include/
* elf/mips.h (AFL_ASE_MIPS16E2): New macro.
(AFL_ASE_MASK): Adjust accordingly.
* opcode/mips.h: Document new operand codes defined.
(mips_operand_type): Add OP_REG28 enum value.
(INSN2_SHORT_ONLY): Update description.
(ASE_MIPS16E2, ASE_MIPS16E2_MT): New macros.
bfd/
* elfxx-mips.c (print_mips_ases): Handle MIPS16e2 ASE.
opcodes/
* mips-dis.c (mips_arch_choices): Add ASE_MIPS16E2 and
ASE_MIPS16E2_MT flags to the unnamed MIPS16 entry.
(mips_convert_abiflags_ases): Handle the AFL_ASE_MIPS16E2 flag.
(print_insn_arg) <OP_REG28>: Add handler.
(validate_insn_args) <OP_REG28>: Handle.
(print_mips16_insn_arg): Handle MIPS16 instructions that require
32-bit encoding and 9-bit immediates.
(print_insn_mips16): Handle MIPS16 instructions that require
32-bit encoding and MFC0/MTC0 operand decoding.
* mips16-opc.c (decode_mips16_operand) <'>', '9', 'G', 'N', 'O'>
<'Q', 'T', 'b', 'c', 'd', 'r', 'u'>: Add handlers.
(RD_C0, WR_C0, E2, E2MT): New macros.
(mips16_opcodes): Add entries for MIPS16e2 instructions:
GP-relative "addiu" and its "addu" spelling, "andi", "cache",
"di", "ehb", "ei", "ext", "ins", GP-relative "lb", "lbu", "lh",
"lhu", and "lw" instructions, "ll", "lui", "lwl", "lwr", "mfc0",
"movn", "movtn", "movtz", "movz", "mtc0", "ori", "pause",
"pref", "rdhwr", "sc", GP-relative "sb", "sh" and "sw"
instructions, "swl", "swr", "sync" and its "sync_acquire",
"sync_mb", "sync_release", "sync_rmb" and "sync_wmb" aliases,
"xori", "dmt", "dvpe", "emt" and "evpe". Add split
regular/extended entries for original MIPS16 ISA revision
instructions whose extended forms are subdecoded in the MIPS16e2
ISA revision: "li", "sll" and "srl".
binutils/
* readelf.c (print_mips_ases): Handle MIPS16e2 ASE.
* NEWS: Mention MIPS16e2 ASE support.
gas/
* config/tc-mips.c (RELAX_MIPS16_ENCODE): Add `e2' flag.
(RELAX_MIPS16_E2): New macro.
(RELAX_MIPS16_PIC, RELAX_MIPS16_SYM32, RELAX_MIPS16_NOMACRO)
(RELAX_MIPS16_USER_SMALL, RELAX_MIPS16_USER_EXT)
(RELAX_MIPS16_DSLOT, RELAX_MIPS16_JAL_DSLOT)
(RELAX_MIPS16_EXTENDED, RELAX_MIPS16_MARK_EXTENDED)
(RELAX_MIPS16_CLEAR_EXTENDED, RELAX_MIPS16_ALWAYS_EXTENDED)
(RELAX_MIPS16_MARK_ALWAYS_EXTENDED)
(RELAX_MIPS16_CLEAR_ALWAYS_EXTENDED, RELAX_MIPS16_MACRO)
(RELAX_MIPS16_MARK_MACRO, RELAX_MIPS16_CLEAR_MACRO): Shift bits.
(mips16_immed_extend): New prototype.
(options): Add OPTION_MIPS16E2 and OPTION_NO_MIPS16E2 enum
values.
(md_longopts): Add "mmips16e2" and "mno-mips16e2" options.
(mips_ases): Add "mips16e2" entry.
(mips_set_ase): Handle MIPS16e2 ASE.
(insn_insert_operand): Explicitly handle immediates with MIPS16
instructions that require 32-bit encoding.
(is_opcode_valid_16): Pass enabled ASE bitmask on to
`opcode_is_member'.
(validate_mips_insn): Explicitly handle immediates with MIPS16
instructions that require 32-bit encoding.
(operand_reg_mask) <OP_REG28>: Add handler.
(match_reg28_operand): New function.
(match_operand) <OP_REG28>: Add handler.
(append_insn): Pass ASE_MIPS16E2 setting to RELAX_MIPS16_ENCODE.
(match_mips16_insn): Handle MIPS16 instructions that require
32-bit encoding and `V' and `u' operand codes.
(mips16_ip): Allow any characters except from `.' in opcodes.
(mips16_immed_extend): Handle 9-bit immediates. Do not shuffle
immediates whose width is not one of these listed.
(md_estimate_size_before_relax): Handle MIPS16e2 relaxation.
(mips_relax_frag): Likewise.
(md_convert_frag): Likewise.
(mips_convert_ase_flags): Handle MIPS16e2 ASE.
* doc/as.texinfo (Target MIPS options): Add `-mmips16e2' and
`-mno-mips16e2' options.
(-mmips16e2, -mno-mips16e2): New options.
* doc/c-mips.texi (MIPS Options): Add `-mmips16e2' and
`-mno-mips16e2' options.
(MIPS ASE Instruction Generation Overrides): Add `.set mips16e2'
and `.set nomips16e2'.
2017-05-15 20:26:01 +08:00
|
|
|
|
2017-05-15 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (print_mips_ases): Handle MIPS16e2 ASE.
|
|
|
|
|
* NEWS: Mention MIPS16e2 ASE support.
|
|
|
|
|
|
2017-05-12 08:09:36 +08:00
|
|
|
|
2017-05-12 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/binutils-all/mips/mips16-extend-insn.d: Adjust BREAK
|
|
|
|
|
and SDBBP disassembly.
|
|
|
|
|
|
2017-05-11 02:03:15 +08:00
|
|
|
|
2017-05-10 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/binutils-all/mips/mips.exp: Define `tempfile' and
|
|
|
|
|
`copyfile' variables.
|
|
|
|
|
|
[ARC] Object attributes.
gas/
2017-05-10 Claudiu Zissulescu <claziss@synopsys.com>
* testsuite/gas/arc/attr-arc600.d: New file.
* testsuite/gas/arc/attr-arc600_mul32x16.d: Likewise.
* testsuite/gas/arc/attr-arc600_norm.d: Likewise.
* testsuite/gas/arc/attr-arc601.d: Likewise.
* testsuite/gas/arc/attr-arc601_mul32x16.d: Likewise.
* testsuite/gas/arc/attr-arc601_mul64.d: Likewise.
* testsuite/gas/arc/attr-arc601_norm.d: Likewise.
* testsuite/gas/arc/attr-arc700.d: Likewise.
* testsuite/gas/arc/attr-arcem.d: Likewise.
* testsuite/gas/arc/attr-archs.d: Likewise.
* testsuite/gas/arc/attr-autodetect-1.d: Likewise.
* testsuite/gas/arc/attr-autodetect-1.s: Likewise.
* testsuite/gas/arc/attr-cpu-a601.d: Likewise.
* testsuite/gas/arc/attr-cpu-a601.s: Likewise.
* testsuite/gas/arc/attr-cpu-a700.d: Likewise.
* testsuite/gas/arc/attr-cpu-a700.s: Likewise.
* testsuite/gas/arc/attr-cpu-em.d: Likewise.
* testsuite/gas/arc/attr-cpu-em.s: Likewise.
* testsuite/gas/arc/attr-cpu-hs.d: Likewise.
* testsuite/gas/arc/attr-cpu-hs.s: Likewise.
* testsuite/gas/arc/attr-em.d: Likewise.
* testsuite/gas/arc/attr-em4.d: Likewise.
* testsuite/gas/arc/attr-em4_dmips.d: Likewise.
* testsuite/gas/arc/attr-em4_fpuda.d: Likewise.
* testsuite/gas/arc/attr-em4_fpus.d: Likewise.
* testsuite/gas/arc/attr-hs.d: Likewise.
* testsuite/gas/arc/attr-hs34.d: Likewise.
* testsuite/gas/arc/attr-hs38.d: Likewise.
* testsuite/gas/arc/attr-hs38_linux.d: Likewise.
* testsuite/gas/arc/attr-mul64.d: Likewise.
* testsuite/gas/arc/attr-name.d: Likewise.
* testsuite/gas/arc/attr-name.s: Likewise.
* testsuite/gas/arc/attr-nps400.d: Likewise.
* testsuite/gas/arc/attr-override-mcpu.d: Likewise.
* testsuite/gas/arc/attr-override-mcpu.s
* testsuite/gas/arc/attr-quarkse_em.d: Likewise.
* testsuite/gas/arc/blank.s: Likewise.
* testsuite/gas/elf/section2.e-arc: Likewise.
* testsuite/gas/arc/cpu-pseudop-1.d: Update test.
* testsuite/gas/arc/cpu-pseudop-2.d: Likewise.
* testsuite/gas/arc/nps400-0.d: Likewise.
* testsuite/gas/elf/elf.exp: Set target_machine for ARC.
* config/tc-arc.c (opcode/arc-attrs.h): Include.
(ARC_GET_FLAG, ARC_SET_FLAG, streq): Define.
(arc_attribute): Declare new function.
(md_pseudo_table): Add arc_attribute.
(cpu_types): Rename default cpu features.
(selected_cpu): Set the default OSABI flag.
(mpy_option): New variable.
(pic_option): Likewise.
(sda_option): Likewise.
(tls_option): Likewise.
(feature_type, feature_list): Remove.
(arc_initial_eflag): Likewise.
(attributes_set_explicitly): New variable.
(arc_check_feature): Check also for the conflicting features.
(arc_select_cpu): Refactor assignment of selected_cpu.eflags.
(arc_option): Remove setting of private flags and architecture.
(check_cpu_feature): Refactor feature names.
(autodetect_attributes): New function.
(assemble_tokens): Use above function.
(md_parse_option): Refactor feature names.
(arc_attribute): New function.
(arc_set_attribute_int): Likewise.
(arc_set_attribute_string): Likewise.
(arc_stralloc): Likewise.
(arc_set_public_attributes): Likewise.
(arc_md_end): Likewise.
(arc_copy_symbol_attributes): Likewise.
(rc_convert_symbolic_attribute): Likewise.
* config/tc-arc.h (md_end): Define.
(CONVERT_SYMBOLIC_ATTRIBUTE): Likewise.
(TC_COPY_SYMBOL_ATTRIBUTES): Likewise.
* doc/c-arc.texi: Document ARC object attributes.
binutils/
2017-05-10 Claudiu Zissulescu <claziss@synopsys.com>
* readelf.c (decode_ARC_machine_flags): Recognize OSABI v4.
(get_arc_section_type_name): New function.
(get_section_type_name): Use the above function.
(display_arc_attribute): New function.
(process_arc_specific): Likewise.
(process_arch_specific): Handle ARC specific information.
* testsuite/binutils-all/strip-3.d: Consider ARC.attributes
section.
include/
2017-05-10 Claudiu Zissulescu <claziss@synopsys.com>
* elf/arc.h (SHT_ARC_ATTRIBUTES): Define.
(Tag_ARC_*): Define.
(E_ARC_OSABI_V4): Define.
(E_ARC_OSABI_CURRENT): Reassign it.
(TAG_CPU_*): Define.
* opcode/arc-attrs.h: New file.
* opcode/arc.h (insn_subclass_t): Assign enum values.
(insn_subclass_t): Update enum with QUARKSE1, QUARKSE2, and LL64.
(ARC_EA, ARC_CD, ARC_LLOCK, ARC_ATOMIC, ARC_MPY, ARC_MULT)
(ARC_NPS400, ARC_DPFP, ARC_SPFP, ARC_FPU, ARC_FPUDA, ARC_SWAP)
(ARC_NORM, ARC_BSCAN, ARC_UIX, ARC_TSTAMP, ARC_VBFDW)
(ARC_BARREL, ARC_DSPA, ARC_SHIFT, ARC_INTR, ARC_DIV, ARC_XMAC)
(ARC_CRC): Delete.
bfd/
2017-05-10 Claudiu Zissulescu <claziss@synopsys.com>
* elf32-arc.c (FEATURE_LIST_NAME): Define.
(CONFLICT_LIST): Likewise.
(opcode/arc-attrs.h): Include.
(arc_elf_print_private_bfd_data): Print OSABI v4 flag.
(arc_extract_features): New file.
(arc_stralloc): Likewise.
(arc_elf_merge_attributes): Likewise.
(arc_elf_merge_private_bfd_data): Use object attributes.
(bfd_arc_get_mach_from_attributes): New function.
(arc_elf_object_p): Use object attributes.
(arc_elf_final_write_processing): Likewise.
(elf32_arc_obj_attrs_arg_type): New function.
(elf32_arc_obj_attrs_handle_unknown): Likewise.
(elf32_arc_section_from_shdr): Likewise.
(elf_backend_obj_attrs_vendor): Define.
(elf_backend_obj_attrs_section): Likewise.
(elf_backend_obj_attrs_arg_type): Likewise.
(elf_backend_obj_attrs_section_type): Likewise.
(elf_backend_obj_attrs_handle_unknown): Likewise.
(elf_backend_section_from_shdr): Likewise.
ld/
2017-05-10 Claudiu Zissulescu <claziss@synopsys.com>
* testsuite/ld-arc/attr-merge-0.d: New file.
* testsuite/ld-arc/attr-merge-0.s: Likewise.
* testsuite/ld-arc/attr-merge-0e.s: Likewise.
* testsuite/ld-arc/attr-merge-1.d: Likewise.
* testsuite/ld-arc/attr-merge-1.s: Likewise.
* testsuite/ld-arc/attr-merge-1e.s: Likewise.
* testsuite/ld-arc/attr-merge-2.d: Likewise.
* testsuite/ld-arc/attr-merge-2.s: Likewise.
* testsuite/ld-arc/attr-merge-3.d: Likewise.
* testsuite/ld-arc/attr-merge-3.s: Likewise.
* testsuite/ld-arc/attr-merge-3e.s: Likewise.
* testsuite/ld-arc/attr-merge-4.s: Likewise.
* testsuite/ld-arc/attr-merge-5.d: Likewise.
* testsuite/ld-arc/attr-merge-5a.s: Likewise.
* testsuite/ld-arc/attr-merge-5b.s: Likewise.
* testsuite/ld-arc/attr-merge-conflict-isa.d: Likewise.
* testsuite/ld-arc/attr-merge-err-isa.d: Likewise.
* testsuite/ld-arc/attr-merge-incompatible-cpu.d: Likewise.
* testsuite/ld-arc/got-01.d: Update test.
* testsuite/ld-arc/attr-merge-err-quarkse.d: New file.
* testsuite/ld-arc/attr-quarkse.s: Likewise.
* testsuite/ld-arc/attr-quarkse2.s: Likewise.
opcodes/
2017-05-10 Claudiu Zissulescu <claziss@synopsys.com>
* arc-dis.c (parse_option): Update quarkse_em option..
* arc-ext-tbl.h (dsp_fp_flt2i, dsp_fp_i2flt): Change subclass to
QUARKSE1.
(dsp_fp_div, dsp_fp_cmp): Change subclass to QUARKSE2.
2017-05-10 20:42:22 +08:00
|
|
|
|
2017-05-10 Claudiu Zissulescu <claziss@synopsys.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (decode_ARC_machine_flags): Recognize OSABI v4.
|
|
|
|
|
(get_arc_section_type_name): New function.
|
|
|
|
|
(get_section_type_name): Use the above function.
|
|
|
|
|
(display_arc_attribute): New function.
|
|
|
|
|
(process_arc_specific): Likewise.
|
|
|
|
|
(process_arch_specific): Handle ARC specific information.
|
|
|
|
|
|
2017-05-10 08:15:19 +08:00
|
|
|
|
2017-05-09 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
|
|
|
|
|
|
|
|
|
* MAINTAINERS (SH): Remove myself as SH maintainer.
|
|
|
|
|
|
2017-05-03 03:16:26 +08:00
|
|
|
|
2017-05-02 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* objcopy.c (merge_gnu_build_notes): Cast relcount to unsigned
|
|
|
|
|
long when comparing with sec->reloc_count.
|
|
|
|
|
|
2017-05-02 23:54:53 +08:00
|
|
|
|
2017-05-02 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* objcopy.c (merge_gnu_build_notes): Disable merge if there are
|
|
|
|
|
more internal relocs than external relocs.
|
|
|
|
|
|
2017-05-02 18:53:30 +08:00
|
|
|
|
2017-05-02 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/binutils-all/mips/mips16-undecoded.d: Adjust the
|
|
|
|
|
disassembly of PC-relative LA and LW synthetic instructions.
|
|
|
|
|
|
2017-05-02 18:54:53 +08:00
|
|
|
|
2017-05-02 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 21440
|
|
|
|
|
* objdump.c (dump_relocs_in_section): Check for an excessive
|
|
|
|
|
number of relocs before attempting to dump them.
|
|
|
|
|
|
2017-05-01 12:41:27 +08:00
|
|
|
|
2017-05-01 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* objcopy.c (merge_gnu_build_notes): Correct code deleting
|
|
|
|
|
relocs.
|
|
|
|
|
|
2017-04-28 19:09:14 +08:00
|
|
|
|
2017-04-28 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21439
|
|
|
|
|
* readelf.c (print_gnu_build_attribute_name): Allow for an empty
|
|
|
|
|
name field.
|
|
|
|
|
|
2017-04-28 18:21:53 +08:00
|
|
|
|
2017-04-28 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21437
|
|
|
|
|
* readelf.c (process_version_sections): Check for underflow when
|
|
|
|
|
computing the start address of the auxillary version data.
|
|
|
|
|
|
2017-04-28 17:28:04 +08:00
|
|
|
|
2017-04-28 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21438
|
|
|
|
|
* dwarf.c (process_extended_line_op): Do not assume that the
|
|
|
|
|
string extracted from the section is NUL terminated.
|
|
|
|
|
(fetch_indirect_string): If the string retrieved from the section
|
|
|
|
|
is not NUL terminated, return an error message.
|
|
|
|
|
(fetch_indirect_line_string): Likewise.
|
|
|
|
|
(fetch_indexed_string): Likewise.
|
|
|
|
|
|
2017-04-26 22:42:03 +08:00
|
|
|
|
2017-04-26 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
2017-04-26 22:45:41 +08:00
|
|
|
|
PR binutils/21433
|
2017-04-26 22:42:03 +08:00
|
|
|
|
* bucomm.c (get_file_size): Return -1 if file_name is NULL.
|
|
|
|
|
* ar.c (main): Fail with usage() invocation if no file names are
|
|
|
|
|
provided.
|
|
|
|
|
|
2017-04-26 21:23:26 +08:00
|
|
|
|
2017-04-26 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (process_section_headers): Warn about overlarge
|
|
|
|
|
sections.
|
|
|
|
|
(print_gnu_build_attribute_name): Print the number of unrecognised
|
|
|
|
|
note types. Fix formatting in the presence of errors.
|
|
|
|
|
(testsuite/binutils-all/note-2-32.s): Fix encoding of numeric notes.
|
|
|
|
|
(testsuite/binutils-all/note-2-64.s): Likewise.
|
|
|
|
|
|
2017-04-25 03:41:33 +08:00
|
|
|
|
2017-04-26 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (process_mips_specific): Add static GOT support.
|
|
|
|
|
|
2017-04-12 07:03:41 +08:00
|
|
|
|
2017-04-25 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (process_mips_specific): Remove error reporting from
|
|
|
|
|
GOT[1] processing.
|
|
|
|
|
|
2017-04-12 07:02:13 +08:00
|
|
|
|
2017-04-25 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (process_mips_specific): Remove null GOT data check.
|
|
|
|
|
|
MIPS16/opcodes: Annotate instruction aliases
Complement commit 986e18a5a9fd ("Add a second 'pinfo' member to
mips_opcode to extend number of available bits"),
<https://sourceware.org/ml/binutils/2005-01/msg00261.html>, and annotate
MIPS16 NOP, LA, DLA and the synthetic forms of LD and LW instructions as
aliases. These correspond to MOVE, and the PC-relative ADDIU, DADDIU,
LD and LW hardware instructions respectively.
binutils/
* testsuite/binutils-all/mips/mips16-alias.d: New test.
* testsuite/binutils-all/mips/mips16-noalias.d: New test.
* testsuite/binutils-all/mips/mips16-alias.s: New test source.
* testsuite/binutils-all/mips/mips.exp: Run the new tests.
opcodes/
* mips16-opc.c (AL): New macro.
(mips16_opcodes): Mark "nop", "la", "dla", and synthetic forms
of "ld" and "lw" as aliases.
2017-04-25 18:44:29 +08:00
|
|
|
|
2017-04-25 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/binutils-all/mips/mips16-alias.d: New test.
|
|
|
|
|
* testsuite/binutils-all/mips/mips16-noalias.d: New test.
|
|
|
|
|
* testsuite/binutils-all/mips/mips16-alias.s: New test source.
|
|
|
|
|
* testsuite/binutils-all/mips/mips.exp: Run the new tests.
|
|
|
|
|
|
2017-04-23 16:09:48 +08:00
|
|
|
|
2017-04-23 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 21418
|
|
|
|
|
* ar.c (main): Check -a, -b, -i and -N args are given.
|
|
|
|
|
|
2017-04-23 15:58:14 +08:00
|
|
|
|
2017-04-23 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 21417
|
|
|
|
|
* ar.c (main): Check that an archive file is given after options.
|
|
|
|
|
|
2017-04-23 17:01:40 +08:00
|
|
|
|
2017-04-23 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 21415
|
|
|
|
|
* objdump.c (disassemble_section): Check bfd_get_section_contents
|
|
|
|
|
status.
|
|
|
|
|
|
2017-04-23 12:19:50 +08:00
|
|
|
|
2017-04-23 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 21408
|
|
|
|
|
* dwarf.c (display_debug_lines_decoded): Don't segfault on NULL
|
|
|
|
|
file_table.
|
|
|
|
|
|
2017-04-21 19:31:59 +08:00
|
|
|
|
2017-04-21 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21378
|
|
|
|
|
* readelf.c (print_gnu_build_attribute_name): Check for an
|
|
|
|
|
overlarge name field.
|
|
|
|
|
|
2017-04-13 23:06:30 +08:00
|
|
|
|
2017-04-13 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21379
|
|
|
|
|
* readelf.c (process_dynamic_section): Detect over large section
|
|
|
|
|
offsets in the DT_SYMTAB entry.
|
|
|
|
|
|
|
|
|
|
2017-04-13 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21345
|
|
|
|
|
* readelf.c (process_mips_specific): Catch an unfeasible memory
|
|
|
|
|
allocation before it happens and print a suitable error message.
|
|
|
|
|
|
2017-04-13 21:50:56 +08:00
|
|
|
|
2017-04-13 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* objcopy.c: Add --no-merge-notes option to disable note merging.
|
|
|
|
|
Add --[no-]merge-notes option to strip, and enable it by default.
|
|
|
|
|
(num_bytes): New function.
|
|
|
|
|
(merge_gnu_build_notes): Add code to merge stack size notes.
|
|
|
|
|
* binutils.texi: Update strip and objcopy documentation.
|
|
|
|
|
* readelf.c (print_gnu_build_attribute_name): Use defined
|
|
|
|
|
constants for note types.
|
|
|
|
|
|
2017-04-10 23:27:05 +08:00
|
|
|
|
2017-04-10 John Delsignor <john.delsignore@roguewave.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21319
|
|
|
|
|
* dwarf.c (display_gdb_index): Correct test for a corrupt address
|
|
|
|
|
table size.
|
|
|
|
|
|
2017-04-06 00:22:47 +08:00
|
|
|
|
2017-04-05 Jiong Wang <jiong.wang@arm.com>
|
|
|
|
|
|
|
|
|
|
* objcopy.c (struct redefine_node): Delete the field "next".
|
|
|
|
|
(redefine_sym_list): Deleted.
|
|
|
|
|
(redefine_specific_htab): New hash table.
|
|
|
|
|
(redefine_specific_reverse_htab): Likewise.
|
|
|
|
|
(eq_string_redefnode): New function.
|
|
|
|
|
(htab_hash_redefnode): Likewise.
|
|
|
|
|
(create_symbol2redef_htab): Likewise.
|
|
|
|
|
(add_specific_symbol_node): Likewise.
|
|
|
|
|
(create_symbol_htabs): Create redefine_specific_htab and
|
|
|
|
|
redefine_specific_reverse_htab.
|
|
|
|
|
(lookup_sym_redefinition): Use hash table instead of list.
|
|
|
|
|
(redefine_list_append): Likewise, and rename to add_redefine_and_check.
|
|
|
|
|
(copy_main): Use redefine_specific_htab instead of redefine_sym_list.
|
|
|
|
|
Update comments.
|
|
|
|
|
|
Support ELF SHF_GNU_MBIND and PT_GNU_MBIND_XXX
Mark an ALLOC section, which should be placed in special memory area,
with SHF_GNU_MBIND. Its sh_info field indicates the special memory
type. GNU_MBIND section names start with ".mbind" so that they are
placed as orphan sections by linker. All input GNU_MBIND sections
with the same sh_type, sh_flags and sh_info are placed in one output
GNU_MBIND section. In executable and shared object, create a
GNU_MBIND segment for each GNU_MBIND section and its segment type is
PT_GNU_MBIND_LO plus the sh_info value. Each GNU_MBIND segment is
aligned at page boundary.
The assembler syntax:
.section .mbind.foo,"adx",%progbits
^ 0: Special memory type.
|
'd' for SHF_GNU_MBIND.
.section .mbind.foo,"adx",%progbits,0x1
^ 1: Special memory type.
|
'd' for SHF_GNU_MBIND.
.section .mbind.bar,"adG",%progbits,.foo_group,comdat,0x2
^ 2: Special memory type.
|
'd' for SHF_GNU_MBIND.
bfd/
* elf.c (get_program_header_size): Add a GNU_MBIND segment for
each GNU_MBIND section and align GNU_MBIND section to page size.
(_bfd_elf_map_sections_to_segments): Create a GNU_MBIND
segment for each GNU_MBIND section.
(_bfd_elf_init_private_section_data): Copy sh_info from input
for GNU_MBIND section.
binutils/
* NEWS: Mention support for ELF SHF_GNU_MBIND and
PT_GNU_MBIND_XXX.
* readelf.c (get_segment_type): Handle PT_GNU_MBIND_XXX.
(get_elf_section_flags): Handle SHF_GNU_MBIND.
(process_section_headers): Likewise.
* testsuite/binutils-all/mbind1.s: New file.
* testsuite/binutils-all/objcopy.exp: Run readelf test on
mbind1.s.
gas/
* NEWS: Mention support for ELF SHF_GNU_MBIND.
* config/obj-elf.c (section_match): New.
(get_section): Match both sh_info and group name.
(obj_elf_change_section): Add argument for sh_info. Pass both
sh_info and group name to get_section. Issue an error for
SHF_GNU_MBIND section without SHF_ALLOC. Set sh_info.
(obj_elf_parse_section_letters): Set SHF_GNU_MBIND for 'd'.
(obj_elf_section): Support SHF_GNU_MBIND section info.
* config/obj-elf.h (obj_elf_change_section): Add argument for
sh_info.
* config/tc-arm.c (start_unwind_section): Pass 0 as sh_info to
obj_elf_change_section.
* config/tc-ia64.c (obj_elf_vms_common): Likewise.
* config/tc-microblaze.c (microblaze_s_data): Likewise.
(microblaze_s_sdata): Likewise.
(microblaze_s_rdata): Likewise.
(microblaze_s_bss): Likewise.
* config/tc-mips.c (s_change_section): Likewise.
* config/tc-msp430.c (msp430_profiler): Likewise.
* config/tc-rx.c (parse_rx_section): Likewise.
* config/tc-tic6x.c (tic6x_start_unwind_section): Likewise.
* doc/as.texinfo: Document 'd' for SHF_GNU_MBIND.
* testsuite/gas/elf/elf.exp: Run section12a, section12b and
section13.
* testsuite/gas/elf/section10.d: Updated.
* testsuite/gas/elf/section10.s: Likewise.
* testsuite/gas/elf/section12.s: New file.
* testsuite/gas/elf/section12a.d: Likewise.
* testsuite/gas/elf/section12b.d: Likewise.
* testsuite/gas/elf/section13.l: Likewise.
* testsuite/gas/elf/section13.d: Likewise.
* testsuite/gas/elf/section13.s: Likewise.
include/
* elf/common.h (PT_GNU_MBIND_NUM): New.
(PT_GNU_MBIND_LO): Likewise.
(PT_GNU_MBIND_HI): Likewise.
(SHF_GNU_MBIND): Likewise.
ld/
* NEWS: Mention support for ELF SHF_GNU_MBIND and
PT_GNU_MBIND_XXX.
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Place
input GNU_MBIND sections with the same type, attributes and
sh_info field into a single output GNU_MBIND section.
* testsuite/ld-elf/elf.exp: Run mbind2a and mbind2b.
* testsuite/ld-elf/mbind1.s: New file.
* testsuite/ld-elf/mbind1a.d: Likewise.
* testsuite/ld-elf/mbind1b.d: Likewise.
* testsuite/ld-elf/mbind1c.d: Likewise.
* testsuite/ld-elf/mbind2a.s: Likewise.
* testsuite/ld-elf/mbind2b.c: Likewise.
2017-04-05 00:05:48 +08:00
|
|
|
|
2017-04-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention support for ELF SHF_GNU_MBIND and
|
|
|
|
|
PT_GNU_MBIND_XXX.
|
|
|
|
|
* readelf.c (get_segment_type): Handle PT_GNU_MBIND_XXX.
|
|
|
|
|
(get_elf_section_flags): Handle SHF_GNU_MBIND.
|
|
|
|
|
(process_section_headers): Likewise.
|
|
|
|
|
* testsuite/binutils-all/mbind1.s: New file.
|
|
|
|
|
* testsuite/binutils-all/objcopy.exp: Run readelf test on
|
|
|
|
|
mbind1.s.
|
|
|
|
|
|
2017-04-03 19:14:06 +08:00
|
|
|
|
2017-04-03 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21345
|
|
|
|
|
* readelf.c (get_program_headers): Check for there being too many
|
|
|
|
|
program headers before attempting to allocate space for them.
|
|
|
|
|
|
2017-04-03 18:13:21 +08:00
|
|
|
|
2017-04-03 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21344
|
|
|
|
|
* readelf.c (process_mips_specific): Check for an out of range GOT
|
|
|
|
|
entry before reading the module pointer.
|
|
|
|
|
|
2017-04-03 18:01:45 +08:00
|
|
|
|
2017-04-03 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21343
|
|
|
|
|
* readelf.c (get_unwind_section_word): Fix snafu checking for
|
|
|
|
|
invalid word offsets in ARM unwind information.
|
|
|
|
|
|
2017-03-31 20:07:01 +08:00
|
|
|
|
2017-03-31 Pip Cet <pipcet@gmail.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Use "WebAssembly" consistently.
|
|
|
|
|
* testsuite/binutils-all/wasm32/wasm32.exp: Fix copyright notice.
|
|
|
|
|
|
2017-03-30 17:57:21 +08:00
|
|
|
|
2017-03-30 Pip Cet <pipcet@gmail.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c: Add support for wasm32 ELF format WebAssembly files.
|
|
|
|
|
(guess_is_rela): Likewise.
|
|
|
|
|
(dump_relocations): Likewise.
|
|
|
|
|
(is_32bit_abs_reloc): Likewise.
|
|
|
|
|
(is_none_reloc_): Likewise.
|
|
|
|
|
* NEWS: Mention the new support.
|
|
|
|
|
* testsuite/lib/binutils-common.exp (is_elf_format): Mark wasm32
|
|
|
|
|
as ELF target.
|
|
|
|
|
(supports_gnu_unique): Mark wasm32 as supporting STB_GNU_UNIQUE.
|
|
|
|
|
* testsuite/binutils-all/nm.exp: Mark wasm32 as requiring .size annotations.
|
|
|
|
|
* testsuite/binutils-all/wasm32: New directory.
|
|
|
|
|
* testsuite/binutils-all/wasm32/create-wasm.d: New file.
|
|
|
|
|
* testsuite/binutils-all/wasm32/create-wasm.s: Likewise.
|
|
|
|
|
* testsuite/binutils-all/wasm32/custom-section.d: Likewise.
|
|
|
|
|
* testsuite/binutils-all/wasm32/custom-section.s: Likewise.
|
|
|
|
|
* testsuite/binutils-all/wasm32/invalid-wasm-1.d: Likewise.
|
|
|
|
|
* testsuite/binutils-all/wasm32/invalid-wasm-1.s: Likewise.
|
|
|
|
|
* testsuite/binutils-all/wasm32/long-sections.d: Likewise.
|
|
|
|
|
* testsuite/binutils-all/wasm32/long-sections.s: Likewise.
|
|
|
|
|
* testsuite/binutils-all/wasm32/parse-wasm.d: Likewise.
|
|
|
|
|
* testsuite/binutils-all/wasm32/parse-wasm.s: Likewise.
|
|
|
|
|
* testsuite/binutils-all/wasm32/parse-wasm-2.d: Likewise.
|
|
|
|
|
* testsuite/binutils-all/wasm32/parse-wasm-2.s: Likewise.
|
|
|
|
|
* testsuite/binutils-all/wasm32/prepared-section.d: Likewise.
|
|
|
|
|
* testsuite/binutils-all/wasm32/prepared-section.s: Likewise.
|
|
|
|
|
* testsuite/binutils-all/wasm32/wasm32.exp: New file, run tests.
|
|
|
|
|
|
2017-03-29 11:13:06 +08:00
|
|
|
|
2017-03-29 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* doc/binutils.texi (objdump): Document PowerPC -M options.
|
|
|
|
|
|
2017-03-21 21:05:19 +08:00
|
|
|
|
2017-03-21 Andi Kleen <ak@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
* objdump.c (unwind_inlines): Add.
|
|
|
|
|
(option_values): Add OPTION_INLINES.
|
|
|
|
|
(show_line): Unwind inlines if requested.
|
|
|
|
|
(main): Parse OPTION_INLINES.
|
|
|
|
|
(usage): Document --inlines.
|
|
|
|
|
* doc/binutils.texi: Document --inlines.
|
|
|
|
|
* NEWS: Likewise.
|
|
|
|
|
|
2017-03-21 19:48:57 +08:00
|
|
|
|
2017-03-21 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (print_gnu_build_attribute_name): Allow stack
|
|
|
|
|
protection notes to contain numeric values. Use a colon rather
|
|
|
|
|
than a space to separate a string name from its values. Decode
|
|
|
|
|
the numeric value of a stack protection note.
|
|
|
|
|
* objcopy.c (merge_gnu_build_notes): Allow version notes to
|
|
|
|
|
contain extra text after the protocol version number.
|
|
|
|
|
|
2017-03-20 22:32:34 +08:00
|
|
|
|
2017-03-20 Mark Wielaard <mark@klomp.org>
|
|
|
|
|
|
|
|
|
|
* readelf.c (process_program_headers): Move dynamic_addr check
|
|
|
|
|
after .dynamic section cross check.
|
|
|
|
|
|
2017-03-18 01:36:51 +08:00
|
|
|
|
2017-03-17 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (print_gnu_build_attribute_name): Fix off by one error
|
|
|
|
|
printing the value for a build note with an ascii name.
|
|
|
|
|
|
2017-03-17 00:44:55 +08:00
|
|
|
|
2017-03-16 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (print_gnu_build_attribute_name): Add support for
|
|
|
|
|
GNU_BUILD_ATTRIBUTE_SHORT_ENUM.
|
|
|
|
|
|
2017-03-14 20:57:09 +08:00
|
|
|
|
2017-03-14 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (print_gnu_build_attribute_description): Move symbol
|
|
|
|
|
printing code to...
|
|
|
|
|
(print_symbol_for_build_attribute): New function. ...here.
|
|
|
|
|
Add to find the best symbol to associate with an OPEN note.
|
|
|
|
|
Add code to cache the symbol table and string table, so that they
|
|
|
|
|
are not loaded every time a note is displayed.
|
|
|
|
|
* testsuite/binutils-all/note-2-32.s: Add a function symbol.
|
|
|
|
|
* testsuite/binutils-all/note-2-64.s: Likewise.
|
|
|
|
|
* testsuite/binutils-all/note-2-32.d: Update expected note output.
|
|
|
|
|
* testsuite/binutils-all/note-2-64.d: Likewise.
|
|
|
|
|
|
2017-03-13 18:26:25 +08:00
|
|
|
|
2017-03-13 Alan Modra <amodra@gmail.com>
|
|
|
|
|
Taeung Song <treeze.taeung@gmail.com>
|
|
|
|
|
|
|
|
|
|
* objdump.c (update_source_path): Add abfd param. Add struct
|
|
|
|
|
stat var. Pass to try_print_file_open. Warn if source is more
|
|
|
|
|
recent than object.
|
|
|
|
|
(try_print_file_open, slurp_file): Add struct stat param to
|
|
|
|
|
return fstat.
|
|
|
|
|
(show_line): Call update_source_path with bfd.
|
|
|
|
|
|
2017-03-11 00:29:58 +08:00
|
|
|
|
2017-03-10 Chia-Hao Lo <fcamel@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21235
|
|
|
|
|
* objdump.c (main): Set do_wide with --wide.
|
|
|
|
|
|
2017-03-10 18:50:34 +08:00
|
|
|
|
2017-03-10 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (get_machine_name): Rearrange switch table in order of
|
|
|
|
|
increasing machine number. Add missing entries.
|
|
|
|
|
|
2017-03-08 23:44:04 +08:00
|
|
|
|
2017-03-08 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21231
|
|
|
|
|
* readelf.c (decode_x86_isa): Change argument to unsigned int.
|
|
|
|
|
(print_gnu_property_note): Retrieve property type and datasz as
|
|
|
|
|
4-byte integer. Consolidate property datasz check. Check
|
|
|
|
|
GNU_PROPERTY_LOPROC and GNU_PROPERTY_LOUSER.
|
|
|
|
|
* testsuite/binutils-all/i386/pr21231a.d: New file.
|
|
|
|
|
* testsuite/binutils-all/i386/pr21231a.s: Likewise.
|
|
|
|
|
* testsuite/binutils-all/i386/pr21231b.d: Likewise.
|
|
|
|
|
* testsuite/binutils-all/i386/pr21231b.s: Likewise.
|
|
|
|
|
* testsuite/binutils-all/x86-64/pr21231a.d: Likewise.
|
|
|
|
|
* testsuite/binutils-all/x86-64/pr21231a.s: Likewise.
|
|
|
|
|
* testsuite/binutils-all/x86-64/pr21231b.d: Likewise.
|
|
|
|
|
* testsuite/binutils-all/x86-64/pr21231b.s: Likewise.
|
|
|
|
|
|
2017-03-07 01:21:04 +08:00
|
|
|
|
2017-03-06 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (print_gnu_build_attribute_name): Read byte values
|
|
|
|
|
from the name string as unsigned bytes.
|
|
|
|
|
(process_notes_at): Use memcpy to copy an unterminated name
|
|
|
|
|
string.
|
|
|
|
|
|
2017-03-03 22:14:35 +08:00
|
|
|
|
2017-03-06 Sam Thursfield <sam.thursfield@codethink.co.uk>
|
|
|
|
|
|
|
|
|
|
* configure.ac (AC_CHECK_DECLS): Add asprintf.
|
|
|
|
|
* config.in: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2017-03-02 18:52:51 +08:00
|
|
|
|
2017-03-02 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (print_gnu_build_attribute_description): Use global
|
|
|
|
|
symbols for OPEN attributes if at all possible.
|
2017-03-03 01:10:20 +08:00
|
|
|
|
* objcopy.c (is_merged_note_section): Support build note sections
|
|
|
|
|
without the SHF_GNU_BUILD_NOTE section flag set.
|
2017-03-02 18:52:51 +08:00
|
|
|
|
|
2017-03-02 17:58:19 +08:00
|
|
|
|
2017-03-02 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (debug_displays_assert): New static assertion.
|
|
|
|
|
|
2017-03-02 17:06:00 +08:00
|
|
|
|
2017-03-02 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.h (enum dwarf_section_display_enum): Add loclists and rnglists.
|
|
|
|
|
|
2017-03-01 19:09:46 +08:00
|
|
|
|
2017-03-01 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (get_note_type): Add support for GNU_BUILD_NOTEs.
|
|
|
|
|
(get_gnu_elf_note_type): Add support for GNU_PROPERTY_NOTEs.
|
|
|
|
|
(decode_x86_isa): New function.
|
|
|
|
|
(print_gnu_property_note): New function.
|
|
|
|
|
(print_gnu_note): Handle GNU_PROPERTY_NOTEs.
|
|
|
|
|
(print_gnu_build_attribute_description): New function.
|
|
|
|
|
(print_gnu_build_attribute_name): New function.
|
|
|
|
|
(process_note): Add support for GNU_BUILD_NOTEs.
|
|
|
|
|
* objcopy.c (--merge-notes): New command line option.
|
|
|
|
|
(copy_options): Add merge-notes.
|
|
|
|
|
(copy_usage): Likewise.
|
|
|
|
|
(is_merge_note_section): New function.
|
|
|
|
|
(merge_gnu_build_notes): New function.
|
|
|
|
|
(copy_object): Merge note sections if asked to do so.
|
|
|
|
|
(skip_section): Add skip_copy parameter. Add support for skipping
|
|
|
|
|
merged note sections.
|
|
|
|
|
(copy_relocations_in_section): Update call to skip_section.
|
|
|
|
|
(copy_section): Likewise.
|
|
|
|
|
(copy_main): Add support for merge-notes option.
|
|
|
|
|
* doc/binutils.texi: Document the new option to objcopy.
|
|
|
|
|
* NEWS: Mention the new feature.
|
|
|
|
|
* testsuite/binutils-all/note-2-32.d: New test. Checks note
|
|
|
|
|
merging on 32-bit targets.
|
|
|
|
|
* testsuite/binutils-all/note-2-32.s: New test source file.
|
|
|
|
|
* testsuite/binutils-all/note-2-64.d: New test. Like note-2-32.d
|
|
|
|
|
but for 64-bit targets.
|
|
|
|
|
* testsuite/binutils-all/note-2-64.s: New test source file.
|
|
|
|
|
* testsuite/binutils-all/objcopy.exp: Run the new test.
|
|
|
|
|
|
2017-03-01 02:32:07 +08:00
|
|
|
|
2017-02-28 Peter Bergner <bergner@vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
* objdump.c (main): Use remove_whitespace_and_extra_commas.
|
|
|
|
|
|
2017-02-28 06:22:53 +08:00
|
|
|
|
2017-02-27 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
Fix compilation with GCC 4.4.7.
|
|
|
|
|
* dwarf.c (display_loclists_list, display_debug_rnglists_list):
|
|
|
|
|
Initialize begin and end.
|
|
|
|
|
|
2017-02-24 21:28:50 +08:00
|
|
|
|
2017-02-25 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/binutils-all/dw5.S: Replace .string with .asciz.
|
|
|
|
|
Support hpux .comm variant.
|
|
|
|
|
* testsuite/binutils-all/readelf.exp: Define HPUX when assembling
|
|
|
|
|
dw5 test for hppa64-hpux.
|
|
|
|
|
|
Tidy up readelf's use of boolean values.
* readelf.c (show_name, do_dynamic, do_syms, do_dyn_syms,
(do_reloc, do_sections, do_section_groups, do_section_details,
(do_segments, do_unwind, do_using_dynamic, do_header, do_dump,
(do_version, do_histogram, do_debugging, do_arch, do_notes,
(do_archive_index, is_32bit_elf, decompress_dumps): Use
bfd_boolean type.
(parse_args): Treat the do_* variables as booleans.
(print_vma): Return an unsigned int.
(print_symbol): Change width parameter to signed int.
(is_ia64_vms): Change return type to bfd_boolean.
(guess_is_rela): Likewise.
(slurp_rela_relocs): Likewise.
(slurp_rel_relocs): Likewise.
(dump_relocations): Likewise.
(process_file_header): Likewise.
(get_program_headers): Likewise.
(process_program_headers): Likewise.
(process_section_headers): Likewise.
(process_section_groups): Likewise.
(dump_ia64_vms_dynamic_fixups): Likewise.
(dump_ia64_vms_dynamic_relocs): Likewise.
(process_ia64_vms_dynamic_relocs): Likewise.
(process_relocs): Likewise.
(dump_ia64_unwind): Likewise.
(ia64_process_unwind): Likewise.
(dump_hppa_unwind): Likewise.
(slurp_hppa_unwind_table): Likewise.
(hppa_process_unwind): Likewise.
(decode_arm_unwind_bytecode): Likewise.
(decode_tic6x_unwind_bytecode): Likewise.
(decode_arm_unwind): Likewise.
(dump_arm_unwind): Likewise.
(arm_process_unwind): Likewise.
(process_unwind): Likewise.
(get_32bit_dynamic_section): Likewise.
(get_64bit_dynamic_section): Likewise.
(process_dynamic_section): Likewise.
(process_version_sections): Likewise.
(process_symbol_table): Likewise.
(process_syminfo): Likewise.
(apply_relocations): Likewise.
(disassemble_section): Likewise.
(dump_section_as_strings): Likewise.
(dump_section_as_bytes): Likewise.
(load_specific_debug_section): Likewise.
(load_debug_section): Likewise.
(display_debug_section): Likewise.
(process_section_contents): Likewise.
(process_attributes): Likewise.
(process_nds32_specific): Likewise.
(process_gnu_liblist): Likewise.
(print_core_note): Likewise.
(print_gnu_note): Likewise.
(print_v850_note): Likewise.
(process_netbsd_elf_note): Likewise.
(print_stapsdt_note): Likewise.
(print_ia64_vms_note): Likewise.
(process_note): Likewise.
(process_notes_at): Likewise.
(process_corefile_note_segments): Likewise.
(process_v850_notes): Likewise.
(process_note_sections): Likewise.
(process_notes): Likewise.
(process_arch_specific): Likewise.
(get_file_header): Likewise.
(process_object): Likewise.
(process_archive): Likewise.
(process_file): Likewise.
(section_subset): Make static.
(get_mips_reg_size): Return a signed integer.
(process_object): Reverse the logic of the return value.
(process_archive): Likewise.
(process_file): Likewise.
2017-02-24 22:48:19 +08:00
|
|
|
|
2017-02-24 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (show_name, do_dynamic, do_syms, do_dyn_syms,
|
|
|
|
|
(do_reloc, do_sections, do_section_groups, do_section_details,
|
|
|
|
|
(do_segments, do_unwind, do_using_dynamic, do_header, do_dump,
|
|
|
|
|
(do_version, do_histogram, do_debugging, do_arch, do_notes,
|
|
|
|
|
(do_archive_index, is_32bit_elf, decompress_dumps): Use
|
|
|
|
|
bfd_boolean type.
|
|
|
|
|
(parse_args): Treat the do_* variables as booleans.
|
|
|
|
|
(print_vma): Return an unsigned int.
|
|
|
|
|
(print_symbol): Change width parameter to signed int.
|
|
|
|
|
(is_ia64_vms): Change return type to bfd_boolean.
|
|
|
|
|
(guess_is_rela): Likewise.
|
|
|
|
|
(slurp_rela_relocs): Likewise.
|
|
|
|
|
(slurp_rel_relocs): Likewise.
|
|
|
|
|
(dump_relocations): Likewise.
|
|
|
|
|
(process_file_header): Likewise.
|
|
|
|
|
(get_program_headers): Likewise.
|
|
|
|
|
(process_program_headers): Likewise.
|
|
|
|
|
(process_section_headers): Likewise.
|
|
|
|
|
(process_section_groups): Likewise.
|
|
|
|
|
(dump_ia64_vms_dynamic_fixups): Likewise.
|
|
|
|
|
(dump_ia64_vms_dynamic_relocs): Likewise.
|
|
|
|
|
(process_ia64_vms_dynamic_relocs): Likewise.
|
|
|
|
|
(process_relocs): Likewise.
|
|
|
|
|
(dump_ia64_unwind): Likewise.
|
|
|
|
|
(ia64_process_unwind): Likewise.
|
|
|
|
|
(dump_hppa_unwind): Likewise.
|
|
|
|
|
(slurp_hppa_unwind_table): Likewise.
|
|
|
|
|
(hppa_process_unwind): Likewise.
|
|
|
|
|
(decode_arm_unwind_bytecode): Likewise.
|
|
|
|
|
(decode_tic6x_unwind_bytecode): Likewise.
|
|
|
|
|
(decode_arm_unwind): Likewise.
|
|
|
|
|
(dump_arm_unwind): Likewise.
|
|
|
|
|
(arm_process_unwind): Likewise.
|
|
|
|
|
(process_unwind): Likewise.
|
|
|
|
|
(get_32bit_dynamic_section): Likewise.
|
|
|
|
|
(get_64bit_dynamic_section): Likewise.
|
|
|
|
|
(process_dynamic_section): Likewise.
|
|
|
|
|
(process_version_sections): Likewise.
|
|
|
|
|
(process_symbol_table): Likewise.
|
|
|
|
|
(process_syminfo): Likewise.
|
|
|
|
|
(apply_relocations): Likewise.
|
|
|
|
|
(disassemble_section): Likewise.
|
|
|
|
|
(dump_section_as_strings): Likewise.
|
|
|
|
|
(dump_section_as_bytes): Likewise.
|
|
|
|
|
(load_specific_debug_section): Likewise.
|
|
|
|
|
(load_debug_section): Likewise.
|
|
|
|
|
(display_debug_section): Likewise.
|
|
|
|
|
(process_section_contents): Likewise.
|
|
|
|
|
(process_attributes): Likewise.
|
|
|
|
|
(process_nds32_specific): Likewise.
|
|
|
|
|
(process_gnu_liblist): Likewise.
|
|
|
|
|
(print_core_note): Likewise.
|
|
|
|
|
(print_gnu_note): Likewise.
|
|
|
|
|
(print_v850_note): Likewise.
|
|
|
|
|
(process_netbsd_elf_note): Likewise.
|
|
|
|
|
(print_stapsdt_note): Likewise.
|
|
|
|
|
(print_ia64_vms_note): Likewise.
|
|
|
|
|
(process_note): Likewise.
|
|
|
|
|
(process_notes_at): Likewise.
|
|
|
|
|
(process_corefile_note_segments): Likewise.
|
|
|
|
|
(process_v850_notes): Likewise.
|
|
|
|
|
(process_note_sections): Likewise.
|
|
|
|
|
(process_notes): Likewise.
|
|
|
|
|
(process_arch_specific): Likewise.
|
|
|
|
|
(get_file_header): Likewise.
|
|
|
|
|
(process_object): Likewise.
|
|
|
|
|
(process_archive): Likewise.
|
|
|
|
|
(process_file): Likewise.
|
|
|
|
|
(section_subset): Make static.
|
|
|
|
|
(get_mips_reg_size): Return a signed integer.
|
|
|
|
|
(process_object): Reverse the logic of the return value.
|
|
|
|
|
(process_archive): Likewise.
|
|
|
|
|
(process_file): Likewise.
|
2017-02-25 02:15:12 +08:00
|
|
|
|
(process_program_headers): Fix snafu - if the program headers are
|
|
|
|
|
not available then this is not a cause to fail.
|
|
|
|
|
(process_corefile_note_segments): Likewise.
|
Tidy up readelf's use of boolean values.
* readelf.c (show_name, do_dynamic, do_syms, do_dyn_syms,
(do_reloc, do_sections, do_section_groups, do_section_details,
(do_segments, do_unwind, do_using_dynamic, do_header, do_dump,
(do_version, do_histogram, do_debugging, do_arch, do_notes,
(do_archive_index, is_32bit_elf, decompress_dumps): Use
bfd_boolean type.
(parse_args): Treat the do_* variables as booleans.
(print_vma): Return an unsigned int.
(print_symbol): Change width parameter to signed int.
(is_ia64_vms): Change return type to bfd_boolean.
(guess_is_rela): Likewise.
(slurp_rela_relocs): Likewise.
(slurp_rel_relocs): Likewise.
(dump_relocations): Likewise.
(process_file_header): Likewise.
(get_program_headers): Likewise.
(process_program_headers): Likewise.
(process_section_headers): Likewise.
(process_section_groups): Likewise.
(dump_ia64_vms_dynamic_fixups): Likewise.
(dump_ia64_vms_dynamic_relocs): Likewise.
(process_ia64_vms_dynamic_relocs): Likewise.
(process_relocs): Likewise.
(dump_ia64_unwind): Likewise.
(ia64_process_unwind): Likewise.
(dump_hppa_unwind): Likewise.
(slurp_hppa_unwind_table): Likewise.
(hppa_process_unwind): Likewise.
(decode_arm_unwind_bytecode): Likewise.
(decode_tic6x_unwind_bytecode): Likewise.
(decode_arm_unwind): Likewise.
(dump_arm_unwind): Likewise.
(arm_process_unwind): Likewise.
(process_unwind): Likewise.
(get_32bit_dynamic_section): Likewise.
(get_64bit_dynamic_section): Likewise.
(process_dynamic_section): Likewise.
(process_version_sections): Likewise.
(process_symbol_table): Likewise.
(process_syminfo): Likewise.
(apply_relocations): Likewise.
(disassemble_section): Likewise.
(dump_section_as_strings): Likewise.
(dump_section_as_bytes): Likewise.
(load_specific_debug_section): Likewise.
(load_debug_section): Likewise.
(display_debug_section): Likewise.
(process_section_contents): Likewise.
(process_attributes): Likewise.
(process_nds32_specific): Likewise.
(process_gnu_liblist): Likewise.
(print_core_note): Likewise.
(print_gnu_note): Likewise.
(print_v850_note): Likewise.
(process_netbsd_elf_note): Likewise.
(print_stapsdt_note): Likewise.
(print_ia64_vms_note): Likewise.
(process_note): Likewise.
(process_notes_at): Likewise.
(process_corefile_note_segments): Likewise.
(process_v850_notes): Likewise.
(process_note_sections): Likewise.
(process_notes): Likewise.
(process_arch_specific): Likewise.
(get_file_header): Likewise.
(process_object): Likewise.
(process_archive): Likewise.
(process_file): Likewise.
(section_subset): Make static.
(get_mips_reg_size): Return a signed integer.
(process_object): Reverse the logic of the return value.
(process_archive): Likewise.
(process_file): Likewise.
2017-02-24 22:48:19 +08:00
|
|
|
|
|
2017-02-24 02:18:51 +08:00
|
|
|
|
2017-02-24 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (get_ver_flags): Tidy the formatting of the string
|
|
|
|
|
returned
|
|
|
|
|
|
2017-02-24 02:16:55 +08:00
|
|
|
|
2017-02-24 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (process_version_sections) <SHT_GNU_verdef>: Make
|
|
|
|
|
`isum' unsigned.
|
|
|
|
|
<SHT_GNU_verneed>: Likewise.
|
|
|
|
|
|
2017-02-24 02:16:11 +08:00
|
|
|
|
2017-02-24 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (process_version_sections) <SHT_GNU_verdef>: Limit
|
|
|
|
|
the number of entries processed by the section size. Don't
|
|
|
|
|
break out of the loop if `ent.vd_next' is 0.
|
|
|
|
|
|
2017-02-24 05:54:02 +08:00
|
|
|
|
2017-02-23 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/binutils-all/dw5.S: New file.
|
|
|
|
|
* testsuite/binutils-all/dw5.W: New file.
|
|
|
|
|
* testsuite/binutils-all/readelf.exp (readelf -wiaoRlL): New test.
|
|
|
|
|
|
2017-02-24 05:54:02 +08:00
|
|
|
|
2017-02-23 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (read_and_display_attr_value): Support DW_FORM_data16.
|
|
|
|
|
|
2017-02-24 05:54:01 +08:00
|
|
|
|
2017-02-23 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (display_debug_macro): Support DWARF-5. Rename
|
|
|
|
|
DW_MACRO_GNU_*.
|
|
|
|
|
|
2017-02-24 05:54:01 +08:00
|
|
|
|
2017-02-23 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (decode_location_expression): Support DW_OP_implicit_pointer,
|
|
|
|
|
DW_OP_const_type, DW_OP_regval_type, DW_OP_deref_type, DW_OP_convert
|
|
|
|
|
and DW_OP_reinterpret.
|
|
|
|
|
(read_and_display_attr_value): Support DW_AT_call_value,
|
|
|
|
|
DW_AT_call_data_value, DW_AT_call_target and
|
|
|
|
|
DW_AT_call_target_clobbered.
|
|
|
|
|
|
2017-02-24 05:54:01 +08:00
|
|
|
|
2017-02-23 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (fetch_indirect_line_string): New function.
|
|
|
|
|
(abbrev_attr): New field implicit_const.
|
|
|
|
|
(add_abbrev_attr): New parameter implicit_const.
|
|
|
|
|
(process_abbrev_section): Support DW_FORM_implicit_const.
|
|
|
|
|
(decode_location_expression): Support DW_OP_entry_value.
|
|
|
|
|
(read_and_display_attr_value): Add parameter implicit_const. Support
|
|
|
|
|
DW_FORM_line_strp and DW_FORM_implicit_const.
|
|
|
|
|
(read_and_display_attr): Add parameter implicit_const.
|
|
|
|
|
(process_debug_info): Support line_str and DWARF-5.
|
|
|
|
|
(read_debug_line_header): Support DWARF-5.
|
|
|
|
|
(display_formatted_table): New function.
|
|
|
|
|
(display_debug_lines_raw): New parameter file. Support DWARF-5.
|
|
|
|
|
(display_debug_lines_decoded): New parameter fileptr. Support DWARF-5.
|
|
|
|
|
(display_debug_lines): Pass file parameter.
|
|
|
|
|
(display_debug_macro): Update read_and_display_attr_value caller.
|
|
|
|
|
(display_debug_abbrev): Support DW_FORM_implicit_const.
|
|
|
|
|
(display_loclists_list): New function.
|
|
|
|
|
(display_loc_list): Support .debug_loclists.
|
|
|
|
|
(display_debug_ranges_list): New function from display_debug_ranges.
|
|
|
|
|
(display_debug_rnglists_list): New function.
|
|
|
|
|
(display_debug_ranges): Support .debug_rnglists.
|
|
|
|
|
(debug_displays): Add .debug_line_str, .debug_loclists and
|
|
|
|
|
.debug_rnglists.
|
|
|
|
|
* dwarf.h: Include dwarf2.h
|
|
|
|
|
(DWARF2_Internal_LineInfo): Add li_offset_size.
|
|
|
|
|
(DWARF2_Internal_CompUnit): Add cu_unit_type.
|
|
|
|
|
(enum dwarf_section_display_enum): Add line_str.
|
|
|
|
|
* readelf.c (process_section_headers): Add rnglists and loclists.
|
|
|
|
|
|
2017-02-24 05:54:00 +08:00
|
|
|
|
2017-02-23 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (display_block): Add parameter delimiter.
|
|
|
|
|
(decode_location_expression): Update display_block callers.
|
|
|
|
|
(read_and_display_attr_value): Add parameter delimiter.
|
|
|
|
|
(read_and_display_attr, display_debug_macro): Update
|
|
|
|
|
read_and_display_attr_value caller.
|
|
|
|
|
|
2017-02-24 04:37:31 +08:00
|
|
|
|
2017-02-23 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (display_loc_list): Use dwarf_vma for offset, base_address
|
|
|
|
|
and off.
|
|
|
|
|
(display_loc_list_dwo): Use dwarf_vma for offset.
|
|
|
|
|
(display_debug_loc): Use dwarf_vma for offset, base_address.
|
|
|
|
|
(struct range_entry, range_entry_compar): Use dwarf_vma for
|
|
|
|
|
ranges_offset.
|
|
|
|
|
(display_debug_ranges): Use dwarf_vma for ranges_offset, offset and
|
|
|
|
|
base_address.
|
|
|
|
|
|
2017-02-23 21:45:21 +08:00
|
|
|
|
2017-02-23 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (display_tag_value): Use an explicit signed type for
|
|
|
|
|
the tag parameter.
|
|
|
|
|
(display_gnu_attributes): Use an unsigned integer type for
|
|
|
|
|
attribute tags.
|
|
|
|
|
(display_power_gnu_attribute): Likewise.
|
|
|
|
|
(display_s390_gnu_attribute): Likewise.
|
|
|
|
|
(display_sparc_hwcaps): Likewise.
|
|
|
|
|
(display_sparc_hwcaps2): Likewise.
|
|
|
|
|
(display_sparc_gnu_attribute): Likewise.
|
|
|
|
|
(display_mips_gnu_attribute): Likewise.
|
|
|
|
|
(display_tic6x_attribute): Likewise.
|
|
|
|
|
(display_raw_attribute): Likewise.
|
|
|
|
|
(process_attributes): Likewise.
|
|
|
|
|
(process_arm_specific): Delete redundant function.
|
|
|
|
|
(process_power_specific): Likewise.
|
|
|
|
|
(process_s390_specific): Likewise.
|
|
|
|
|
(process_sparc_specific): Likewise.
|
|
|
|
|
(process_tic6x_specific): Likewise.
|
|
|
|
|
(process_msp430x_specific): Likewise.
|
|
|
|
|
(display_public_gnu_attributes): New function. Displays known
|
|
|
|
|
information about an unknown gnu attribute.
|
|
|
|
|
(display_generic_attribute): New function. Calls
|
|
|
|
|
display_tag_value for non-nul tags.
|
|
|
|
|
(process_arch_specific): Call process_attributes even for
|
|
|
|
|
architectures not known to specifically support gnu attributes.
|
|
|
|
|
|
2017-02-23 03:22:59 +08:00
|
|
|
|
2017-02-22 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf.c (decode_location_expression): Display also OP.
|
|
|
|
|
|
2017-02-23 02:09:41 +08:00
|
|
|
|
2017-02-22 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (process_version_sections) <SHT_GNU_verdef>: Print a
|
|
|
|
|
new line between the heading and the first version definition
|
|
|
|
|
entry.
|
|
|
|
|
|
2017-02-20 22:40:39 +08:00
|
|
|
|
2017-02-20 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21156
|
|
|
|
|
* dwarf.c (cu_tu_indexes_read): Move into...
|
|
|
|
|
(load_cu_tu_indexes): ... here. Change the variable into
|
|
|
|
|
tri-state. Change the function into boolean, returning
|
|
|
|
|
false if the indicies could not be loaded.
|
|
|
|
|
(find_cu_tu_set): Return NULL if the indicies could not be
|
|
|
|
|
loaded.
|
|
|
|
|
|
2017-02-17 23:59:45 +08:00
|
|
|
|
2017-02-17 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21156
|
|
|
|
|
* readelf.c (find_section_in_set): Test for invalid section
|
|
|
|
|
indicies.
|
|
|
|
|
|
2017-02-17 23:31:54 +08:00
|
|
|
|
2017-02-17 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (get_section_type_name): Add decoding of GNU section
|
|
|
|
|
types.
|
|
|
|
|
|
2017-02-15 17:42:38 +08:00
|
|
|
|
2017-02-15 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* MAINTAINERS: (MIPS, MN10300): Move Eric Christopher to Past
|
|
|
|
|
Maintainers section.
|
|
|
|
|
|
2017-02-14 23:10:34 +08:00
|
|
|
|
2017-02-14 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21159
|
|
|
|
|
* readelf.c (dump_section_as_strings): Reset the start address if
|
|
|
|
|
no decompression is perfromed.
|
|
|
|
|
(dump_section_as_bytes): Likewise.
|
|
|
|
|
|
2017-02-14 22:17:09 +08:00
|
|
|
|
2017-02-14 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21158
|
|
|
|
|
* rddbg.c (read_symbol_stabs_debugging_info): Check for a null or
|
|
|
|
|
empty symbol name.
|
|
|
|
|
|
2017-02-14 22:07:29 +08:00
|
|
|
|
2017-02-14 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21157
|
|
|
|
|
* stabs.c (parse_stab_enum_type): Check for corrupt NAME:VALUE
|
|
|
|
|
pairs.
|
|
|
|
|
(parse_number): Exit early if passed an empty string.
|
|
|
|
|
|
2017-02-14 21:24:09 +08:00
|
|
|
|
2017-02-14 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21155
|
|
|
|
|
* readelf.c (IN_RANGE): New macro. Tests for an address + offset
|
|
|
|
|
being within a given range.
|
|
|
|
|
(target_specific_reloc_handling): Use macro to test for underflow
|
|
|
|
|
as well as overflow of reloc offset.
|
|
|
|
|
|
2017-02-14 01:23:10 +08:00
|
|
|
|
2017-02-13 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21150
|
|
|
|
|
* nm.c (file_symbol): Add test of string length before testing
|
|
|
|
|
string characters.
|
|
|
|
|
|
2017-02-13 23:04:37 +08:00
|
|
|
|
2017-02-13 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21135
|
|
|
|
|
* readelf.c (dump_section_as_bytes): Handle the case where
|
|
|
|
|
uncompress_section_contents returns false.
|
2017-02-13 23:19:48 +08:00
|
|
|
|
(dump_section_as_bytes, load_specific_debug_section): Likewise.
|
2017-02-13 23:04:37 +08:00
|
|
|
|
|
2017-02-13 22:52:48 +08:00
|
|
|
|
2017-02-13 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21149
|
|
|
|
|
* readelf.c (get_compression_header): Add size parameter. Check
|
|
|
|
|
size against sizeof compression header before attempting to
|
|
|
|
|
extract the header.
|
|
|
|
|
(process_section_headers): Pass size to get_compression_header.
|
|
|
|
|
(dump_section_as_strings): Likewise.
|
|
|
|
|
(dump_section_as_bytes): Likewise.
|
|
|
|
|
(load_specific_debug_section): Likewise.
|
|
|
|
|
|
2017-02-13 22:35:24 +08:00
|
|
|
|
2017-02-13 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21148
|
|
|
|
|
* readelf.c (process_version_sections): Include size of auxillary
|
|
|
|
|
version information when checking for buffer overflow.
|
|
|
|
|
|
2017-02-13 22:17:07 +08:00
|
|
|
|
2017-02-13 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21147
|
|
|
|
|
* readelf.c (process_section_contents): Fix off by one error
|
|
|
|
|
reporting un-dumped sections.
|
|
|
|
|
|
2017-02-13 22:03:22 +08:00
|
|
|
|
2017-02-13 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21139
|
|
|
|
|
* readelf.c (target_specific_reloc_handling): Add num_syms
|
|
|
|
|
parameter. Check for symbol table overflow before accessing
|
|
|
|
|
symbol value. If reloc pointer is NULL, discard all saved state.
|
|
|
|
|
(apply_relocations): Pass num_syms to target_specific_reloc_handling.
|
|
|
|
|
Call target_specific_reloc_handling with a NULL reloc pointer
|
|
|
|
|
after processing all of the relocs.
|
|
|
|
|
|
2017-02-13 21:08:32 +08:00
|
|
|
|
2017-02-13 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21137
|
|
|
|
|
* readelf.c (target_specific_reloc_handling): Add end parameter.
|
|
|
|
|
Check for buffer overflow before writing relocated values.
|
|
|
|
|
(apply_relocations): Pass end to target_specific_reloc_handling.
|
|
|
|
|
|
2017-01-27 21:20:24 +08:00
|
|
|
|
2017-01-27 Dilyan Palauzov <dilyan.palauzov@aegee.org>
|
|
|
|
|
Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 20343
|
|
|
|
|
* doc/binutils.texi (ar): Extend documentation of the --plugin
|
|
|
|
|
option. Include a description of where the plugins should be
|
|
|
|
|
located.
|
|
|
|
|
(nm): Likewise.
|
|
|
|
|
|
2017-01-24 00:16:55 +08:00
|
|
|
|
2017-01-23 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* MAINTAINERS: Add Bernd to Past Maintainers section.
|
2017-01-24 00:28:46 +08:00
|
|
|
|
(SCORE): Remove Mei Ligang as maintainer. Add to Past Maintainers
|
2017-01-24 00:20:57 +08:00
|
|
|
|
section.
|
2017-01-24 00:16:55 +08:00
|
|
|
|
|
2017-01-23 22:00:23 +08:00
|
|
|
|
2017-01-23 Bernd Schmidt <bschmidt@redhat.com>
|
|
|
|
|
|
|
|
|
|
* MAINTAINERS (BFIN): Remove myself as Blackfin maintainer.
|
|
|
|
|
|
2016-12-28 21:22:44 +08:00
|
|
|
|
2017-01-20 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* objdump.c (dump_section_header): Extract max section name length
|
|
|
|
|
from data parameter, use this when formatting output.
|
|
|
|
|
(find_longest_section_name): New function.
|
|
|
|
|
(dump_headers): Calculate longest section name when in wide mode,
|
|
|
|
|
reformat to unify printing of header line.
|
|
|
|
|
|
2017-01-18 21:38:27 +08:00
|
|
|
|
2017-01-18 Bernhard Rosenkranzer <bero@lindev.ch>
|
|
|
|
|
|
|
|
|
|
PR 21059
|
|
|
|
|
* arlex.l: Support processing with flex 2.6.3.
|
|
|
|
|
* deflex.l: Likewise.
|
|
|
|
|
|
2017-01-18 19:40:06 +08:00
|
|
|
|
2017-01-17 Dmitry Timoshkov <dmitry@baikal.ru>
|
|
|
|
|
|
|
|
|
|
* resbin.c: Optional dialog control data immediately follows
|
|
|
|
|
the control description without alignment.
|
|
|
|
|
* testsuite/binutils-all/windres/controldata.rc: New test.
|
|
|
|
|
source.
|
|
|
|
|
* testsuite/binutils-all/windres/controldata.rsd: New test.
|
|
|
|
|
|
2017-01-13 00:56:54 +08:00
|
|
|
|
2017-01-12 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/20876
|
|
|
|
|
* NEWS: Mention the new feature.
|
|
|
|
|
* testsuite/binutils-all/objdump.exp (test_build_id_debuglink):
|
|
|
|
|
New proc to test the location of separate debug info files using
|
|
|
|
|
the build-id method.
|
|
|
|
|
|
2017-01-10 19:45:12 +08:00
|
|
|
|
2017-01-10 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 21034
|
|
|
|
|
* stabs.c (parse_stab_members): Fix thinko checking for g++
|
|
|
|
|
version 1 stabs information.
|
|
|
|
|
|
2017-01-10 00:49:48 +08:00
|
|
|
|
2017-01-09 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* objdump.c (display_file): Add new parameter 'last_file'. If
|
|
|
|
|
last_file is true, do not call bfd_close at the end of the
|
|
|
|
|
function.
|
|
|
|
|
(main): Set the value of the last_file parameter when calling
|
|
|
|
|
display_file.
|
|
|
|
|
|
2017-01-09 09:38:00 +08:00
|
|
|
|
2017-01-09 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (process_section_headers): Correct .rel.dyn/.rela.dyn
|
|
|
|
|
comment.
|
|
|
|
|
|
2017-01-06 20:24:54 +08:00
|
|
|
|
2017-01-06 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* MAINTAINERS: Move Paul Brook to the Past Maintainers section.
|
|
|
|
|
|
2017-01-05 00:05:22 +08:00
|
|
|
|
2017-01-04 Dilan Palauzov <dilyan.palauzov@aegee.org>
|
|
|
|
|
|
|
|
|
|
PR 20958
|
|
|
|
|
* syslex.l (option): Add noyywrap
|
|
|
|
|
(yywrap): Delete.
|
|
|
|
|
|
2017-01-02 11:36:43 +08:00
|
|
|
|
2017-01-02 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
Update year range in copyright notice of all files.
|
|
|
|
|
|
2017-01-02 11:25:05 +08:00
|
|
|
|
For older changes see ChangeLog-2016
|
2016-01-01 18:44:31 +08:00
|
|
|
|
|
2017-01-02 11:25:05 +08:00
|
|
|
|
Copyright (C) 2017 Free Software Foundation, Inc.
|
2016-01-01 18:44:31 +08:00
|
|
|
|
|
|
|
|
|
Copying and distribution of this file, with or without modification,
|
|
|
|
|
are permitted in any medium without royalty provided the copyright
|
|
|
|
|
notice and this notice are preserved.
|
|
|
|
|
|
|
|
|
|
Local Variables:
|
|
|
|
|
mode: change-log
|
|
|
|
|
left-margin: 8
|
|
|
|
|
fill-column: 74
|
|
|
|
|
version-control: never
|
|
|
|
|
End:
|