2021-01-09 19:01:01 +08:00
|
|
|
|
2021-01-09 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* version.m4: Change to 2.36.50.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* po/bfd.pot: Regenerate.
|
|
|
|
|
|
2021-01-09 18:40:28 +08:00
|
|
|
|
2021-01-09 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* 2.36 release branch crated.
|
|
|
|
|
|
2021-01-09 13:51:38 +08:00
|
|
|
|
2021-01-08 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Also set
|
|
|
|
|
LAM_U57 when setting LAM_U48.
|
|
|
|
|
|
2021-01-09 13:38:39 +08:00
|
|
|
|
2021-01-08 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/26256
|
|
|
|
|
PR ld/27160
|
|
|
|
|
* elflink.c (elf_fixup_link_order): Verify that fixing up
|
|
|
|
|
SHF_LINK_ORDER doesn't increase the output section size.
|
|
|
|
|
|
2021-01-09 08:33:29 +08:00
|
|
|
|
2021-01-09 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2021-01-08 00:47:36 +08:00
|
|
|
|
2021-01-07 Samuel Thibault <samuel.thibault@gnu.org>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2021-01-07 22:42:00 +08:00
|
|
|
|
2021-01-07 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR 27109
|
|
|
|
|
* aix386-core.c (core_aix386_vec): Initialize
|
|
|
|
|
keep_unused_section_symbol to TARGET_KEEP_UNUSED_SECTION_SYMBOLS.
|
|
|
|
|
* aout-target.h (MY (vec)): Likewise.
|
|
|
|
|
* binary.c (binary_vec): Likewise.
|
|
|
|
|
* cisco-core.c (core_cisco_be_vec): Likewise.
|
|
|
|
|
(core_cisco_le_vec): Likewise.
|
|
|
|
|
* coff-alpha.c (alpha_ecoff_le_vec): Likewise.
|
|
|
|
|
* coff-i386.c (TARGET_SYM): Likewise.
|
|
|
|
|
(TARGET_SYM_BIG): Likewise.
|
|
|
|
|
* coff-ia64.c (TARGET_SYM): Likewise.
|
|
|
|
|
* coff-mips.c (mips_ecoff_le_vec): Likewise.
|
|
|
|
|
(mips_ecoff_be_vec): Likewise.
|
|
|
|
|
(mips_ecoff_bele_vec): Likewise.
|
|
|
|
|
* coff-rs6000.c (rs6000_xcoff_vec): Likewise.
|
|
|
|
|
(powerpc_xcoff_vec): Likewise.
|
|
|
|
|
* coff-sh.c (sh_coff_small_vec): Likewise.
|
|
|
|
|
(sh_coff_small_le_vec): Likewise.
|
|
|
|
|
* coff-tic30.c (tic30_coff_vec): Likewise.
|
|
|
|
|
* coff-tic54x.c (tic54x_coff0_vec): Likewise.
|
|
|
|
|
(tic54x_coff0_beh_vec): Likewise.
|
|
|
|
|
(tic54x_coff1_vec): Likewise.
|
|
|
|
|
(tic54x_coff1_beh_vec): Likewise.
|
|
|
|
|
(tic54x_coff2_vec): Likewise.
|
|
|
|
|
(tic54x_coff2_beh_vec): Likewise.
|
|
|
|
|
* coff-x86_64.c (TARGET_SYM): Likewise.
|
|
|
|
|
(TARGET_SYM_BIG): Likewise.
|
|
|
|
|
* coff64-rs6000.c (rs6000_xcoff64_vec): Likewise.
|
|
|
|
|
(rs6000_xcoff64_aix_vec): Likewise.
|
|
|
|
|
* coffcode.h (CREATE_BIG_COFF_TARGET_VEC): Likewise.
|
|
|
|
|
(CREATE_BIGHDR_COFF_TARGET_VEC): Likewise.
|
|
|
|
|
(CREATE_LITTLE_COFF_TARGET_VEC): Likewise.
|
|
|
|
|
* elfxx-target.h (TARGET_BIG_SYM): Likewise.
|
|
|
|
|
(TARGET_LITTLE_SYM): Likewise.
|
|
|
|
|
* hppabsd-core.c (core_hppabsd_vec): Likewise.
|
|
|
|
|
* hpux-core.c (core_hpux_vec): Likewise.
|
|
|
|
|
* i386msdos.c (i386_msdos_vec): Likewise.
|
|
|
|
|
* ihex.c (ihex_vec): Likewise.
|
|
|
|
|
* irix-core.c (core_irix_vec): Likewise.
|
|
|
|
|
* mach-o-target.c (TARGET_NAME): Likewise.
|
|
|
|
|
* mmo.c (mmix_mmo_vec): Likewise.
|
|
|
|
|
* netbsd-core.c (core_netbsd_vec): Likewise.
|
|
|
|
|
* osf-core.c (core_osf_vec): Likewise.
|
|
|
|
|
* pdp11.c (MY (vec)): Likewise.
|
|
|
|
|
* pef.c (pef_vec): Likewise.
|
|
|
|
|
(pef_xlib_vec): Likewise.
|
|
|
|
|
* plugin.c (plugin_vec): Likewise.
|
|
|
|
|
* ppcboot.c (powerpc_boot_vec): Likewise.
|
|
|
|
|
* ptrace-core.c (core_ptrace_vec): Likewise.
|
|
|
|
|
* sco5-core.c (core_sco5_vec): Likewise.
|
|
|
|
|
* som.c (hppa_som_vec): Likewise.
|
|
|
|
|
* srec.c (srec_vec): Likewise.
|
|
|
|
|
(symbolsrec_vec): Likewise.
|
|
|
|
|
* tekhex.c (tekhex_vec): Likewise.
|
|
|
|
|
* trad-core.c (core_trad_vec): Likewise.
|
|
|
|
|
* verilog.c (verilog_vec): Likewise.
|
|
|
|
|
* vms-alpha.c (alpha_vms_vec): Likewise.
|
|
|
|
|
* vms-lib.c (alpha_vms_lib_txt_vec): Likewise.
|
|
|
|
|
* wasm-module.c (wasm_vec): Likewise.
|
|
|
|
|
* xsym.c (sym_vec): Likewise.
|
|
|
|
|
* elf.c (ignore_section_sym): Return TRUE if BSF_SECTION_SYM_USED
|
|
|
|
|
isn't set.
|
|
|
|
|
(elf_map_symbols): Don't include ignored section symbols.
|
|
|
|
|
* elfcode.h (elf_slurp_symbol_table): Also set
|
|
|
|
|
BSF_SECTION_SYM_USED on STT_SECTION symbols.
|
|
|
|
|
* elflink.c (bfd_elf_final_link): Generated section symbols only
|
|
|
|
|
when emitting relocations or reqired.
|
|
|
|
|
* elfxx-x86.h (TARGET_KEEP_UNUSED_SECTION_SYMBOLS): New.
|
|
|
|
|
* syms.c (BSF_SECTION_SYM_USED): New.
|
|
|
|
|
* targets.c (TARGET_KEEP_UNUSED_SECTION_SYMBOLS): New.
|
|
|
|
|
(bfd_target): Add keep_unused_section_symbols.
|
|
|
|
|
(bfd_keep_unused_section_symbols): New.
|
|
|
|
|
* bfd-in2.h: Regenerated.
|
|
|
|
|
|
2021-01-07 20:04:15 +08:00
|
|
|
|
2021-01-07 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 25713
|
|
|
|
|
* bfdio.c (_bfd_real_fopen): For Win32 convert relative paths to
|
|
|
|
|
absolute paths and check to see if they are longer than MAX_PATH.
|
|
|
|
|
|
2021-01-07 15:53:25 +08:00
|
|
|
|
2021-01-07 Philipp Tomsich <prt@gnu.org>
|
|
|
|
|
|
|
|
|
|
* elfxx-riscv.c (riscv_std_z_ext_strtab): Added zihintpause.
|
|
|
|
|
|
2020-12-15 23:11:03 +08:00
|
|
|
|
2021-01-07 Claire Xenia Wolf <claire@symbioticeda.com>
|
|
|
|
|
Jim Wilson <jimw@sifive.com>
|
|
|
|
|
Andrew Waterman <andrew@sifive.com>
|
|
|
|
|
Maxim Blinov <maxim.blinov@embecosm.com>
|
|
|
|
|
Kito Cheng <kito.cheng@sifive.com>
|
|
|
|
|
Nelson Chu <nelson.chu@sifive.com>
|
|
|
|
|
|
|
|
|
|
* elfxx-riscv.c (riscv_std_z_ext_strtab): Added zba, zbb and zbc.
|
|
|
|
|
|
2020-12-30 02:41:51 +08:00
|
|
|
|
2021-01-06 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* elf32-bfin.c (bfin_check_relocs): Check bfd_link_hash_indirect.
|
|
|
|
|
(bfinfdpic_check_relocs): Likewise.
|
|
|
|
|
|
2021-01-06 14:10:31 +08:00
|
|
|
|
2021-01-06 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* elf32-score.c (s3_bfd_score_info_to_howto): Report an error
|
|
|
|
|
on unknown r_type.
|
|
|
|
|
* elf32-score7.c (s7_bfd_score_info_to_howto): Likewise.
|
|
|
|
|
|
2021-01-06 09:31:10 +08:00
|
|
|
|
2021-01-06 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* config.bfd (sparc-*-solaris2*): Add sparc_elf32_vec.
|
|
|
|
|
(sparc64-*-solaris2*): Add sparc_elf64_vec and
|
|
|
|
|
sparc_elf32_vec.
|
|
|
|
|
|
RISC-V: Implement support for big endian targets.
RISC-V instruction/code is always little endian, but data might be
big-endian. Therefore, we can not use the original bfd_get/bfd_put
to get/put the code for big endian targets. Add new riscv_get_insn
and riscv_put_insn to always get/put code as little endian can resolve
the problem. Just remember to update them once we have supported
the 48-bit/128-bit instructions in the future patches.
bfd/
* config.bfd: Added targets riscv64be*-*-*, riscv32be*-*-* and
riscvbe*-*-*. Also added riscv_elf[32|64]_be_vec.
* configure.ac: Handle riscv_elf[32|64]_be_vec.
* configure: Regenerate.
* elfnn-riscv.c: Include <limits.h> and define CHAR_BIT for
riscv_is_insn_reloc.
(riscv_get_insn): RISC-V instructions are always little endian, but
bfd_get may be used for big-endian, so add new riscv_get_insn to handle
the insturctions.
(riscv_put_insn): Likewsie.
(riscv_is_insn_reloc): Check if we are relocaing an instruction.
(perform_relocation): Call riscv_is_insn_reloc to decide if we should
use riscv_[get|put]_insn or bfd_[get|put].
(riscv_zero_pcrel_hi_reloc): Use riscv_[get|put]_insn, bfd_[get|put]l32
or bfd_[get|put]l16 for code.
(riscv_elf_relocate_section): Likewise.
(riscv_elf_finish_dynamic_symbol): Likewise.
(riscv_elf_finish_dynamic_sections): Likewise.
(_bfd_riscv_relax_call): Likewise.
(_bfd_riscv_relax_lui): Likewise.
(_bfd_riscv_relax_align): Likewise.
(_bfd_riscv_relax_pc): Likewise.
(riscv_elf_object_p): Handled for big endian.
(TARGET_BIG_SYM, TARGET_BIG_NAME): Defined.
* targets.c: Add riscv_elf[32|64]_be_vec.
(_bfd_target_vector): Likewise.
gas/
* config/tc-riscv.c (riscv_target_format): Add elf64-bigriscv and
elf32-bigriscv.
(install_insn): Always write instructions as little endian.
(riscv_make_nops): Likewise.
(md_convert_frag_branch): Likewise.
(md_number_to_chars): Write data in target endianness.
(options, md_longopts): Add -mbig-endian and -mlittle-endian options.
(md_parse_option): Handle the endian options.
* config/tc-riscv.h: Only define TARGET_BYTES_BIG_ENDIAN if not
already defined.
* configure.tgt: Added riscv64be*, riscv32be*, riscvbe*.
ld/
* configure.tgt: Added riscvbe-*-*, riscv32be*-*-*, riscv64be*-*-*,
riscv32be*-*-linux*, and riscv64be*-*-linux*.
* Makefile.am: Added eelf32briscv.c, eelf32briscv_ilp32f.c and
eelf32briscv_ilp32.c.
* Makefile.in: Regenerate.
* emulparams/elf32briscv.sh: Added.
* emulparams/elf32briscv_ilp32.sh: Likewise.
* emulparams/elf32briscv_ilp32f.sh: Likewise.
* emulparams/elf64briscv.sh: Likewise.
* emulparams/elf64briscv_lp64.sh: Likewise.
* emulparams/elf64briscv_lp64f.sh: Likewise.
2021-01-06 05:50:32 +08:00
|
|
|
|
2021-01-06 Marcus Comstedt <marcus@mc.pp.se>
|
|
|
|
|
|
|
|
|
|
* config.bfd: Added targets riscv64be*-*-*, riscv32be*-*-* and
|
|
|
|
|
riscvbe*-*-*. Also added riscv_elf[32|64]_be_vec.
|
|
|
|
|
* configure.ac: Handle riscv_elf[32|64]_be_vec.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* elfnn-riscv.c: Include <limits.h> and define CHAR_BIT for
|
|
|
|
|
riscv_is_insn_reloc.
|
|
|
|
|
(riscv_get_insn): RISC-V instructions are always little endian, but
|
|
|
|
|
bfd_get may be used for big-endian, so add new riscv_get_insn to handle
|
|
|
|
|
the insturctions.
|
|
|
|
|
(riscv_put_insn): Likewsie.
|
|
|
|
|
(riscv_is_insn_reloc): Check if we are relocaing an instruction.
|
|
|
|
|
(perform_relocation): Call riscv_is_insn_reloc to decide if we should
|
|
|
|
|
use riscv_[get|put]_insn or bfd_[get|put].
|
|
|
|
|
(riscv_zero_pcrel_hi_reloc): Use riscv_[get|put]_insn, bfd_[get|put]l32
|
|
|
|
|
or bfd_[get|put]l16 for code.
|
|
|
|
|
(riscv_elf_relocate_section): Likewise.
|
|
|
|
|
(riscv_elf_finish_dynamic_symbol): Likewise.
|
|
|
|
|
(riscv_elf_finish_dynamic_sections): Likewise.
|
|
|
|
|
(_bfd_riscv_relax_call): Likewise.
|
|
|
|
|
(_bfd_riscv_relax_lui): Likewise.
|
|
|
|
|
(_bfd_riscv_relax_align): Likewise.
|
|
|
|
|
(_bfd_riscv_relax_pc): Likewise.
|
|
|
|
|
(riscv_elf_object_p): Handled for big endian.
|
|
|
|
|
(TARGET_BIG_SYM, TARGET_BIG_NAME): Defined.
|
|
|
|
|
* targets.c: Add riscv_elf[32|64]_be_vec.
|
|
|
|
|
(_bfd_target_vector): Likewise.
|
|
|
|
|
|
2021-01-05 20:21:42 +08:00
|
|
|
|
2021-01-05 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* elflink.c (bfd_elf_link_record_dynamic_symbol): Handle no_export
|
|
|
|
|
for relocatable executable.
|
|
|
|
|
|
2021-01-05 10:47:24 +08:00
|
|
|
|
2021-01-05 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* vms-alpha.c (_bfd_vms_slurp_egsd): Read flags after size check.
|
|
|
|
|
|
RISC-V: Ouput __global_pointer$ as dynamic symbol when generating dynamic PDE.
When the ifunc resolver is in the executable, we may relax the variables
to gp-relative access instruction in the ifunc resolver, or in other functions
that called by the ifunc resolver. But this will cause the uninitialized
gp problem since the ifunc need to be resolved at the early runtime, that
is at the pre-load stage, but we set the gp until the startup code.
At first, we try to add a new dynamic tag, DT_RISCV_GP, to stroe the gp value
and let ld.so can init the gp register early, before the pre-load stage. But
we need to extend the ABI if we want to add a new dynamic tag. Therefore,
in the psabi discussion, we try another solution, which was suggested by the
lld and FreeBSD linker experts, to let ld.so set the gp earlier - make sure
__global_pointer$ is output as a dynamic symbol when we are generating pde,
since we only do the relaxation for it. Afterwards, ld.so can search the
DT_SYMTAB to get the gp value, and set the gp register before resolving ifunc.
bfd/
* elfnn-riscv.c (allocate_dynrelocs): When we are generating pde, make
sure gp symbol is output as a dynamic symbol.
2020-12-16 11:03:34 +08:00
|
|
|
|
2021-01-05 Nelson Chu <nelson.chu@sifive.com>
|
|
|
|
|
|
|
|
|
|
* elfnn-riscv.c (allocate_dynrelocs): When we are generating pde,
|
|
|
|
|
make sure gp symbol is output as a dynamic symbol.
|
|
|
|
|
|
2021-01-05 04:37:49 +08:00
|
|
|
|
2021-01-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/26256
|
|
|
|
|
* elflink.c (compare_link_order): Place unordered sections before
|
|
|
|
|
ordered sections.
|
|
|
|
|
(elf_fixup_link_order): Add a link info argument. Allow mixed
|
|
|
|
|
ordered and unordered input sections for non-relocatable link.
|
|
|
|
|
Sort the consecutive bfd_indirect_link_order sections with the
|
|
|
|
|
same pattern. Change the offsets of the bfd_indirect_link_order
|
|
|
|
|
sections only.
|
|
|
|
|
(bfd_elf_final_link): Pass info to elf_fixup_link_order.
|
|
|
|
|
* section.c (bfd_section): Add pattern.
|
|
|
|
|
(BFD_FAKE_SECTION): Initialize pattern to NULL.
|
|
|
|
|
* bfd-in2.h: Regenerated.
|
|
|
|
|
|
2021-01-04 23:13:57 +08:00
|
|
|
|
2021-01-04 Alexander Fedotov <alfedotov@gmail.com>
|
|
|
|
|
|
|
|
|
|
* elf32-arm.c (elf32_arm_print_private_bfd_data): Prefix hex value
|
|
|
|
|
of private flags with 0x.
|
|
|
|
|
* elfnn-aarch64.c (elfNN_aarch64_print_private_bfd_data): Likewise.
|
|
|
|
|
|
2021-01-04 14:43:51 +08:00
|
|
|
|
2021-01-04 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 26822
|
|
|
|
|
* elflink.c (elf_link_input_bfd): Use the file base name in
|
|
|
|
|
linker generated STT_FILE symbols.
|
|
|
|
|
|
2021-01-04 10:12:45 +08:00
|
|
|
|
2021-01-04 Nelson Chu <nelson.chu@sifive.com>
|
|
|
|
|
|
|
|
|
|
* elfxx-riscv.c (riscv_compare_subsets): Removed static.
|
|
|
|
|
* elfxx-riscv.h: Add declaration.
|
|
|
|
|
* elfnn-riscv.c (riscv_merge_multi_letter_ext): Use
|
|
|
|
|
riscv_compare_subsets to check the orders.
|
|
|
|
|
(riscv_skip_prefix): Removed.
|
|
|
|
|
(riscv_prefix_cmp): Removed.
|
|
|
|
|
|
2021-01-04 07:49:14 +08:00
|
|
|
|
2021-01-04 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 26741
|
|
|
|
|
* elfxx-riscv.c (riscv_parse_prefixed_ext): Free subset after
|
|
|
|
|
calculating subset version length.
|
|
|
|
|
|
2021-01-01 11:51:52 +08:00
|
|
|
|
2021-01-01 Nicolas Boulenguez <nicolas@debian.org>
|
|
|
|
|
|
|
|
|
|
* xcofflink.c: Correct spelling in comments.
|
|
|
|
|
|
2021-01-01 06:58:58 +08:00
|
|
|
|
2021-01-01 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
Update year range in copyright notice of all files.
|
|
|
|
|
|
2021-01-01 06:47:13 +08:00
|
|
|
|
For older changes see ChangeLog-2020
|
2016-01-01 18:44:31 +08:00
|
|
|
|
|
2021-01-01 06:47:13 +08:00
|
|
|
|
Copyright (C) 2021 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:
|