Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
it is actually picked up.
|
|
* elf-bfd.h (struct elf_link_hash_table): Add
is_relocatable_executable.
* elf.c (_bfd_elf_link_hash_table_init): Initialize it.
* elflink.c (bfd_elf_link_record_dynamic_symbol): Create local dynamic
symbols in relocatable executables.
(bfd_elf_record_link_assignment): Create dynamic section symbols in
relocatable executables.
(_bfd_elf_link_renumber_dynsyms): Ditto.
(bfd_elf_final_link): Ditto.
* elf32-arm.c (elf32_arm_final_link_relocate): Copy absolute
relocations into relocatable executables.
(elf32_arm_check_relocs): Crate dynamic sections for relocatable
executables. Also copy absolute relocations.
(elf32_arm_adjust_dynamic_symbol): Don't create copy relocations
in relocatable executables.
(allocate_dynrelocs): Copy relocations for relocatable executables.
Output dynamic symbols for symbols defined in linker scripts.
|
|
|
|
|
|
old-style branches to undefined dot-symbols which will be
satisfied by a plt call.
|
|
(ppc64_elf_copy_indirect_symbol): ..here.
(func_desc_adjust): Use move_plt_plist.
|
|
|
|
* elf32-arm.c (elf32_arm_final_link_relocate): Handle R_ARM_THM_PC9.
|
|
* elflink.c (bfd_elf_record_link_assignment): Make hidden and internal
symbols local.
(elf_link_renumber_hash_table_dynsyms): Ignore local symbols.
(elf_link_renumber_local_hash_table_dynsyms): New function.
(_bfd_elf_link_renumber_dynsyms): Number local dynamic symbols.
ld/testsuite/
* ld-elfvsb/hidden2.s: New file
* ld-elfvsb/hidden2.d: New file
* ld-elfvsb/hidden2.ld: New file
|
|
* bfd-in2.h: Rebuilt.
* elflink.c (bfd_elf_size_dynamic_sections): Disregard
BFD_LINKER_CREATED bfds when determining input bfds without
.note.GNU-stack section.
* emultempl/hppaelf.em (hppaelf_create_output_section_statements):
Set BFD_LINKER_CREATED on the stubs bfd.
* emultempl/ppc64elf.em (ppc_create_output_section_statements):
Likewise.
|
|
* elfn32-mips.c (mips16_gprel_reloc): Keep R_MIPS16_GPREL
relocations against external symbols unchanged.
|
|
|
|
|
|
* elflink.c (elf_link_input_bfd): Ignore symbols from null input
sections.
|
|
prefix here.
|
|
|
|
|
|
|
|
* elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove special handling for
*ABS*/*UND* sections.
(elf32_frv_relocate_section): Move zero-addend-required error...
(_frv_emit_got_relocs_plt_entries): ... here. Report error for
missing needed TLS section.
ld/testsuite/ChangeLog:
* ld-frv/fdpic-shared-8-fail.d: Tweak error messages.
|
|
symbol was last.
|
|
being the last symbol.
|
|
R_MIPS_GPREL32 relocations against external symbols.
* elf64-mips.c (mips_elf64_gprel32_reloc): Replace an incorrect
comment.
|
|
* elf.c (bfd_elf_string_from_elf_section): Expand occurrence of
elf_string_from_elf_strtab.
(_bfd_elf_setup_group_pointers, bfd_section_from_shdr): Likewise.
(bfd_section_from_shdr): For SHT_SYMTAB, load SHT_SYMTAB_SHNDX too
if it exists. Don't do the reverse for SHT_SYMTAB_SHNDX. For
SHT_STRTAB, check whether the strtab is for symtab or dynsymtab by
looking at cached symtab info first, before iterating over headers.
For SHT_REL and SHT_RELA, load dynsymtab if needed.
* elfcode.h (elf_object_p): Don't load section header stringtab
|
|
|
|
* elf32-i386.c (elf_i386_relocate_section): Disallow R_386_GOTOFF
against protected function when building shared library.
PR 584
* elf64-x86-64.c (is_32bit_relative_branch): New.
(elf64_x86_64_relocate_section): Alllow R_X86_64_PC32 on a
protected function symbol when building shared library for
32bit relative branch instruction.
|
|
syms when doing a relocatable link.
(ppc64_elf_gc_mark_hook): Check that syms are defined before looking
at u.def.section.
(ppc64_elf_tls_setup): Likewise.
(ppc64_elf_edit_opd): Don't use an undefined func desc sym.
|
|
(link_hash_newfunc): Clear all locals using memset.
(make_fdh): Remove flags param. Always create fake func desc
weak. Link the descriptor with the code entry sym.
(ppc64_elf_archive_symbol_lookup): Don't return fake syms.
(add_symbol_adjust): Adjust make_fdh call.
(func_desc_adjust): Likewise. Twiddle any pre-existing fake
descriptor to strong undefined if code entry is strong.
|
|
* elflink.c (bfd_elf_record_link_assignment): Do "provide" symbol
lookup here. Set to new before calling bfd_link_repair_undef_list.
(elf_smash_syms): Check that u.undef.weak isn't the not_needed bfd.
ld/
emultempl/elf32.em (gld${EMULATION_NAME}_find_exp_assignment): Don't
look up symbol for etree_provide here.
|
|
|
|
* bfdlink.h (struct bfd_link_hash_entry): Add u.undef.weak.
bfd/
* linker.c (_bfd_generic_link_add_one_symbol): Set u.undef.weak.
* elflink.c (elf_smash_syms): Restore symbols that were undefweak
before the as-needed lib was loaded. Abort on unexpected refs.
|
|
|
|
(elf_link_add_object_symbols): Only call elf_smash_syms for
as-needed dynamic objects.
|
|
just the fields specific to hppa64.
|
|
everything, just the field specific to ia64.
|
|
|
|
* elf64-ppc.c (func_desc_adjust): Move code creating func desc sym to..
(make_fdh): ..here. New function. Don't set BSF_OBJECT for
undefined syms.
(struct add_symbol_adjust_data): New.
(add_symbol_adjust): Make an undefweak func desc for old ABI
objects to link with --as-needed shared libs. Return fail status.
Don't adjust old ABI func entry sym to weak if func desc syms
isn't defined.
(ppc64_elf_check_directives): Adjust call to add_symbol_adjust,
and return status.
ld/testsuite/
* ld-powerpc/tlsso.r: Update.
* ld-powerpc/tlstocso.r: Update.
|
|
for clarity.
|
|
* bfdlink.h (bfd_link_repair_undef_list): Declare.
bfd/
* elf64-ppc.c (ppc64_elf_check_directives): Move undefs list fixup..
* linker.c (bfd_link_repair_undef_list): ..to new function, but don't
remove anything but new and undefweak.
* elflink.c (_bfd_elf_link_create_dynamic_sections): Override any
existing _DYNAMIC.
(_bfd_elf_create_dynamic_sections): Formatting.
(bfd_elf_record_link_assignment): Call bfd_link_repair_undef_list.
(_bfd_elf_merge_symbol): Don't handle as-needed syms here.
(struct elf_smash_data): New.
(elf_smash_syms): New function.
(elf_link_add_object_symbols): Call elf_smash_syms. Don't add
unneeded dynamic objects to loaded list.
(elf_link_output_extsym): Don't handle as-needed here. Strip
bfd_link_hash_new symbols.
* elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
delref when dynindx is already -1.
* elf64-alpha.c (elf64_alpha_output_extsym): Strip bfd_link_hash_new
symbols.
* elfxx-mips.c (mips_elf_output_extsym): Likewise.
ld/
* ld.texinfo: Clarify --as-needed operation.
|
|
|
|
bfd-in.h, bfdio.c, coff-alpha.c, coff-arm.c, coff-h8300.c,
coff-i860.c, coff-mcore.c, coff-or32.c, coff-ppc.c, coff-sh.c,
coff-sparc.c, coffcode.h, coffgen.c, cofflink.c, cpu-cris.c,
cpu-h8500.c, cpu-ns32k.c, ecoff.c, ecofflink.c, elf.c,
elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-hppa.c,
elf32-i860.c, elf32-ip2k.c, elf32-m32r.c, elf32-sh.c,
elf32-v850.c, elf64-mips.c, elf64-sparc.c, elflink.c,
i386aout.c, i386msdos.c, i386os9k.c, ieee.c, mach-o.c,
nlm32-sparc.c, oasys.c, opncls.c, pdp11.c, pe-mips.c, peXXigen.c,
pef.c, peicode.h, reloc.c, riscix.c, section.c, simple.c, som.c,
sparclynx.c, targets.c, vms-misc.c, vms-tir.c, xsym.c, doc/chew.c,
hosts/delta68.h, hosts/vaxbsd.h: Remove #if 0'd code
throughout. Similarly, collapse #if 1'd code.
|
|
|
|
* elf.c (bfd_elf_discard_group): Likewise.
* elfxx-target.h (bfd_elfNN_bfd_discard_group): Remove macro.
|
|
(_bfd_elf_eh_frame_address_size): Declare.
* elfxx-target.h (elf_backend_eh_frame_address_size): Define a default.
(elfNN_bed): Initialize elf_backend_eh_frame_address_size.
* elfxx-mips.h (_bfd_mips_elf_eh_frame_address_size): Declare.
(elf_backend_eh_frame_address_size): Define.
* elfxx-mips.c (_bfd_mips_elf_eh_frame_address_size): New function.
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Get the address
size from the new backend hook.
(_bfd_elf_write_section_eh_frame): Likewise.
(_bfd_elf_eh_frame_address_size): New function.
|
|
* gettext.m4: Only set ENABLE_NLS when gettext is present.
|
|
SHF_WRITE for .init_array, .fini_array, and .preinit_array.
|
|
|
|
|
|
|
|
|