mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
1031c264fd
If a symbol is not defined in a regular file, and we are not generating a shared library, then set the symbol to its location in the .plt. This is required to make function pointers compare as equal between the normal executable and the shared library. * elfxx-x86.c (elf_x86_allocate_dynrelocs): Check bfd_link_dll, instead of bfd_link_pic, for building shared library.
678 lines
25 KiB
Plaintext
678 lines
25 KiB
Plaintext
2018-02-13 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elfxx-x86.c (elf_x86_allocate_dynrelocs): Check bfd_link_dll,
|
||
instead of bfd_link_pic, for building shared library.
|
||
|
||
2018-02-13 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR gas/22791
|
||
* elf64-x86-64.c (is_32bit_relative_branch): Removed.
|
||
(elf_x86_64_relocate_section): Check PIC relocations in PIE.
|
||
Remove is_32bit_relative_branch usage. Disallow PC32 reloc
|
||
against protected function in shared object.
|
||
|
||
2018-02-13 Sergei Trofimovich <slyfox@inbox.ru>
|
||
|
||
PR 22828
|
||
* po/ru.po: Fix typo in Russian translation.
|
||
|
||
2018-02-13 Maciej W. Rozycki <macro@mips.com>
|
||
|
||
* wasm-module.c (wasm_scan_name_function_section): Rename
|
||
`index' local variable to `idx'.
|
||
|
||
2018-02-13 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 22823
|
||
Fix compile time warnings generated by gcc version 8.
|
||
* libbfd-in.h: Remove extraneous text from prototypes.
|
||
Add prototypes for bfd_false_any, bfd_true_any,
|
||
bfd_nullvoidptr_any, bfd_0_any, bfd_0u_any, bfd_0l_any,
|
||
bfd_n1_any, bfd_void_any.
|
||
(_bfd_generic_bfd_copy_private_bfd_data): Use vararg based dummy
|
||
function.
|
||
(_bfd_generic_bfd_merge_private_bfd_data): Likewise.
|
||
(_bfd_generic_bfd_set_private_flags): Likewise.
|
||
(_bfd_generic_bfd_copy_private_section_data): Likewise.
|
||
(_bfd_generic_bfd_copy_private_symbol_data): Likewise.
|
||
(_bfd_generic_bfd_copy_private_header_data): Likewise.
|
||
(_bfd_generic_bfd_print_private_bfd_data): Likewise.
|
||
(_bfd_noarchive_construct_extended_name_table): Likewise.
|
||
(_bfd_noarchive_truncate_arname): Likewise.
|
||
(_bfd_noarchive_write_ar_hdr): Likewise.
|
||
(_bfd_noarchive_get_elt_at_index): Likewise.
|
||
(_bfd_nosymbols_canonicalize_symtab): Likewise.
|
||
(_bfd_nosymbols_print_symbol): Likewise.
|
||
(_bfd_nosymbols_get_symbol_info): Likewise.
|
||
(_bfd_nosymbols_get_symbol_version_string): Likewise.
|
||
(_bfd_nosymbols_bfd_is_local_label_name): Likewise.
|
||
(_bfd_nosymbols_bfd_is_target_special_symbol): Likewise.
|
||
(_bfd_nosymbols_get_lineno): Likewise.
|
||
(_bfd_nosymbols_find_nearest_line): Likewise.
|
||
(_bfd_nosymbols_find_line): Likewise.
|
||
(_bfd_nosymbols_find_inliner_info): Likewise.
|
||
(_bfd_nosymbols_bfd_make_debug_symbol): Likewise.
|
||
(_bfd_nosymbols_read_minisymbols): Likewise.
|
||
(_bfd_nosymbols_minisymbol_to_symbol): Likewise.
|
||
(_bfd_norelocs_bfd_reloc_type_lookup): Likewise.
|
||
(_bfd_norelocs_bfd_reloc_name_lookup): Likewise.
|
||
(_bfd_nowrite_set_arch_mach): Likewise.
|
||
(_bfd_nowrite_set_section_contents): Likewise.
|
||
(_bfd_nolink_sizeof_headers): Likewise.
|
||
(_bfd_nolink_bfd_get_relocated_section_contents): Likewise.
|
||
(_bfd_nolink_bfd_relax_section): Likewise.
|
||
(_bfd_nolink_bfd_gc_sections): Likewise.
|
||
(_bfd_nolink_bfd_lookup_section_flags): Likewise.
|
||
(_bfd_nolink_bfd_merge_sections): Likewise.
|
||
(_bfd_nolink_bfd_is_group_section): Likewise.
|
||
(_bfd_nolink_bfd_discard_group): Likewise.
|
||
(_bfd_nolink_bfd_link_hash_table_create): Likewise.
|
||
(_bfd_nolink_bfd_link_add_symbols): Likewise.
|
||
(_bfd_nolink_bfd_link_just_syms): Likewise.
|
||
(_bfd_nolink_bfd_copy_link_hash_symbol_type): Likewise.
|
||
(_bfd_nolink_bfd_final_link): Likewise.
|
||
(_bfd_nolink_bfd_link_split_section): Likewise.
|
||
(_bfd_nolink_section_already_linked): Likewise.
|
||
(_bfd_nolink_bfd_define_common_symbol): Likewise.
|
||
(_bfd_nolink_bfd_define_start_stop): Likewise.
|
||
(_bfd_nodynamic_canonicalize_dynamic_symtab): Likewise.
|
||
(_bfd_nodynamic_get_synthetic_symtab): Likewise.
|
||
(_bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_): Likewise.
|
||
(_bfd_nodynamic_canonicalize_dynamic_reloc): Likewise.
|
||
* libbfd.c (bfd_false_any): New function. Like bfd_false but
|
||
accepts one or more arguments.
|
||
(bfd_true_any): Likewise.
|
||
(bfd_nullvoidptr_any): Likewise.
|
||
(bfd_0_any): Likewise.
|
||
(bfd_0u_any): Likewise.
|
||
(bfd_0l_any): Likewise.
|
||
(_bfd_n1_any): Likewise.
|
||
(bfd_void_any): Likewise.
|
||
* libbfd.h (extern): Regenerate
|
||
* aout-target.h (MY_bfd_is_target_special_symbol): Use vararg
|
||
based dummy function.
|
||
* aout-tic30.c (tic30_aout_set_arch_mach): Likewise.
|
||
* binary.c (binary_get_symbol_info): Likewise.
|
||
* coff-alpha.c (alpha_ecoff_backend_data): Likewise.
|
||
* coff-mips.c (mips_ecoff_backend_data): Likewise.
|
||
* coffcode.h (coff_set_alignment_hook): Likewise.
|
||
(symname_in_debug_hook): Likewise.
|
||
(bfd_coff_backend_data bigobj_swap_table): Likewise.
|
||
* elf-m10300.c (elf_backend_omit_section_dynsym): Likewise.
|
||
* elf32-cr16.c (elf_backend_omit_section_dynsym): Likewise.
|
||
* elf32-lm32.c (elf_backend_omit_section_dynsym): Likewise.
|
||
* elf32-m32r.c (elf_backend_omit_section_dynsym): Likewise.
|
||
* elf32-metag.c (elf_backend_omit_section_dynsym): Likewise.
|
||
* elf32-score.c (elf_backend_omit_section_dynsym): Likewise.
|
||
* elf32-score7.c (elf_backend_omit_section_dynsym): Likewise.
|
||
* elf32-xstormy16.c (elf_backend_omit_section_dynsym): Likewise.
|
||
* elf32-xtensa.c (elf_backend_omit_section_dynsym): Likewise.
|
||
* elf64-alpha.c (elf_backend_omit_section_dynsym): Likewise.
|
||
* elf64-hppa.c (elf_backend_omit_section_dynsym): Likewise.
|
||
* elf64-ia64-vms.c (elf_backend_omit_section_dynsym): Likewise.
|
||
* elf64-mmix.c (elf_backend_omit_section_dynsym): Likewise.
|
||
* elf64-sh64.c (elf_backend_omit_section_dynsym): Likewise.
|
||
* elfnn-ia64.c (elf_backend_omit_section_dynsym): Likewise.
|
||
* elfxx-target.h (bfd_elfNN_bfd_debug_info_accumulate): Likewise.
|
||
(bfd_elfNN_bfd_make_debug_symbol): Likewise.
|
||
(bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
|
||
(bfd_elfNN_bfd_set_private_flags): Likewise.
|
||
(bfd_elfNN_bfd_is_target_special_symbol): Likewise.
|
||
(elf_backend_init_index_section): Likewise.
|
||
(elf_backend_allow_non_load_phdr): Likewise.
|
||
* elfxx-x86.h (elf_backend_omit_section_dynsym): Likewise.
|
||
* i386msdos.c (msdos_bfd_is_target_special_symbol): Likewise.
|
||
* ieee.c (ieee_construct_extended_name_table): Likewise.
|
||
(ieee_write_armap): Likewise.
|
||
(ieee_write_ar_hdr): Likewise.
|
||
(ieee_bfd_is_target_special_symbol): Likewise.
|
||
* ihex.c (ihex_canonicalize_symtab): Likewise.
|
||
(ihex_bfd_is_target_special_symbol): Likewise.
|
||
* libaout.h (aout_32_bfd_is_target_special_symbol): Likewise.
|
||
* libecoff.h (_bfd_ecoff_bfd_is_target_special_symbol): Likewise.
|
||
(_bfd_ecoff_set_alignment_hook): Likewise.
|
||
* mach-o-target.c (bfd_mach_o_bfd_is_target_special_symbol): Likewise.
|
||
* mmo.c (mmo_bfd_is_target_special_symbol): Likewise.
|
||
* nlm-target.h (nlm_bfd_is_target_special_symbol): Likewise.
|
||
* oasys.c (oasys_construct_extended_name_table): Likewise.
|
||
(oasys_write_armap): Likewise.
|
||
(oasys_write_ar_hdr): Likewise.
|
||
(oasys_bfd_is_target_special_symbol): Likewise.
|
||
* pef.c (bfd_pef_bfd_is_target_special_symbol): Likewise.
|
||
* plugin.c (bfd_plugin_bfd_is_target_special_symbol): Likewise.
|
||
* ppcboot.c (ppcboot_bfd_is_target_special_symbol): Likewise.
|
||
* som.c (som_bfd_is_target_special_symbol): Likewise.
|
||
* srec.c (srec_bfd_is_target_special_symbol): Likewise.
|
||
* tekhex.c (tekhex_bfd_is_target_special_symbol): Likewise.
|
||
* verilog.c (verilog_bfd_is_target_special_symbol): Likewise.
|
||
* versados.c (versados_bfd_is_target_special_symbol): Likewise.
|
||
(versados_bfd_reloc_name_lookup): Likewise.
|
||
* vms-alpha.c (vms_bfd_is_target_special_symbol): Likewise.
|
||
(vms_bfd_define_start_stop): Likewise.
|
||
(alpha_vms_bfd_is_target_special_symbol): Likewise.
|
||
* wasm-module.c (wasm_bfd_is_target_special_symbol): Likewise.
|
||
* xsym.c (bfd_sym_bfd_is_target_special_symbol): Likewise.
|
||
* elf32-arc.c (get_replace_function): Assign replacement function
|
||
to func pointer.
|
||
* elf32-i370.c (i370_noop): Update prototype.
|
||
|
||
2018-02-13 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 22836
|
||
* elf.c (_bfd_elf_fixup_group_sections): Account for removed
|
||
relocation sections. If size reduces to just the flag word,
|
||
remove that too and mark with SEC_EXCLUDE.
|
||
* elflink.c (bfd_elf_final_link): Strip empty group sections.
|
||
|
||
2018-02-13 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 22829
|
||
* elf.c (assign_file_positions_for_non_load_sections): Rewrite
|
||
PT_GNU_RELRO setup.
|
||
|
||
2018-02-12 Zebediah Figura <z.figura12@gmail.com>
|
||
|
||
* i386msdos.c (msdos_mkobject); New function.
|
||
(msdos_object_p): New function.
|
||
(i386_msdos_vec): Use msdos_object_p as the check_format
|
||
function.
|
||
* peicode.h: Rename external_PEI_DOS_hdr, DOSMAGIC, and
|
||
NT_SIGNATURE to external_DOS_hdr, IMAGE_DOS_SIGNATURE, and
|
||
IMAGE_NT_SIGNATURE.
|
||
* peXXigen.c: Likewise.
|
||
* coff-ia64.c: Likewise.
|
||
|
||
2018-02-12 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf32-nds32.c (nds32_elf_relax_longjump3): Remove redundant
|
||
assignment.
|
||
* elf32-arc.c (elf_arc_relocate_section): Likewise.
|
||
|
||
2018-02-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* elfxx-sparc.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Reorder conditions.
|
||
(sparc_elf_append_rela): Assert that there is enough room in section.
|
||
(_bfd_sparc_elf_copy_indirect_symbol): Fix formatting.
|
||
(_bfd_sparc_elf_adjust_dynamic_symbol): Minor tweak.
|
||
(allocate_dynrelocs): Remove outdated comments and reorder conditions.
|
||
For a symbol subject to a GOT relocation, reserve a slot in the
|
||
relocation section if the symbol isn't dynamic and we are in PIC mode.
|
||
(_bfd_sparc_elf_relocate_section) <R_SPARC_GOTDATA_OP>: If relocation
|
||
is relaxed and a slot was reserved, generate a R_SPARC_NONE relocation.
|
||
<R_SPARC_GOTDATA_OP_HIX22>: Adjust comments.
|
||
<R_SPARC_PC10>: Reorder conditions. Remove always-false assertion.
|
||
(_bfd_sparc_elf_finish_dynamic_symbol): Rename local_undefweak into
|
||
resolved_to_zero. Do not generate a dynamic GOT relocation for an
|
||
undefined weak symbol with non-default visibility. Remove superfluous
|
||
'else' and fix formatting.
|
||
|
||
2018-02-09 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elf32-i386.c (elf_i386_get_synthetic_symtab): Also handle
|
||
is_solaris.
|
||
(i386_elf32_sol2_vec): Don't declare.
|
||
(elf_i386_link_setup_gnu_properties): Also handle is_solaris.
|
||
Don't set need_global_offset_table.
|
||
(elf_i386_solaris_arch_bed): New.
|
||
(elf_backend_arch_data): Set to elf_i386_solaris_arch_bed for
|
||
Solaris.
|
||
* elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Check
|
||
target_os != is_nacl instead of target_os == is_normal.
|
||
(x86_64_elf64_sol2_vec): Don't declare.
|
||
(elf_x86_64_link_setup_gnu_properties): Check target_os !=
|
||
is_nacl instead of target_os == is_normal. Don't set
|
||
need_global_offset_table.
|
||
(elf_x86_64_solaris_arch_bed): New.
|
||
(elf_backend_arch_data): Set to elf_x86_64_solaris_arch_bed for
|
||
Solaris.
|
||
* elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Keep
|
||
_GLOBAL_OFFSET_TABLE_ for Solaris.
|
||
(_bfd_x86_elf_link_setup_gnu_properties): Don't copy
|
||
need_global_offset_table.
|
||
* elfxx-x86.h (elf_x86_target_os): Add is_solaris.
|
||
(elf_x86_link_hash_table): Remove need_global_offset_table.
|
||
(elf_x86_init_table): Likewise.
|
||
|
||
2018-02-08 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elf32-i386.c (elf32_i386_copy_solaris_special_section_fields):
|
||
Remove prototype.
|
||
(i386_elf32_sol2_vec): Declared.
|
||
(elf_i386_link_setup_gnu_properties): Set
|
||
need_global_offset_table with info->output_bfd->xvec.
|
||
* elf64-x86-64.c (elf64_x86_64_copy_solaris_special_section_fields):
|
||
Remove prototype.
|
||
(x86_64_elf64_sol2_vec): Declared.
|
||
(elf_x86_64_link_setup_gnu_properties): Set
|
||
need_global_offset_table with info->output_bfd->xvec.
|
||
|
||
2018-02-08 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elf32-i386.c (elf32_i386_copy_solaris_special_section_fields):
|
||
New prototype.
|
||
(elf_i386_link_setup_gnu_properties): Set need_global_offset_table
|
||
for Solaris.
|
||
* elf64-x86-64.c (elf64_x86_64_copy_solaris_special_section_fields):
|
||
New prototype.
|
||
(elf_x86_64_link_setup_gnu_properties): Set
|
||
need_global_offset_table for Solaris.
|
||
* elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Keep the
|
||
unused _GLOBAL_OFFSET_TABLE_ for Solaris.
|
||
(_bfd_x86_elf_link_setup_gnu_properties): Copy
|
||
need_global_offset_table.
|
||
* elfxx-x86.h (elf_x86_link_hash_table): Add
|
||
need_global_offset_table.
|
||
(elf_x86_init_table): Likewise.
|
||
|
||
2018-02-08 Jim Wilson <jimw@sifive.com>
|
||
|
||
* elfnn-riscv.c (riscv_elf_relocate_section): Add comment for previous
|
||
change.
|
||
|
||
2018-02-08 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 22788
|
||
* elf.c (elf_parse_notes): Reject notes with excessuively large
|
||
alignments.
|
||
|
||
2018-02-07 Alan Modra <amodra@gmail.com>
|
||
|
||
Revert 2018-01-17 Alan Modra <amodra@gmail.com>
|
||
* elf32-ppc.c: Remove speculation barrier support.
|
||
* elf32-ppc.h: Likewise.
|
||
* elf64-ppc.c: Likewise.
|
||
* elf64-ppc.h: Likewise.
|
||
|
||
2018-02-06 Jim Wilson <jimw@sifive.com>
|
||
|
||
* elfnn-riscv.c (riscv_elf_relocate_section): Return TRUE if used
|
||
callback to report an error.
|
||
|
||
2018-02-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ld/22263
|
||
* elfxx-sparc.c (sparc_elf_tls_transition): Turn call to bfd_link_pic
|
||
into call to !bfd_link_executable and tidy up.
|
||
(_bfd_sparc_elf_check_relocs): Fix formatting and tidy up.
|
||
<R_SPARC_TLS_LE_HIX22>: Turn call to bfd_link_pic into call to
|
||
!bfd_link_executable.
|
||
<R_SPARC_TLS_IE_HI22>: Likewise.
|
||
<GOT relocations>: Remove useless code, tidy and merge related blocks.
|
||
<R_SPARC_TLS_GD_CALL>: Turn call to bfd_link_pic into call to
|
||
!bfd_link_executable.
|
||
<R_SPARC_WPLT30>: Tidy up.
|
||
(_bfd_sparc_elf_gc_mark_hook): Turn call to bfd_link_pic into call to
|
||
!bfd_link_executable.
|
||
(allocate_dynrelocs): Likewise.
|
||
(_bfd_sparc_elf_relocate_section): Fix formatting and tidy up.
|
||
<R_SPARC_TLS_GD_HI22>: Merge into...
|
||
<R_SPARC_TLS_GD_LO10>: ...this. Adjust 4th argument in call to
|
||
sparc_elf_tls_transition and remove redundant code.
|
||
<R_SPARC_TLS_LDM_HI22>: Turn call to bfd_link_pic into call to
|
||
!bfd_link_executable.
|
||
<R_SPARC_TLS_LDO_HIX22>: Likewise.
|
||
<R_SPARC_TLS_LE_HIX22>: Likewise. Tidy up.
|
||
<R_SPARC_TLS_LDM_CALL>: Likewise.
|
||
<R_SPARC_TLS_GD_CALL>: Likewise. Tidy up.
|
||
<R_SPARC_TLS_GD_ADD>: Likewise.
|
||
<R_SPARC_TLS_LDM_ADD>: Likewise.
|
||
<R_SPARC_TLS_LDO_ADD>: Likewise.
|
||
<R_SPARC_TLS_IE_LD>: Likewise.
|
||
|
||
2018-02-06 Miloš Stojanović <milos.stojanovic@rt-rk.com>
|
||
|
||
PR 22789
|
||
* elfxx-mips.c (_bfd_mips_elf_find_nearest_line): If the dwarf
|
||
functions failed to find the function name, try the generic elf
|
||
find function instead.
|
||
|
||
2018-02-06 Sergio Durigan Junior <sergiodj@redhat.com>
|
||
|
||
* coff-rs6000.c (xcoff_write_archive_contents_old): Use
|
||
'memcpy' instead of 'strncpy' when writing the magic number.
|
||
|
||
2018-02-06 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 22794
|
||
* opncls.c (bfd_get_debug_link_info_1): Check the size of the
|
||
section before attempting to read it in.
|
||
(bfd_get_alt_debug_link_info): Likewise.
|
||
|
||
2018-02-06 Paul Carroll <pcarroll@codesourcery.com>
|
||
|
||
* bfd/dwarf2.c (find_abstract_name): Modified to return file and
|
||
line information in addition to name, if they can be found.
|
||
|
||
2018-02-05 Renlin Li <renlin.li@arm.com>
|
||
|
||
PR ld/22764
|
||
* elfnn-aarch64.c (elfNN_aarch64_check_relocs): Relax the
|
||
R_AARCH64_ABS32 and R_AARCH64_ABS16 for absolute symbol. Apply the
|
||
check for writeable section as well.
|
||
|
||
2018-02-05 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/22782
|
||
* elf32-i386.c (elf_i386_check_relocs): Set got_referenced if
|
||
_GLOBAL_OFFSET_TABLE_ is referenced or GOT is needed to resolve
|
||
undefined weak symbol to 0.
|
||
* elf64-x86-64.c (elf_x86_64_check_relocs): Set got_referenced
|
||
if _GLOBAL_OFFSET_TABLE_ is referenced.
|
||
* elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Check
|
||
got_referenced instead of ref_regular_nonweak. Remove the
|
||
unused _GLOBAL_OFFSET_TABLE_ from symbol table.
|
||
* elfxx-x86.h (elf_x86_link_hash_table): Add got_referenced.
|
||
|
||
2018-02-05 Maciej W. Rozycki <macro@mips.com>
|
||
|
||
* elfnn-riscv.c (_bfd_riscv_relax_pc): Use `memset' to
|
||
initialize `hi_reloc'.
|
||
|
||
2018-02-05 Maciej W. Rozycki <macro@mips.com>
|
||
|
||
* elfxx-mips.c (_bfd_mips_elf_section_processing): For
|
||
SHT_MIPS_REGINFO sections don't assert the correct size and
|
||
report an error instead.
|
||
|
||
2018-02-05 Maciej W. Rozycki <macro@mips.com>
|
||
|
||
* elf.c (_bfd_elf_write_object_contents): Propagate a failure
|
||
status from `->elf_backend_section_processing'.
|
||
|
||
2018-02-02 Jim Wilson <jimw@sifive.com>
|
||
|
||
PR ld/22756
|
||
* elfnn-riscv.c (riscv_relax_delete_bytes): New parameter link_info.
|
||
If link_info->wrap_hash, check for a duplicate symbol and ignore.
|
||
(_bfd_riscv_relax_call, bfd_riscv_relax_lui, _bfd_riscv_relax_tls_le):
|
||
Pass new argument to riscv_relax_delete_bytes.
|
||
(_bfd_riscv_relax_align, _bfd_riscv_relax_delete): Likewise. Remove
|
||
ATTRIBUTE_UNUSED from link_info parameter.
|
||
|
||
2018-02-02 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): Don't relocate nops
|
||
emitted for toc sequence optimization. Set and use "howto" later.
|
||
|
||
2018-02-01 Simon Marchi <simon.marchi@ericsson.com>
|
||
|
||
* elf64-ppc.c (ppc64_elf_archive_symbol_lookup): Avoid pointer
|
||
arithmetic on NULL pointer.
|
||
* elflink.c (_bfd_elf_archive_symbol_lookup,
|
||
elf_link_add_archive_symbols): Likewise.
|
||
|
||
2018-01-31 Michael Matz <matz@suse.de>
|
||
|
||
* elflink.c (bfd_elf_define_start_stop): Fix check of
|
||
def_dynamic.
|
||
|
||
2018-01-31 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/21964
|
||
* elflink.c (bfd_elf_define_start_stop): Check if __start and
|
||
__stop symbols are referenced by shared objects.
|
||
|
||
2018-01-30 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 22758
|
||
* elf.c (_bfd_elf_map_sections_to_segments): Don't start a new
|
||
segment when demand paged with lma on the same page. Test this
|
||
before load/non-load, executable/non-executable,
|
||
writable/non-writable tests and simplify. Delete bogus relro
|
||
condition in writable/non-writable test. Delete outdated
|
||
comment. Formatting.
|
||
|
||
2018-01-30 Alan Modra <amodra@gmail.com>
|
||
|
||
* elflink.c (bfd_elf_define_start_stop): Make __start and __stop
|
||
symbols dynamic.
|
||
|
||
2018-01-29 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 22741
|
||
* coffgen.c (coff_pointerize_aux): Ensure auxent tagndx is in
|
||
range before converting to a symbol table pointer.
|
||
|
||
2018-01-27 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/ru.po: Updated Russian translation.
|
||
|
||
2018-01-26 Alan Modra <amodra@gmail.com>
|
||
|
||
* elflink.c (bfd_elf_define_start_stop): Override symbols when
|
||
they are defined dynamically.
|
||
|
||
2018-01-26 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (ppc64_elf_size_stubs): Iterate sizing when
|
||
.branch_lt changes size.
|
||
|
||
2018-01-25 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 22746
|
||
* elfcode.h (elf_object_p): Avoid integer overflow.
|
||
|
||
2018-01-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ld/22727
|
||
* elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>:
|
||
Do a mere lookup of the __tls_get_addr symbol instead of adding it.
|
||
|
||
Revert
|
||
2017-10-19 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/22263
|
||
* elfxx-sparc.c (sparc_elf_tls_transition): Replace
|
||
bfd_link_pic with !bfd_link_executable, !bfd_link_pic with
|
||
bfd_link_executable for TLS check.
|
||
(_bfd_sparc_elf_check_relocs): Likewise.
|
||
(allocate_dynrelocs): Likewise.
|
||
(_bfd_sparc_elf_relocate_section): Likewise.
|
||
|
||
2018-01-24 Renlin Li <renlin.li@arm.com>
|
||
|
||
* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Add support for
|
||
BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
|
||
BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
|
||
BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
|
||
BFD_RELOC_AARCH64_MOVW_PREL_G3.
|
||
* elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
|
||
(_bfd_aarch64_elf_resolve_relocation): Likewise.
|
||
|
||
2018-01-24 Renlin Li <renlin.li@arm.com>
|
||
|
||
* reloc.c: Add BFD_RELOC_AARCH64_MOVW_PREL_G0,
|
||
BFD_RELOC_AARCH64_MOVW_PREL_G0_NC, BFD_RELOC_AARCH64_MOVW_PREL_G1,
|
||
BFD_RELOC_AARCH64_MOVW_PREL_G1_NC, BFD_RELOC_AARCH64_MOVW_PREL_G2,
|
||
BFD_RELOC_AARCH64_MOVW_PREL_G2_NC, BFD_RELOC_AARCH64_MOVW_PREL_G3.
|
||
* elfnn-aarch64.c (elfNN_aarch64_howto_table): Add entries for
|
||
BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
|
||
BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
|
||
BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
|
||
BFD_RELOC_AARCH64_MOVW_PREL_G3.
|
||
* bfd-in2.h: Regenerate.
|
||
* libbfd.h: Regenerate.
|
||
|
||
2018-01-23 Maciej W. Rozycki <macro@mips.com>
|
||
|
||
* elfxx-mips.c (_bfd_mips_elf_final_link): Update a stale
|
||
`mips_elf32_section_processing' comment reference.
|
||
|
||
2018-01-20 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/22721
|
||
* elfxx-x86.c (_bfd_x86_elf_link_check_relocs): Check the
|
||
versioned __tls_get_addr symbol.
|
||
|
||
2018-01-19 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/fr.po: Updated French translation.
|
||
|
||
2018-01-18 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf32-ppc.c (ppc_elf_create_glink): Correct alignment of .glink.
|
||
* elf64-ppc.c (ppc64_elf_size_stubs): Handle negative plt_stub_align.
|
||
(ppc64_elf_build_stubs): Likewise.
|
||
|
||
2018-01-17 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/ru.po: Updated Russian translation.
|
||
* po/uk/po: Updated Ukranian translation.
|
||
|
||
2018-01-17 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (ppc64_elf_build_stubs): Silence gcc warning.
|
||
|
||
2018-01-17 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf32-ppc.c (GLINK_ENTRY_SIZE): Handle speculation barrier.
|
||
(CRSETEQ, BEQCTRM): Define.
|
||
(is_nonpic_glink_stub): Don't check bctr.
|
||
(ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
|
||
(ppc_elf_relax_section): Size speculation barrier.
|
||
(output_bctr): New function.
|
||
(write_glink_stub): Use output_bctr.
|
||
(ppc_elf_relocate_section): Use output_bctr for long branch stub.
|
||
(ppc_elf_finish_dynamic_symbol): Likewise.
|
||
(ppc_elf_finish_dynamic_sections): Use output_bctr.
|
||
* elf32-ppc.h (struct ppc_elf_params): Add speculate_indirect_jumps.
|
||
* elf64-ppc.c (CRSETEQ, BEQCTRM, BEQCTRLM): Define.
|
||
(GLINK_PLTRESOLVE_SIZE): Size speculation barrier.
|
||
(size_global_entry_stubs): Handle speculation barrier sizing.
|
||
(plt_stub_size): Likewise.
|
||
(output_bctr): New function.
|
||
(build_plt_stub, build_tls_get_addr_stub): Output speculation
|
||
barrier.
|
||
(ppc_build_one_stub): Likewise for ppc_stub_plt_branch.
|
||
(ppc_size_one_stub): Size speculation barrier in ppc_stub_plt_branch.
|
||
(build_global_entry_stubs): Output speculation barrier.
|
||
(ppc64_elf_build_stubs): Likewise in __glink_PLTresolve stub.
|
||
* elf64-ppc.h (struct ppc64_elf_params): Add speculate_indirect_jumps.
|
||
|
||
2018-01-17 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf32-ppc.c (GLINK_ENTRY_SIZE): Add parameters, handle
|
||
__tls_get_addr_opt, and alignment sizing.
|
||
(TLS_GET_ADDR_GLINK_SIZE): Delete.
|
||
(is_nonpic_glink_stub): Don't use GLINK_ENTRY_SIZE.
|
||
(ppc_elf_get_synthetic_symtab): Recognize stubs spaced at 4, 6,
|
||
or 8 insns.
|
||
(ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
|
||
(allocate_dynrelocs): Use new GLINK_ENTRY_SIZE.
|
||
(ppc_elf_size_dynamic_sections): Likewise. Size branch table
|
||
by PLT reloc count.
|
||
(write_glink_stub): Handle __tls_get_addr_opt stub.
|
||
Pad out to size given by GLINK_ENTRY_SIZE.
|
||
(ppc_elf_relocate_section): Adjust write_glink_stub call.
|
||
(ppc_elf_finish_dynamic_symbol): Likewise.
|
||
(ppc_elf_finish_dynamic_sections): Write PLTresolve without using
|
||
insn array since so many need rewriting.
|
||
* elf32-ppc.h (struct ppc_elf_params): Add plt_stub_align.
|
||
* elf64-ppc.c (GLINK_PLTRESOLVE_SIZE): Rename from
|
||
GLINK_CALL_STUB_SIZE. Add htab param and evaluate to size without
|
||
nops. Adjust all uses.
|
||
(ppc64_elf_get_synthetic_symtab): Don't use GLINK_CALL_STUB_SIZE
|
||
in glink_vma calculation.
|
||
(struct ppc_link_hash_table): Add global_entry section pointer.
|
||
(create_linkage_sections): Create separate section for global
|
||
entry stubs.
|
||
(PPC_LO, PPC_HI, PPC_HA): Move earlier.
|
||
(size_global_entry_stubs): Handle sizing for aligned stubs.
|
||
(ppc64_elf_size_dynamic_sections): Handle global_entry alloc,
|
||
and don't stash end of glink branch table in rawsize.
|
||
(ppc_build_one_stub): Rewrite stub size calculations.
|
||
(build_global_entry_stubs): Use new section.
|
||
(ppc64_elf_build_stubs): Don't pad __glink_PLTresolve with nops.
|
||
Build lazy link stubs out to end of section. Build global entry
|
||
stubs in new section.
|
||
|
||
2018-01-15 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/uk.po: Updated Ukranian translation.
|
||
|
||
2018-01-13 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/bfd.pot: Regenerated.
|
||
|
||
2018-01-13 Nick Clifton <nickc@redhat.com>
|
||
|
||
* version.m4: Bump version to 2.30.51
|
||
* configure: Regenerate.
|
||
|
||
2018-01-13 Nick Clifton <nickc@redhat.com>
|
||
|
||
2.30 branch created.
|
||
|
||
2018-01-12 Jens Widell <jl@opera.com>
|
||
|
||
* elf.c (setup_group): Optimize search for group by remembering
|
||
last found group and restarting search at that index.
|
||
* elf-bfd.h (struct elf_obj_tdata): Add group_search_offset field.
|
||
|
||
2018-01-12 Gunther Nikl <gnikl@users.sourceforge.net>
|
||
|
||
* aoutx.h (aout_link_check_ar_symbols): Remove default and handle
|
||
bfd_link_common_skip_none in switch.
|
||
|
||
2018-01-12 Alan Modra <amodra@gmail.com>
|
||
|
||
PR ld/22649
|
||
* elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Ignore dynamic
|
||
references on forced local symbols.
|
||
|
||
2018-01-12 Vlad Ivanov <vlad@ivanov.email>
|
||
|
||
* elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when
|
||
.reginfo section has wrong size.
|
||
|
||
2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/22393
|
||
* elf.c (_bfd_elf_map_sections_to_segments): When generating
|
||
separate code and read-only data LOAD segments, create a new
|
||
LOAD segment if the previous section contains text and the
|
||
current section doesn't or vice versa. Don't put a writable
|
||
section in a read-only segment if there is a RELRO segment.
|
||
|
||
2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/22649
|
||
* elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Ignore dynamic
|
||
references on forced local symbols.
|
||
|
||
2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/22677
|
||
* elflink.c (bfd_elf_gc_sections): Keep all PREINIT_ARRAY,
|
||
INIT_ARRAY as well as FINI_ARRAY sections for ld -r --gc-section.
|
||
|
||
2017-09-27 Kuan-Lin Chen <kuanlinchentw@gmail.com>
|
||
|
||
PR 22662
|
||
* elf32-nds32.c (nds32_elf_relax_loadstore): Fix a typographical error.
|
||
|
||
2018-01-03 John Baldwin <jhb@FreeBSD.org>
|
||
|
||
* elf.c (elfcore_grok_freebsd_note): Handle
|
||
NT_FREEBSD_PROCSTAT_PROC, NT_FREEBSD_PROCSTAT_FILES, and
|
||
NT_FREEBSD_PROCSTAT_VMMAP.
|
||
|
||
2018-01-03 Alan Modra <amodra@gmail.com>
|
||
|
||
Update year range in copyright notice of all files.
|
||
|
||
For older changes see ChangeLog-2017
|
||
|
||
Copyright (C) 2018 Free Software Foundation, Inc.
|
||
|
||
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:
|