2019-03-25 20:08:53 +08:00
|
|
|
|
2019-03-25 Tamar Christina <tamar.christina@arm.com>
|
|
|
|
|
|
|
|
|
|
* dis-asm.h (struct disassemble_info): Add stop_offset.
|
|
|
|
|
|
2019-03-13 19:09:10 +08:00
|
|
|
|
2019-03-13 Sudakshina Das <sudi.das@arm.com>
|
|
|
|
|
|
|
|
|
|
* elf/aarch64.h (DT_AARCH64_PAC_PLT): New.
|
|
|
|
|
|
[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>
|
|
|
|
|
|
|
|
|
|
* elf/aarch64.h (DT_AARCH64_BTI_PLT): New.
|
|
|
|
|
|
2019-03-13 18:42:27 +08:00
|
|
|
|
2019-03-13 Sudakshina Das <sudi.das@arm.com>
|
|
|
|
|
|
|
|
|
|
* elf/common.h (GNU_PROPERTY_AARCH64_FEATURE_1_AND): New.
|
|
|
|
|
(GNU_PROPERTY_AARCH64_FEATURE_1_BTI): New.
|
|
|
|
|
(GNU_PROPERTY_AARCH64_FEATURE_1_PAC): New.
|
|
|
|
|
|
2019-02-20 18:39:28 +08:00
|
|
|
|
2019-02-20 Alan Hayward <alan.hayward@arm.com>
|
|
|
|
|
|
|
|
|
|
* elf/common.h (NT_ARM_PAC_MASK): Add define.
|
|
|
|
|
|
2019-02-15 20:50:52 +08:00
|
|
|
|
2019-02-15 Saagar Jha <saagar@saagarjha.com>
|
|
|
|
|
|
|
|
|
|
* mach-o/loader.h: Use new OS names in comments.
|
|
|
|
|
|
2019-02-12 21:02:48 +08:00
|
|
|
|
2019-02-11 Philippe Waroquiers <philippe.waroquiers@skynet.be>
|
|
|
|
|
|
|
|
|
|
* splay-tree.h (splay_tree_delete_key_fn): Update comment.
|
|
|
|
|
(splay_tree_delete_value_fn): Likewise.
|
|
|
|
|
|
2019-02-01 00:01:27 +08:00
|
|
|
|
2019-01-31 Andreas Krebbel <krebbel@linux.ibm.com>
|
|
|
|
|
|
|
|
|
|
* opcode/s390.h (enum s390_opcode_cpu_val): Add
|
|
|
|
|
S390_OPCODE_ARCH13.
|
|
|
|
|
|
2019-01-25 21:57:14 +08:00
|
|
|
|
2019-01-25 Sudakshina Das <sudi.das@arm.com>
|
|
|
|
|
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
|
|
|
|
|
|
|
|
|
* opcode/aarch64.h (enum aarch64_opnd): Remove
|
|
|
|
|
AARCH64_OPND_ADDR_SIMPLE_2.
|
|
|
|
|
(enum aarch64_insn_class): Remove ldstgv_indexed.
|
|
|
|
|
|
2019-01-22 05:50:24 +08:00
|
|
|
|
2019-01-22 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* coff/ecoff.h: Include coff/sym.h.
|
|
|
|
|
|
2019-01-19 23:55:50 +08:00
|
|
|
|
2018-06-24 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
2.32 branch created.
|
|
|
|
|
|
2019-01-17 05:14:59 +08:00
|
|
|
|
2019-01-16 Kito Cheng <kito@andestech.com>
|
|
|
|
|
|
|
|
|
|
* elf/riscv.h (SHT_RISCV_ATTRIBUTES): Define.
|
|
|
|
|
(Tag_RISCV_arch): Likewise.
|
|
|
|
|
(Tag_RISCV_priv_spec): Likewise.
|
|
|
|
|
(Tag_RISCV_priv_spec_minor): Likewise.
|
|
|
|
|
(Tag_RISCV_priv_spec_revision): Likewise.
|
|
|
|
|
(Tag_RISCV_unaligned_access): Likewise.
|
|
|
|
|
(Tag_RISCV_stack_align): Likewise.
|
|
|
|
|
|
2019-01-11 17:47:42 +08:00
|
|
|
|
2019-01-14 Pavel I. Kryukov <kryukov@frtk.ru>
|
|
|
|
|
|
|
|
|
|
* dis-asm.h: include <string.h>
|
|
|
|
|
|
Sync libiberty sources with gcc master versions.
. * libiberty: Sync with gcc. Bring in:
2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
PR other/16615
* cp-demangle.c: Mechanically replace "can not" with "cannot".
* floatformat.c: Likewise.
* strerror.c: Likewise.
2018-12-22 Jason Merrill <jason@redhat.com>
Remove support for demangling GCC 2.x era mangling schemes.
* cplus-dem.c: Remove cplus_mangle_opname, cplus_demangle_opname,
internal_cplus_demangle, and all subroutines.
(libiberty_demanglers): Remove entries for ancient GNU (pre-3.0),
Lucid, ARM, HP, and EDG demangling styles.
(cplus_demangle): Remove 'work' variable. Don't call
internal_cplus_demangle.
include * Merge from GCC:
2018-12-22 Jason Merrill <jason@redhat.com>
* demangle.h: Remove support for ancient GNU (pre-3.0), Lucid,
ARM, HP, and EDG demangling styles.
2019-01-10 17:44:13 +08:00
|
|
|
|
2019-01-10 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* Merge from GCC:
|
|
|
|
|
2018-12-22 Jason Merrill <jason@redhat.com>
|
|
|
|
|
|
|
|
|
|
* demangle.h: Remove support for ancient GNU (pre-3.0), Lucid,
|
|
|
|
|
ARM, HP, and EDG demangling styles.
|
|
|
|
|
|
2019-01-10 05:59:16 +08:00
|
|
|
|
2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
Merge from GCC:
|
|
|
|
|
PR other/16615
|
|
|
|
|
|
|
|
|
|
* libiberty.h: Mechanically replace "can not" with "cannot".
|
|
|
|
|
* plugin-api.h: Likewise.
|
|
|
|
|
|
2018-12-25 19:44:15 +08:00
|
|
|
|
2018-12-25 Yoshinori Sato <ysato@users.sourceforge.jp>
|
|
|
|
|
|
|
|
|
|
* elf/rx.h (EF_RX_CPU_MASK): Update new bits.
|
|
|
|
|
(E_FLAG_RX_V3): New RXv3 type.
|
|
|
|
|
* opcode/rx.h (RX_Size): Add double size.
|
|
|
|
|
(RX_Operand_Type): Add double FPU registers.
|
|
|
|
|
(RX_Opcode_ID): Add new instuctions.
|
|
|
|
|
|
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:
|