Age | Commit message (Collapse) | Author | Files | Lines |
|
indirection symbol is overridden, make the original symbol point
at the real overriding symbol.
|
|
string index.
|
|
common symbol.
* elf32-mips.c (mips_elf_link_output_symbol_hook): If a common
symbol was in .scommon, mark it as SHN_MIPS_SCOMMON.
PR 12697.
|
|
* elflink.h (elf_merge_symbols): Resolve indirect and warning
symbols before checking for new symbols.
|
|
* elfcore.h (elf_corefile_note): Move out of HAVE_SYS_PROCFS_H.
|
|
file, not aoutsz bytes (they are different in XCOFF .o files).
|
|
|
|
symbol overriding an old defined symbol, return the hash table
entry which we modify, even if it is the target of an
indirection.
(elf_link_add_object_symbols): If the real name of the symbol gets
overridden, convert the versioned symbol into an indirect symbol
to the real symbol.
|
|
elf_link_add_object_symbols.
(elf_link_add_object_symbols): Call it.
|
|
handle case where COFF filehdr does not immediately follow PE
header.
* coffgen.c (coff_object_p): Remove useless seek to current
location.
|
|
REFC.
|
|
|
|
symbol in a regular object override a common symbol in a shared
object if the latter was found via an indirect symbol.
|
|
symbols, skip N_ABS symbols with debugging storage classes.
PR 12630.
Also a couple of warning and formatting fixes.
|
|
|
|
* elf32-ppc.c (ppc_elf_relocate_section): Don't emit R_PPC_REL*
relocs in shared libraries which refer to local symbols. Cope
with addend when processing a GOT relocation.
* elf32-ppc.c (ppc_elf_size_dynamic_sections): Only create symbols
for sections that the linker didn't create.
(ppc_elf_finish_dynamic_sections): Only try to write out a section
symbol if it was created in ppc_elf_size_dynamic_sections.
(ppc_elf_relocate_section): Complain if we have to generate a reloc
relative to a section for which we didn't output a symbol.
* elf32-ppc.c (ppc_elf_size_dynamic_sections): Clean up. PLT
relocs are 'rela' relocs, like everything else. .rela.plt is not
a read-only section, so we don't have to special-case it.
* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Entries in the
.rela.bss section are (of course) 'rela' relocs not 'rel' relocs.
* elf32-ppc.c (ppc_elf_check_relocs): Initialise srelgot.
(ppc_elf_relocate_section): @got offsets are 4 from start of the
actual .got section.
* elflink.c (_bfd_elf_create_got_section): The three reserved
words start from the symbol '_GLOBAL_OFFSET_TABLE_'.
* elf32-ppc.c (ppc_elf_size_dynamic_sections): '.rela' is 5
characters, not 4.
* elf32-ppc.c (ppc_elf_check_relocs): Use
_bfd_elf_create_got_section to create the GOT rather than
ppc_elf_create_linker_section. Create the '.rela.got' section
ourselves.
(ppc_elf_finish_dynamic_symbol): Set up GOT relocations when a
symbol has a GOT entry.
(ppc_elf_relocate_section): Record when a symbol is used through
the GOT, and allocate space in the GOT for each such symbol.
(ppc_elf_adjust_dynamic_symbol): Delete unused .got.plt stuff.
(ppc_elf_create_linker_section): Delete unused LINKER_SECTION_GOT
stuff.
* elf32-ppc.c (ppc_elf_howto_raw): GOT16_HA relocs should be
treated in a similar way to ADDR16_HA relocs.
(ppc_elf_relocate_section): PLTREL24 relocs do not get copied into
shared objects; the linker must deal with them.
(ppc_elf_create_linker_section): Stop setting
_GLOBAL_OFFSET_TABLE_ to the wrong value; delete unused
LINKER_SECTION_PLT stuff.
(ppc_elf_check_relocs): Delete unused LINKER_SECTION_PLT stuff.
(ppc_elf_finish_dynamic_sections): Use BFD calls to get GOT
section, not ELF-specific calls.
(elf_backend_plt_not_loaded): Set to 1.
(elf_backend_got_symbol_offset): Set to 4.
* elf-bfd.h (elf_backend_data): Add 'plt_not_loaded' member
for when ld.so fills in the PLT; and 'got_symbol_offset' member.
* elflink.c (_bfd_elf_create_dynamic_sections): Apply
plt_not_loaded member.
(_bfd_elf_create_got_section): Apply got_symbol_offset.
* elfxx-target.h (elf_backend_plt_not_loaded): Set default to
'loaded'.
(elf_backend_G_O_T_offset): Set default to 0.
(elfNN_bed): Set added fields.
* elf32-ppc.c (ppc_elf_size_dynamic_sections): Was setting
DT_RELENT in shared objects; should be DT_RELAENT.
* elf32-ppc.c (ppc_elf_relocate_section): Propagate
R_PPC_ADDR16_HA relocs to shared objects. Cope with case where
such a reloc (in a non-shared object) refers to a symbol that's
not defined.
|
|
|
|
|
|
shared library, do the relocation if the input section is not
allocated in memory.
|
|
* elfcode.h (put_signed_word): Define.
(get_signed_word): Define.
(elf_swap_reloca_in): Use get_signed_word for the r_addend field.
(elf_swap_reloca_out): Use put_signed_word for the r_addend
field.
* elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Use
bfd_get_signed_32 to set the r_addend field.
* elf64-mips.c (mips_elf64_swap_reloca_in): Use
bfd_h_get_signed_64 to set the r_addend field.
|
|
elf_link_assign_sym_version before elf_adjust_dynamic_symbol.
(elf_fix_symbol_flags): New static function, broken out of
elf_adjust_dynamic_symbol.
(elf_adjust_dynamic_symbol): Call elf_fix_symbol_flags.
(elf_link_assign_sym_version): Likewise. Permit a symbol to be
forced local even if NEEDS_PLT is set. When forcing a symbol to
be local, clear NEEDS_PLT.
(elf_link_output_extsym): Remove unused local bed.
|
|
for derived elf linker hash table entries. References to
elf_link_hash_entry changed appropriately.
(elf32_mn10300_link_hash_table): New structure for derived elf
linker hash table.
(elf32_mn10300_hash_table): Define.
(elf32_mn10300_link_hash_traverse): Likewise.
(elf32_mn10300_link_hash_newfunc): New function.
(elf32_mn10300_link_hash_table_create): Likewise.
(elf32_mn10300_finish_hash_table_entry): Likewise.
(mn10300_elf_relax_section): Handle "call" -> "calls", removal
of prologue code, and call:32->call:16 relaxing.
(compute_function_info: New function.
(bfd_elf32_bfd_ilink_hash_table_create): Define.
|
|
|
|
(enum) type.
|
|
for a symbol which is being forced to be local.
* elf32-i386.c (elf_i386_relocate_section): Write out the
relocation value for a GOT reloc for a symbol which is turning
into a local symbol.
(elf_i386_finish_dynamic_symbol): If a symbol is turning into a
local symbol, write out a RELATIVE reloc rather than a GLOB_DAT
reloc.
* elf32-m68k.c, elf32-sparc.c: Corresponding changes.
|
|
value if the symbol is turning into a local symbol.
* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
|
|
information by calling `_bfd_elf_slurp_version_tables'.
(elf_link_add_object_symbols): For undefined symbols look for
version informaiton in the verneed records.
(elf_link_add_object_symbols): Use soname of shared object
for verneed record if it is available.
|
|
* cpu-arm.c: Add prototypes for compatible and scan.
* cofflink.c: Add prototype for mark_relocs.
* archive.c (bfd_special_undocumented_glue): Change filename to
const pointer. Add prototype.
|
|
<schwab@issan.informatik.uni-dortmund.de>
* elflink.h (elf_link_add_object_symbols): Ignore relocations of
sections that will be discarded.
|
|
for known version symbol skip non-matching verdef records, not
matching records.
|
|
|
|
|
|
for a section even if it is not loaded.
Otherwise compiling this
static char bar; char *foo() { return &bar; }
without -fpic and then doing ld -shared OBJECT dumps core.
|
|
section VMA.
(_bfd_coff_link_input_bfd): Separate section VMA handling for
input and output files.
(_bfd_coff_generic_relocate_section): Check whether input file,
not output file, is a PE file.
|
|
R_IMAGEBASE reloc.
|
|
|
|
member.
Fixes linker bug on hpux-x-i960-vxworks.
|
|
gas/config/tc-arm.c .
|
|
* elf64-alpha.c (PLT_ENTRY_*): Use a new thread-safe format.
(elf64_alpha_finish_dynamic_symbol): Fill it in properly.
|
|
section VMA.
|
|
(coff_bfd_copy_private_bfd_data): Ditto.
* coff-arm.c (coff_arm_bfd_merge_private_bfd_data): Make static.
(coff_arm_bfd_print_private_bfd_data): Ditto.
(coff_arm_bfd_set_private_flags): Ditto.
(coff_arm_bfd_copy_private_bfd_data): Ditto.
|
|
global_to_static member for support of task linking.
(_bfd_coff_write_task_globals): Add prototype.
* libcoff.h: Regenerate.
* coffcode.h (coff_write_object_contents): Use #ifdef to
check RS6000COFF_C, to be consistent with all other uses
in this file.
* cofflink.c (_bfd_coff_final_link): If doing task linking,
call _bfd_coff_write_task_globals.
(_bfd_coff_link_input_bfd): If doing task linking, convert
global functions to static.
(_bfd_coff_write_global_sym): If doing task linking, convert
global variables to static.
(_bfd_coff_write_task_globals): New function.
* coff-tic80.c (TIC80COFF): Define this instead of just TIC80.
(C_AUTOARG): #undef since it clashes with C_UEXT.
(C_LASTENT): #undef since it clashes with C_STATLAB.
* coffcode.h (coff_write_object_contents): Use TIC80COFF
rather than TIC80.
(coff_slurp_symbol_table): Use C_SYSTEM. Hide C_AUTOARG use
when TIC80COFF defined (clashes with C_UEXT). Explicitly
recognize C_UEXT, C_STATLAB, and C_EXTLAB as unsupported.
PR 12236
|
|
PP relocations to complain_overflow_dont.
|
|
name of R_RELLONG to "RELLONG". Set rightshift and complain for
M_PPCR.
(ppbase_reloc, glob15_reloc): New static functions.
(glob16_reloc, local16_reloc): New static functions.
(rtype2howto): Handle all relocation types.
(coff_tic80_relocate_section): New static function.
(coff_relocate_section): Define to coff_tic80_relocate_section.
* Makefile.in (coff-tic80.o): Depends upon include/coff/tic80.h.
|
|
|
|
COFF_IMAGE_WITH_PE, don't subtract the section VMA from the symbol
value.
* coffgen.c (fixup_symbol_value): Add abfd parameter. Change all
callers. If PE file, don't add section VMA.
(coff_write_alien_symbol): If PE file, don't add section VMA.
* cofflink.c (_bfd_coff_link_input_bfd): Likewise.
(_bfd_coff_write_global_sym): Likewise.
(_bfd_coff_generic_relocate_section): Likewise.
|
|
is 64 bits.
|
|
used in relocations.
|
|
(coff_bfd_merge_private_bfd_data): Define.
PR 12351.
|
|
* config.bfd: Set targ_underscore to yes for tic80.
|