Arm: Fix Arm disassembler mapping symbol search.
Similar to the AArch64 patches the Arm disassembler has the same issues with
out of order sections but also a few short comings.
For one thing there are multiple code blocks to determine mapping symbols, and
they all work slightly different, and neither fully correct. The first thing
this patch does is centralise the mapping symbols search into one function
mapping_symbol_for_insn. This function is then updated to perform a search in
a similar way as AArch64.
Their used to be a value has_mapping_symbols which was used to determine the
default disassembly for objects that have no mapping symbols. The problem with
the approach was that it was determining this value in the same loop that needed
it, which is why this field could take on the states -1, 0, 1 where -1 means
"don't know". However this means that until you actually find a mapping symbol
or reach the end of the disassembly glob, you don't know if you did the right
action or not, and if you didn't you can't correct it anymore.
This is why the two jump-reloc-veneers-* testcases end up disassembling some
insn as data when they shouldn't.
Out of order here refers to an object file where sections are not listed in a
monotonic increasing VMA order.
The ELF ABI for Arm [1] specifies the following for mapping symbols:
1) A text section must always have a corresponding mapping symbol at it's
start.
2) Data sections do not require any mapping symbols.
3) The range of a mapping symbol extends from the address it starts on up to
the next mapping symbol (exclusive) or section end (inclusive).
However there is no defined order between a symbol and it's corresponding
mapping symbol in the symbol table. This means that while in general we look
up for a corresponding mapping symbol, we have to make at least one check of
the symbol below the address being disassembled.
When disassembling different PCs within the same section, the search for mapping
symbol can be cached somewhat. We know that the mapping symbol corresponding to
the current PC is either the previous one used, or one at the same address as
the current PC.
However this optimization and mapping symbol search must stop as soon as we
reach the end or start of the section. Furthermore if we're only disassembling
a part of a section, the search is a allowed to search further than the current
chunk, but is not allowed to search past it (The mapping symbol if there, must
be at the same address, so in practice we usually stop at PC+4).
lastly, since only data sections don't require a mapping symbol the default
mapping type should be DATA and not INSN as previously defined, however if the
binary has had all its symbols stripped than this isn't very useful. To fix
this we determine the default based on the section flags. This will allow the
disassembler to be more useful on stripped binaries. If there is no section
than we assume you to be disassembling INSN.
[1] https://developer.arm.com/docs/ihi0044/latest/elf-for-the-arm-architecture-abi-2018q4-documentation#aaelf32-table4-7
binutils/ChangeLog:
* testsuite/binutils-all/arm/in-order-all.d: New test.
* testsuite/binutils-all/arm/in-order.d: New test.
* testsuite/binutils-all/arm/objdump.exp: Support .d tests.
* testsuite/binutils-all/arm/out-of-order-all.d: New test.
* testsuite/binutils-all/arm/out-of-order.T: New test.
* testsuite/binutils-all/arm/out-of-order.d: New test.
* testsuite/binutils-all/arm/out-of-order.s: New test.
ld/ChangeLog:
* testsuite/ld-arm/jump-reloc-veneers-cond-long.d: Update disassembly.
* testsuite/ld-arm/jump-reloc-veneers-long.d: Update disassembly.
opcodes/ChangeLog:
* arm-dis.c (struct arm_private_data): Remove has_mapping_symbols.
(mapping_symbol_for_insn): Implement new algorithm.
(print_insn): Remove duplicate code.
2019-03-25 20:16:17 +08:00
|
|
|
|
2019-03-25 Tamar Christina <tamar.christina@arm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/binutils-all/arm/in-order-all.d: New test.
|
|
|
|
|
* testsuite/binutils-all/arm/in-order.d: New test.
|
|
|
|
|
* testsuite/binutils-all/arm/objdump.exp: Support .d tests.
|
|
|
|
|
* testsuite/binutils-all/arm/out-of-order-all.d: New test.
|
|
|
|
|
* testsuite/binutils-all/arm/out-of-order.T: New test.
|
|
|
|
|
* testsuite/binutils-all/arm/out-of-order.d: New test.
|
|
|
|
|
* testsuite/binutils-all/arm/out-of-order.s: New test.
|
|
|
|
|
|
|
|
|
|
|
2019-03-25 20:14:37 +08:00
|
|
|
|
2019-03-25 Tamar Christina <tamar.christina@arm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/binutils-all/aarch64/in-order-all.d: New test.
|
|
|
|
|
* testsuite/binutils-all/aarch64/out-of-order-all.d: New test.
|
|
|
|
|
* testsuite/binutils-all/aarch64/out-of-order.d:
|
|
|
|
|
|
2019-03-25 20:12:03 +08:00
|
|
|
|
2019-03-25 Tamar Christina <tamar.christina@arm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/binutils-all/aarch64/in-order.d: New test.
|
|
|
|
|
* testsuite/binutils-all/aarch64/out-of-order.d: Disassemble data as
|
|
|
|
|
well.
|
|
|
|
|
|
2019-03-25 20:08:53 +08:00
|
|
|
|
2019-03-25 Tamar Christina <tamar.christina@arm.com>
|
|
|
|
|
|
|
|
|
|
* objdump.c (disassemble_bytes): Pass stop_offset.
|
|
|
|
|
* testsuite/binutils-all/aarch64/out-of-order.T: New test.
|
|
|
|
|
* testsuite/binutils-all/aarch64/out-of-order.d: New test.
|
|
|
|
|
* testsuite/binutils-all/aarch64/out-of-order.s: New test.
|
|
|
|
|
|
2019-03-19 21:39:30 +08:00
|
|
|
|
2019-03-19 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 24360
|
|
|
|
|
* objdump.c (load_specific_debug_section): Check that the amount
|
|
|
|
|
of memory to be allocated matches the size of the section.
|
|
|
|
|
|
2019-03-13 19:09:10 +08:00
|
|
|
|
2019-03-13 Sudakshina Das <sudi.das@arm.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (get_aarch64_dynamic_type): Add case for
|
|
|
|
|
DT_AARCH64_PAC_PLT.
|
|
|
|
|
(dynamic_section_aarch64_val): Likewise.
|
|
|
|
|
|
[BFD, LD, AArch64, 2/3] Add --force-bti to enable BTI and to select BTI enabled PLTs
This is part of the patch series to add support for BTI and
PAC in AArch64 linker.
1) This patch adds a new ld command line option: --force-bti.
In the presence of this option, the linker enables BTI with the
GNU_PROPERTY_AARCH64_FEATURE_1_BTI feature. This gives out warning
in case of missing gnu notes for BTI in inputs.
2) It also defines a new set of BTI enabled PLTs. These are used either
when all the inputs are marked with GNU_PROPERTY_AARCH64_FEATURE_1_BTI
or when the new --force-bti option is used. This required adding new
fields in elf_aarch64_link_hash_table so that we could make the PLT
related information more generic.
3) It also defines a dynamic tag DT_AARCH64_BTI_PLT. The linker uses
this whenever it picks BTI enabled PLTs.
All these are made according to the new AArch64 ELF ABI
https://developer.arm.com/docs/ihi0056/latest/elf-for-the-arm-64-bit-architecture-aarch64-abi-2018q4
*** bfd/ChangeLog ***
2019-03-13 Sudakshina Das <sudi.das@arm.com>
Szabolcs Nagy <szabolcs.nagy@arm.com>
* bfd-in.h (aarch64_plt_type, aarch64_enable_bti_type): New.
(aarch64_bti_pac_info): New.
(bfd_elf64_aarch64_set_options): Add aarch64_bti_pac_info argument.
(bfd_elf32_aarch64_set_options): Likewise.
* bfd-in2.h: Regenerate
* elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): New.
(PLT_BTI_SMALL_ENTRY_SIZE, PLT_BTI_TLSDESC_ENTRY_SIZE): New.
(elfNN_aarch64_small_plt0_bti_entry): New.
(elfNN_aarch64_small_plt_bti_entry): New.
(elfNN_aarch64_tlsdesc_small_plt_bti_entry): New.
(elf_aarch64_obj_tdata): Add no_bti_warn and plt_type fields.
(elf_aarch64_link_hash_table): Add plt0_entry, plt_entry and
tlsdesc_plt_entry_size fields.
(elfNN_aarch64_link_hash_table_create): Initialise the new fields.
(setup_plt_values): New helper function.
(bfd_elfNN_aarch64_set_options): Use new bp_info to set plt sizes and
bti enable type.
(elfNN_aarch64_allocate_dynrelocs): Use new size members instead of
fixed macros.
(elfNN_aarch64_size_dynamic_sections): Likewise and add checks.
(elfNN_aarch64_create_small_pltn_entry): Use new generic pointers
to plt stubs instead of fixed ones and update filling them according
to the need for bti.
(elfNN_aarch64_init_small_plt0_entry): Likewise.
(elfNN_aarch64_finish_dynamic_sections): Likewise.
(get_plt_type, elfNN_aarch64_get_synthetic_symtab): New.
(elfNN_aarch64_plt_sym_val): Update size accordingly.
(elfNN_aarch64_link_setup_gnu_properties): Set up plts if BTI GNU NOTE
is set.
(bfd_elfNN_get_synthetic_symtab): Define.
(elfNN_aarch64_merge_gnu_properties): Give out warning with --force-bti
and mising BTI NOTE SECTION.
*** binutils/ChangeLog ***
2019-03-13 Sudakshina Das <sudi.das@arm.com>
Szabolcs Nagy <szabolcs.nagy@arm.com>
* readelf.c (get_aarch64_dynamic_type): New.
(get_dynamic_type): Use above for EM_AARCH64.
(dynamic_section_aarch64_val): New.
(process_dynamic_section): Use above for EM_AARCH64.
*** include/ChangeLog ***
2019-03-13 Sudakshina Das <sudi.das@arm.com>
Szabolcs Nagy <szabolcs.nagy@arm.com>
* elf/aarch64.h (DT_AARCH64_BTI_PLT): New.
*** ld/ChangeLog ***
2019-03-13 Sudakshina Das <sudi.das@arm.com>
Szabolcs Nagy <szabolcs.nagy@arm.com>
* NEWS: Document --force-bti.
* emultempl/aarch64elf.em (plt_type, bti_type, OPTION_FORCE_BTI): New.
(PARSE_AND_LIST_SHORTOPTS, PARSE_AND_LIST_OPTIONS): Add force-bti.
(PARSE_AND_LIST_ARGS_CASES): Handle OPTION_FORCE_BTI.
* testsuite/ld-aarch64/aarch64-elf.exp: Add all the tests below.
* testsuite/ld-aarch64/bti-plt-1.d: New test.
* testsuite/ld-aarch64/bti-plt-1.s: New test.
* testsuite/ld-aarch64/bti-plt-2.s: New test.
* testsuite/ld-aarch64/bti-plt-2.d: New test.
* testsuite/ld-aarch64/bti-plt-3.d: New test.
* testsuite/ld-aarch64/bti-plt-4.d: New test.
* testsuite/ld-aarch64/bti-plt-5.d: New test.
* testsuite/ld-aarch64/bti-plt-6.d: New test.
* testsuite/ld-aarch64/bti-plt-7.d: New test.
* testsuite/ld-aarch64/bti-plt-so.s: New test.
* testsuite/ld-aarch64/bti-plt.ld: New test.
2019-03-13 18:54:30 +08:00
|
|
|
|
2019-03-13 Sudakshina Das <sudi.das@arm.com>
|
|
|
|
|
Szabolcs Nagy <szabolcs.nagy@arm.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (get_aarch64_dynamic_type): New.
|
|
|
|
|
(get_dynamic_type): Use above for EM_AARCH64.
|
|
|
|
|
(dynamic_section_aarch64_val): New.
|
|
|
|
|
(process_dynamic_section): Use above for EM_AARCH64.
|
|
|
|
|
|
2019-03-13 18:42:27 +08:00
|
|
|
|
2019-03-13 Sudakshina Das <sudi.das@arm.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (decode_aarch64_feature_1_and): New.
|
|
|
|
|
(print_gnu_property_note): Add case for AArch64 gnu notes.
|
|
|
|
|
|
2019-03-12 13:49:25 +08:00
|
|
|
|
2019-03-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* objdump.c (load_specific_debug_section): Don't compare section
|
|
|
|
|
size against file size.
|
|
|
|
|
(dump_relocs_in_section): Don't compare reloc size against file size.
|
|
|
|
|
Print "failed to read relocs" on bfd_get_reloc_upper_bound error.
|
|
|
|
|
|
2019-03-06 01:32:35 +08:00
|
|
|
|
2019-03-05 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 24295
|
|
|
|
|
* doc/binutils.texi (ar cmdline): Fix spelling mistake.
|
|
|
|
|
|
2019-03-06 00:04:18 +08:00
|
|
|
|
2019-03-05 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/sv.po: Updated Swedish translation.
|
|
|
|
|
|
2019-03-05 18:09:50 +08:00
|
|
|
|
2019-03-05 Matthew Malcomson <matthew.malcomson@arm.com>
|
|
|
|
|
|
|
|
|
|
PR 24287
|
|
|
|
|
* testsuite/lib/binutils-common.exp (run_dump_test): Replace a use
|
|
|
|
|
of "lmap" with a "foreach" loop.
|
|
|
|
|
|
2019-03-04 21:11:08 +08:00
|
|
|
|
2019-03-04 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 24281
|
|
|
|
|
* objcopy.c (copy_archive): Do not copy thin archives.
|
|
|
|
|
|
2019-02-27 21:15:10 +08:00
|
|
|
|
2019-02-27 Matthew Malcomson <matthew.malcomson@arm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/lib/binutils-common.exp: Allow multiple "as" lines.
|
|
|
|
|
|
2019-02-25 20:15:41 +08:00
|
|
|
|
2019-02-25 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* objdump.c (sym_ok): New function.
|
|
|
|
|
(find_symbol_for_address): Use new function.
|
|
|
|
|
(disassemble_section): Compare sections by name, not pointer.
|
|
|
|
|
(dump_dwarf): Move code to initialise byte_get pointer and iterate
|
|
|
|
|
over separate debug files from here to ...
|
|
|
|
|
(dump_bfd): ... here. Add parameter indicating that a separate
|
|
|
|
|
debug info file is being dumped. For main file, pull in the
|
|
|
|
|
symbol tables from all separate debug info files.
|
|
|
|
|
(display_object): Update call to dump_bfd.
|
|
|
|
|
* doc/binutils.texi: Document extened behaviour of the
|
|
|
|
|
--dwarf=follow-links option.
|
|
|
|
|
* NEWS: Mention this new feature.
|
|
|
|
|
* testsuite/binutils-all/objdump.WK2: Update expected output.
|
|
|
|
|
* testsuite/binutils-all/objdump.exp (test_follow_debuglink): Add
|
|
|
|
|
options and dump file parameters.
|
|
|
|
|
Add extra test.
|
|
|
|
|
* testsuite/binutils-all/objdump.WK3: New file.
|
|
|
|
|
* testsuite/binutils-all/readelf.exp: Change expected output for
|
|
|
|
|
readelf -wKis test.
|
|
|
|
|
* testsuite/binutils-all/readelf.wKis: New file.
|
|
|
|
|
|
2019-02-22 18:36:24 +08:00
|
|
|
|
2019-02-22 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 23843
|
|
|
|
|
* dwarf.h (struct separate_info): New structure for containing
|
|
|
|
|
information on separate debug info files.
|
|
|
|
|
* dwarf.c (struct dwo_info): New structure for containing dwo
|
|
|
|
|
links.
|
|
|
|
|
(first_dwo_info): Chain of dwo_info structures.
|
|
|
|
|
(first_separate_file): Chain of separate_info structures.
|
|
|
|
|
(separate_debug_file, separate_debug_filename): Delete.
|
|
|
|
|
(fetch_alt_indirect_string): Scan all separate debug info files
|
|
|
|
|
for the requested string.
|
|
|
|
|
(add_dwo_info): New function.
|
|
|
|
|
(add_dwo_name): New function.
|
|
|
|
|
(add_dwo_dir): New function.
|
|
|
|
|
(add_dwo_id: New function.
|
|
|
|
|
(free_dwo_info): New function.
|
|
|
|
|
(read_and_display_attr_value): Store DWO data using the new
|
|
|
|
|
functions.
|
|
|
|
|
(load_debug_section_with_follow): If necessary, scan the list of
|
|
|
|
|
separate debug info files for the requested section.
|
|
|
|
|
(add_separate_debug_file): New function.
|
|
|
|
|
(load_separate_debug_info): Call add_separate_debug_file to store
|
|
|
|
|
the information on the newly loaded file.
|
|
|
|
|
(load_dwo_file): Likewise.
|
|
|
|
|
(load_separate_debif_file): Rename to load_separate_debug_files.
|
|
|
|
|
Change return type to boolean. If following links then attempt to
|
|
|
|
|
load all separate debug info files, not just the first one.
|
|
|
|
|
(free_debug_memory): Release memory in dwo_info and separate_info
|
|
|
|
|
chains.
|
|
|
|
|
* objdump.c (dump_dwarf): Iterate over all loaded debg info files.
|
|
|
|
|
* readelf.c (process_object): Likewise.
|
|
|
|
|
* doc/debug.options.texi: Update descriptions of links and
|
|
|
|
|
follow-links options.
|
|
|
|
|
* testsuite/binutils-all/objdump.WK2: Update expected output.
|
|
|
|
|
* testsuite/binutils-all/readelf.k2: Likewise.
|
|
|
|
|
* NEWS: Announce the new feature.
|
|
|
|
|
|
2019-02-21 18:54:12 +08:00
|
|
|
|
2019-02-21 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 24247
|
|
|
|
|
* unwind-ia64.c: Include sysdep.h.
|
|
|
|
|
(unw_decode_x1): Check current pointer against end pointer before
|
|
|
|
|
accessing memory.
|
|
|
|
|
(unw_decode_x2): Likewise.
|
|
|
|
|
(unw_decode_x3): Likewise.
|
|
|
|
|
(unw_decode_x4): Likewise.
|
|
|
|
|
(unw_decode_r2): Likewise.
|
|
|
|
|
(unw_decode_p2_p5): Likewise.
|
|
|
|
|
(unw_decode_p7_p10): Likewise.
|
|
|
|
|
(unw_decode): Likewise.
|
|
|
|
|
|
2019-02-20 23:35:06 +08:00
|
|
|
|
2019-02-20 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
2019-02-21 01:51:21 +08:00
|
|
|
|
PR 24246
|
|
|
|
|
* readelf.c (print_stapsdt_note): Harden against corrupt notes.
|
|
|
|
|
|
2019-02-21 01:25:33 +08:00
|
|
|
|
PR 24244
|
|
|
|
|
* unwind-ia64.c (unw_decode_uleb128): Add end parameter, use it to
|
|
|
|
|
prevent walking off the end of the buffer.
|
|
|
|
|
(unw_decode_x1): Add end paramter, pass it to unw_decode_uleb128.
|
|
|
|
|
(unw_decode_x2): Likewise.
|
|
|
|
|
(unw_decode_x3): Likewise.
|
|
|
|
|
(unw_decode_x4): Likewise.
|
|
|
|
|
(unw_decode_r2): Pass the end parameter to unw_decode_uleb128.
|
|
|
|
|
(unw_decode_r3): Likewise.
|
|
|
|
|
(unw_decode_p7_p10): Likewise.
|
|
|
|
|
(unw_decode_b2): Likewise.
|
|
|
|
|
(unw_decode_b3_x4): Likewise.
|
|
|
|
|
|
2019-02-21 01:03:47 +08:00
|
|
|
|
PR 24243
|
|
|
|
|
* readelf.c (process_mips_specific): Check for an options section
|
|
|
|
|
that is too small to even contain a single option.
|
2019-02-20 23:35:06 +08:00
|
|
|
|
|
2019-02-21 01:25:33 +08:00
|
|
|
|
PR 24242
|
|
|
|
|
* readelf.c (print_ia64_vms_note): Harden against corrupt notes.
|
|
|
|
|
|
2019-02-20 15:52:50 +08:00
|
|
|
|
2019-02-20 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 24132
|
|
|
|
|
PR 24138
|
|
|
|
|
* readelf.c (get_data): Avoid possibility of overflow when
|
|
|
|
|
checking for a read that may extend past end of file.
|
|
|
|
|
(process_program_headers): Likewise.
|
|
|
|
|
|
2019-02-20 09:36:31 +08:00
|
|
|
|
2019-02-20 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 24233
|
|
|
|
|
* objdump.c (dump_bfd_private_header): Print warning if
|
|
|
|
|
bfd_print_private_bfd_data returns false.
|
|
|
|
|
|
2019-02-12 19:05:21 +08:00
|
|
|
|
2019-02-12 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 23440
|
|
|
|
|
* README-how-to-make-a-release: Use git clean to delete spurious
|
|
|
|
|
files from the local source repository.
|
|
|
|
|
|
binutils: Add new GNU format mode to `size` utility
The size tool currently defaults to berkeley format output. However,
this output format has a weird quirk, read-only data is counted
against the text sections, not the data sections.
The code offers no real explanation for why this is, but I'm reluctant
to change it for two reasons, first, I'm assuming it probably makes
sense in some case that I'm not thinking of (maybe a target where
sections are not marked executable, and so there's no distinction
between read-only data and code), and second, the code has been this
way for at least 20 years, I worry that changing things now might
cause more confusion than it solves.
This commit then introduces a new output format for the size tool,
this new format displays the results in a similar manor to the
berkeley format, but counts read-only data in the data column, and
only executable sections are counted in the text column.
Given that this is a brand new output format I've gone ahead and
simplified things a little, while the berkeley format displays the
total twice, once in decimal and once in hex, the new display format
just displays the total in decimal. Of course, there's still the
'--radix' option which can be used to display all the results in
hexadecimal or octal.
I've called the new format 'gnu', so '--format=gnu' or '-G' are used
to access it.
binutils/ChangeLog:
* size.c (berkeley_format): Delete.
(enum output_format): New enum.
(selected_output_format): New variable.
(usage): Update to mention GNU format.
(main): Update to extract options, and select format as needed.
Handle GNU format where needed.
(berkeley_sum): Renamed to...
(berkeley_or_gnu_sum): ...this, and updated to handle both formats.
(berkeley_format): Renamed to...
(berkeley_or_gnu_format): ...this, and updated to handle both
formats.
(print_sizes): Handle GNU format.
* doc/binutils.texi (size): Document new GNU format.
* testsuite/binutils-all/size.exp: Add test of extended
functionality.
* NEWS: Mention new functionality.
2019-01-24 22:27:27 +08:00
|
|
|
|
2019-02-08 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* size.c (berkeley_format): Delete.
|
|
|
|
|
(enum output_format): New enum.
|
|
|
|
|
(selected_output_format): New variable.
|
|
|
|
|
(usage): Update to mention GNU format.
|
|
|
|
|
(main): Update to extract options, and select format as needed.
|
|
|
|
|
Handle GNU format where needed.
|
|
|
|
|
(berkeley_sum): Renamed to...
|
|
|
|
|
(berkeley_or_gnu_sum): ...this, and updated to handle both formats.
|
|
|
|
|
(berkeley_format): Renamed to...
|
|
|
|
|
(berkeley_or_gnu_format): ...this, and updated to handle both
|
|
|
|
|
formats.
|
|
|
|
|
(print_sizes): Handle GNU format.
|
|
|
|
|
* doc/binutils.texi (size): Document new GNU format.
|
|
|
|
|
* testsuite/binutils-all/size.exp: Add test of extended
|
|
|
|
|
functionality.
|
|
|
|
|
* NEWS: Mention new functionality.
|
|
|
|
|
|
2019-01-31 18:14:09 +08:00
|
|
|
|
2019-02-08 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* doc/binutils.texi (size): Update example output for Berkeley
|
|
|
|
|
format output.
|
|
|
|
|
|
2019-02-07 22:30:02 +08:00
|
|
|
|
2019-02-07 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* README-how-to-make-a-release: Add a note about updating the
|
|
|
|
|
obsolete targets in the bfd/config.bfd file.
|
|
|
|
|
|
2019-02-04 19:19:42 +08:00
|
|
|
|
2019-02-04 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* README-how-to-make-a-release: Add more notes on making a release.
|
|
|
|
|
|
2019-01-25 21:16:06 +08:00
|
|
|
|
2019-01-25 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 24131
|
|
|
|
|
* readelf.c (process_notes_at): Prevent an illegal memory access
|
|
|
|
|
when the note's namesize is zero.
|
|
|
|
|
(decode_tic6x_unwind_bytecode): Add code to handle the case where
|
|
|
|
|
no registers are specified in a frame pop instruction.
|
|
|
|
|
|
2019-01-25 19:48:55 +08:00
|
|
|
|
2019-01-25 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/bg.po: Updated Bulgarian translation.
|
|
|
|
|
|
2019-01-23 18:26:54 +08:00
|
|
|
|
2019-01-23 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/fr.po: Updated French translation.
|
|
|
|
|
* po/pt.po: Updated Portuguese translation.
|
|
|
|
|
|
2019-01-21 20:59:20 +08:00
|
|
|
|
2019-01-21 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/uk.po: Updated Ukranian translation.
|
|
|
|
|
|
2019-01-20 00:51:42 +08:00
|
|
|
|
2019-01-19 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* binutils/po/binutils.pot.
|
|
|
|
|
|
|
|
|
|
* README-how-to-make-a-release: Update description on how to make
|
|
|
|
|
a branch.
|
|
|
|
|
|
2019-01-19 23:55:50 +08:00
|
|
|
|
2018-06-24 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
2.32 branch created.
|
|
|
|
|
|
2019-01-17 23:29:43 +08:00
|
|
|
|
2019-01-17 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* objdump.c (disassemble_section): When disassembling from a
|
|
|
|
|
symbol only stop at the next symbol if the original symbol was not
|
|
|
|
|
a function symbol. Otherwise continue disassembling until a new
|
|
|
|
|
function is reached.
|
|
|
|
|
* testsuite/binutils-all/objdump.exp: Add tests of extended
|
|
|
|
|
functionality.
|
|
|
|
|
* testsuite/binutils-all/disasm.s: New test source file.
|
|
|
|
|
|
2019-01-17 05:14:59 +08:00
|
|
|
|
2019-01-16 Kito Cheng <kito@andestech.com>
|
|
|
|
|
Nelson Chu <nelson@andestech.com>
|
|
|
|
|
|
|
|
|
|
* readelf.c (get_riscv_section_type_name): New function.
|
|
|
|
|
(get_section_type_name): Add handler for RISC-V.
|
|
|
|
|
(riscv_attr_tag_t): Declare.
|
|
|
|
|
(riscv_attr_tag): New.
|
|
|
|
|
(display_riscv_attribute): New function.
|
|
|
|
|
(process_attributes): Add handler for RISC-V.
|
|
|
|
|
* testsuite/binutils-all/strip-3.d: Remove .riscv.attribute
|
|
|
|
|
section.
|
|
|
|
|
|
2019-01-10 23:19:33 +08:00
|
|
|
|
2019-01-10 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 23963
|
|
|
|
|
* objdump.c (sanitize_string): New function. Removes control
|
|
|
|
|
characters from symbol names.
|
|
|
|
|
(dump_section_header): Use new function.
|
|
|
|
|
(objdump_print_symname): Likewise.
|
|
|
|
|
(objdump_print_addr_with_sym): Likewise.
|
|
|
|
|
(show_line): Likewise.
|
|
|
|
|
(disassemble_bytes): Likewise.
|
|
|
|
|
(disassemble_section): Likewise.
|
|
|
|
|
(load_specific_debug_section): Likewise.
|
|
|
|
|
(read_section_stabs): Likewise.
|
|
|
|
|
(print_section_stabs): Likewise.
|
|
|
|
|
(dump_section): Likewise.
|
|
|
|
|
(dump_reloc_set): Likewise.
|
|
|
|
|
(dump_relocs_in_section): Likewise.
|
|
|
|
|
(dump_bfd): Likewise.
|
|
|
|
|
(display_any_bfd): Likewise.
|
|
|
|
|
|
2019-01-09 20:25:16 +08:00
|
|
|
|
2019-01-09 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
2019-01-09 20:31:34 +08:00
|
|
|
|
PR 24049
|
2019-01-09 20:25:16 +08:00
|
|
|
|
* readelf.c (process_archive): Use arch.file_name in error
|
|
|
|
|
messages until the qualified name is available.
|
|
|
|
|
|
2019-01-09 11:21:08 +08:00
|
|
|
|
2019-01-09 Andrew Paprocki <andrew@ishiboo.com>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2019-01-09 08:07:52 +08:00
|
|
|
|
2019-01-09 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/binutils-all/cxxfilt.exp: Pass --no-strip-underscores
|
|
|
|
|
unconditionally to tests needing the option rather than via a
|
|
|
|
|
list of targets.
|
|
|
|
|
|
2019-01-09 00:53:02 +08:00
|
|
|
|
2019-01-08 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 24044
|
|
|
|
|
* cxxfilt.c (hp_symbol_characters): Delete.
|
|
|
|
|
(main): Remove depcreated demangling styles.
|
|
|
|
|
* stabs.c (parse_stab_argtypes): Remove support for old gnu v2
|
|
|
|
|
demangling opnames.
|
|
|
|
|
* testsuite/binutils-all/cxxfilt.exp: Use the
|
|
|
|
|
--no-strip-underscore option for targets that do prefix their
|
|
|
|
|
symbols with underscores.
|
2019-01-09 08:07:52 +08:00
|
|
|
|
Update tests to eliminate those that use gnu v2 encoding.
|
2019-01-09 00:53:02 +08:00
|
|
|
|
|
2019-01-08 22:52:53 +08:00
|
|
|
|
2019-01-08 Tamar Christina <tamar.christina@arm.com>
|
|
|
|
|
|
|
|
|
|
PR 24065
|
|
|
|
|
* testsuite/binutils-all/copy-6.d: New test.
|
|
|
|
|
* testsuite/binutils-all/objcopy.exp: Use it.
|
|
|
|
|
|
run_dump_test source in build directory
Some existing tests build .s and .d files for run_dump_test, using an
absolute #source: line in the .d file. This patch changes that scheme
a little to instead use "#source: ./..." in .d files rather than
"#source: $objdir/...", which is more useful in cases where the .d
file is not generated.
This allows RX gas test files to be built in the build directory,
rather than in a source directory (which might be read-only).
binutils/
* testsuite/lib/binutils-common.exp (run_dump_test): Don't prepend
$srcdir/$subdir to source file name if it starts with "./".
gas/
* testsuite/gas/rx/rx.exp: Create generated test source in
current directory.
* testsuite/gas/rx/Xtod.d, * testsuite/gas/rx/abs.d,
* testsuite/gas/rx/adc.d, * testsuite/gas/rx/add.d,
* testsuite/gas/rx/and.d, * testsuite/gas/rx/bclr.d,
* testsuite/gas/rx/bcnd.d, * testsuite/gas/rx/bfmov.d,
* testsuite/gas/rx/bmcnd.d, * testsuite/gas/rx/bnot.d,
* testsuite/gas/rx/bra.d, * testsuite/gas/rx/brk.d,
* testsuite/gas/rx/bset.d, * testsuite/gas/rx/bsr.d,
* testsuite/gas/rx/btst.d, * testsuite/gas/rx/clrpsw.d,
* testsuite/gas/rx/cmp.d, * testsuite/gas/rx/dabs.d,
* testsuite/gas/rx/dadd.d, * testsuite/gas/rx/dbt.d,
* testsuite/gas/rx/dcmp.d, * testsuite/gas/rx/ddiv.d,
* testsuite/gas/rx/div.d, * testsuite/gas/rx/divu.d,
* testsuite/gas/rx/dmov.d, * testsuite/gas/rx/dmul.d,
* testsuite/gas/rx/dneg.d, * testsuite/gas/rx/dpopm.d,
* testsuite/gas/rx/dpushm.d, * testsuite/gas/rx/dround.d,
* testsuite/gas/rx/dsqrt.d, * testsuite/gas/rx/dsub.d,
* testsuite/gas/rx/dtoX.d, * testsuite/gas/rx/emaca.d,
* testsuite/gas/rx/emsba.d, * testsuite/gas/rx/emul.d,
* testsuite/gas/rx/emula.d, * testsuite/gas/rx/emulu.d,
* testsuite/gas/rx/fadd.d, * testsuite/gas/rx/fcmp.d,
* testsuite/gas/rx/fdiv.d, * testsuite/gas/rx/fmul.d,
* testsuite/gas/rx/fsqrt.d, * testsuite/gas/rx/fsub.d,
* testsuite/gas/rx/ftoi.d, * testsuite/gas/rx/ftou.d,
* testsuite/gas/rx/gprel.d, * testsuite/gas/rx/int.d,
* testsuite/gas/rx/itof.d, * testsuite/gas/rx/jmp.d,
* testsuite/gas/rx/jsr.d, * testsuite/gas/rx/machi.d,
* testsuite/gas/rx/maclh.d, * testsuite/gas/rx/maclo.d,
* testsuite/gas/rx/max.d, * testsuite/gas/rx/min.d,
* testsuite/gas/rx/mov.d, * testsuite/gas/rx/movco.d,
* testsuite/gas/rx/movli.d, * testsuite/gas/rx/movu.d,
* testsuite/gas/rx/msbhi.d, * testsuite/gas/rx/msblh.d,
* testsuite/gas/rx/msblo.d, * testsuite/gas/rx/mul.d,
* testsuite/gas/rx/mulhi.d, * testsuite/gas/rx/mullh.d,
* testsuite/gas/rx/mullo.d, * testsuite/gas/rx/mvfacgu.d,
* testsuite/gas/rx/mvfachi.d, * testsuite/gas/rx/mvfaclo.d,
* testsuite/gas/rx/mvfacmi.d, * testsuite/gas/rx/mvfc.d,
* testsuite/gas/rx/mvfcp.d, * testsuite/gas/rx/mvfdc.d,
* testsuite/gas/rx/mvfdr.d, * testsuite/gas/rx/mvtacgu.d,
* testsuite/gas/rx/mvtachi.d, * testsuite/gas/rx/mvtaclo.d,
* testsuite/gas/rx/mvtc.d, * testsuite/gas/rx/mvtcp.d,
* testsuite/gas/rx/mvtdc.d, * testsuite/gas/rx/neg.d,
* testsuite/gas/rx/nop.d, * testsuite/gas/rx/not.d,
* testsuite/gas/rx/opecp.d, * testsuite/gas/rx/or.d,
* testsuite/gas/rx/pop.d, * testsuite/gas/rx/popc.d,
* testsuite/gas/rx/popm.d, * testsuite/gas/rx/push.d,
* testsuite/gas/rx/pushc.d, * testsuite/gas/rx/pushm.d,
* testsuite/gas/rx/r-bcc.d, * testsuite/gas/rx/r-bra.d,
* testsuite/gas/rx/racl.d, * testsuite/gas/rx/racw.d,
* testsuite/gas/rx/rdacl.d, * testsuite/gas/rx/rdacw.d,
* testsuite/gas/rx/revl.d, * testsuite/gas/rx/revw.d,
* testsuite/gas/rx/rmpa.d, * testsuite/gas/rx/rolc.d,
* testsuite/gas/rx/rorc.d, * testsuite/gas/rx/rotl.d,
* testsuite/gas/rx/rotr.d, * testsuite/gas/rx/round.d,
* testsuite/gas/rx/rstr.d, * testsuite/gas/rx/rte.d,
* testsuite/gas/rx/rtfi.d, * testsuite/gas/rx/rts.d,
* testsuite/gas/rx/rtsd.d, * testsuite/gas/rx/sat.d,
* testsuite/gas/rx/satr.d, * testsuite/gas/rx/save.d,
* testsuite/gas/rx/sbb.d, * testsuite/gas/rx/sccnd.d,
* testsuite/gas/rx/scmpu.d, * testsuite/gas/rx/setpsw.d,
* testsuite/gas/rx/shar.d, * testsuite/gas/rx/shll.d,
* testsuite/gas/rx/shlr.d, * testsuite/gas/rx/smovb.d,
* testsuite/gas/rx/smovf.d, * testsuite/gas/rx/smovu.d,
* testsuite/gas/rx/sstr.d, * testsuite/gas/rx/stnz.d,
* testsuite/gas/rx/stz.d, * testsuite/gas/rx/sub.d,
* testsuite/gas/rx/suntil.d, * testsuite/gas/rx/swhile.d,
* testsuite/gas/rx/tst.d, * testsuite/gas/rx/utof.d,
* testsuite/gas/rx/wait.d, * testsuite/gas/rx/xchg.d,
* testsuite/gas/rx/xor.d: Add #source line.
ld/
* testsuite/ld-elf/sec64k.exp: Use . rather than $objdir in
generated source file names.
* testsuite/ld-m68k/m68k-got.exp: Likewise.
2019-01-08 14:17:52 +08:00
|
|
|
|
2019-01-08 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/lib/binutils-common.exp (run_dump_test): Don't prepend
|
|
|
|
|
$srcdir/$subdir to source file name if it starts with "./".
|
|
|
|
|
|
|
|
|
|
2019-01-05 Yoshinori Sato <ysato@users.sourceforge.jp>
|
|
|
|
|
|
2018-12-25 19:04:47 +08:00
|
|
|
|
* readelf.c (get_machine_flags): Add RXv3 output.
|
|
|
|
|
|
2019-01-04 21:44:34 +08:00
|
|
|
|
2019-01-04 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 24005
|
|
|
|
|
* objdump.c (load_specific_debug_section): Check for integer
|
|
|
|
|
overflow before attempting to allocate contents.
|
|
|
|
|
|
2019-01-04 20:11:51 +08:00
|
|
|
|
2019-01-04 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 24001
|
|
|
|
|
* objcopy.c (copy_object): Free dhandle after writing out the
|
|
|
|
|
debug information.
|
|
|
|
|
* objdump.c (dump_bfd): Free dhandle after printing out the debug
|
|
|
|
|
information.
|
|
|
|
|
|
2019-01-04 21:44:34 +08:00
|
|
|
|
|
2019-01-01 18:31:27 +08:00
|
|
|
|
2019-01-01 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
Update year range in copyright notice of all files.
|
|
|
|
|
|
2019-01-01 18:53:15 +08:00
|
|
|
|
For older changes see ChangeLog-2018
|
2016-01-01 18:44:31 +08:00
|
|
|
|
|
2019-01-01 18:53:15 +08:00
|
|
|
|
Copyright (C) 2019 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:
|