aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2001-06-23 * elf32-i386.c (struct elf_i386_pcrel_relocs_copied): Rename toAlan Modra2-95/+108
elf_i386_dyn_relocs. Update comment. (struct elf_i386_link_hash_entry): Rename pcrel_relocs_copied to dyn_relocs. (elf_i386_adjust_dynamic_symbol): Remove a BFD_ASSERT, change others to aborts. (allocate_plt_and_got_and_discard_relocs): Replace BFD_ASSERT with abort. (elf_i386_size_dynamic_sections): Likewise. (elf_i386_finish_dynamic_symbol): Likewise. (elf_i386_finish_dynamic_sections): Likewise. (elf_i386_relocate_section): Likewise. Tidy R_386_GOT32 and error handling code.
2001-06-23 Avoid creating COPY relocs if possible.Alan Modra2-111/+139
* elf32-i386.c (elf_i386_check_relocs): Tweak condition under which .got created. Mark symbols used by R_386_32 and R_386_PC32 relocs as ELF_LINK_NON_GOT_REF to create COPY relocs only when the reloc is in a read-only section. Instead, allocate space for a dynamic reloc to reference the library symbol directly. Keep track of space we allocate using pcrel_relocs_copied. (discard_copies): Delete, and move code to .. (allocate_plt_and_got): ..here. Rename to allocate_plt_and_got_and_discard_relocs. Remove unneeded dynamic relocs for non-shared link. (elf_i386_size_dynamic_sections): Update calls to above functions. (elf_i386_relocate_section): Write out the dynamic relocs. Add more ugly logic to avoid "unresolvable relocation" error. Use htab shortcut in place of elf_hash_table macro. (elf_i386_finish_dynamic_sections): Allow that dynamic .got may not always be created now.
2001-06-21 * elf64-x86-64.c (elf64_x86_64_relocate_section): Fix linking ofAndreas Jaeger2-15/+14
shared libraries.
2001-06-21Fix typosNick Clifton2-1/+5
2001-06-21 * elf32-hppa.c (elf32_hppa_size_dynamic_sections): AlwaysAlan Modra2-96/+114
allocate local .got space. Use shortcuts from hash table for .got and .plt rather than comparing section names. (elf32_hppa_check_relocs): Use local_plt_refcounts var rather than adjusting index into local_got_refcounts to document what we are really doing. (elf32_hppa_relocate_section): Similarly for local_plt_offsets. Tidy .got and .plt error checking.
2001-06-20 * bfdint.texi (BFD relocation functions) <different formats>:Hans-Peter Nilsson2-5/+16
Mention that the GNU linker is aware of input-output format restrictions when generating relocatable output. Make new paragraph for final-link case. (BFD target vector swap): Fix typo.
2001-06-20 * elf-bfd.h (struct elf_backend_data):Catherine Moore4-17/+104
elf_backend_emit_relocs: New field: Function for emitting relocs. elf_backend_count_relocs: New field: Function for determining the number of relocs to be emitted. * elfxx-target.h: Provide default (NULL) values for elf_backend_emit_relocs and elf_backend_count_relocs. * elflink.h (elf_link_size_reloc_section): Make the hash table big enough to hold the relocs counted by either reloc_count or o->reloc_count. (elf_bfd_final_link) emit_relocs: New boolean, set if relocs should be emitted, either because of a command line option stored in the info structure or because the target provides a special reloc emitting function. If the target provides a reloc counting function use it, unless performing a relocatable link or emitting all relocs. Also set the SEC_RELOC flag on any output section which will contain relocs. (elf_link_input_bfd): emit_relocs: New boolean, set if relocs should be emitted, either because of a command line option stored in the info structure or because the target provides a special reloc emitting function. If the target provides a reloc emitting function, use it, unless performing a relocatable link or emitting all relocs.
2001-06-202001-06-20 H.J. Lu <hjl@gnu.org>H.J. Lu2-29/+34
* elf32-i386.c (elf_i386_size_dynamic_sections): Always allocate local .got space.
2001-06-19(elf64_x86_64_relocate_section): Fix creation of dynamic symbols.Andreas Jaeger2-23/+55
2001-06-18 * elflink.h (struct elf_assign_sym_version_info): Remove memberHans-Peter Nilsson4-13/+19
export_dynamic. All users changed to use info member. NAME(bfd_elf,size_dynamic_sections)): Remove parameter export_dynamic, instead use member in parameter info. * bfd-in.h (bfd_elf32_size_dynamic_sections, bfd_elf64_size_dynamic_sections): Update prototype. * bfd-in2.h: Regenerate.
2001-06-182001-06-18 H.J. Lu <hjl@gnu.org>H.J. Lu2-3/+41
* elflink.h (elf_info_failed): Add a new field, verdefs. (NAME(bfd_elf,size_dynamic_sections): Pass verdefs to elf_export_symbol. (elf_export_symbol): Check eif->verdefs to decide if a symbol should be exported.
2001-06-172001-06-17 H.J. Lu <hjl@gnu.org>H.J. Lu2-8/+55
* elf32-mips.c (mips_elf_link_hash_entry): Add a new field, readonly_reloc, to record if a relocation in the .rel.dyn section is against a read-only section. (mips_elf_link_hash_newfunc): Initialize the readonly_reloc field to false. (_bfd_mips_elf_check_relocs): Record if there is a relocation in the .rel.dyn section against a read-only section by setting DF_TEXTREL or readonly_reloc. (_bfd_mips_elf_copy_indirect_symbol): Copy readonly_reloc if it is true. (_bfd_mips_elf_adjust_dynamic_symbol): Record DF_TEXTREL if there is a relocation in the .rel.dyn section against a read-only section. (_bfd_mips_elf_size_dynamic_sections): Set DT_TEXTREL if DF_TEXTREL is set.
2001-06-15Chnage styp_flags_to_sec_flags() to a boolean functionNick Clifton8-208/+234
2001-06-13Only pad the tesxt section if the data section is going to follow it.Nick Clifton2-4/+13
2001-06-12 * elflink.h (elf_gc_propagate_vtable_entries): Replace FILE_ALIGNCatherine Moore2-5/+23
with the file_align entry from elf_backend_data. (elf_gc_smash_unused_vtentry_relocs): Likewise. (elf_gc_record_vtentry): Likewise.
2001-06-10 * elflink.h: Whitespace changes.Alan Modra7-37/+54
(elf_link_read_relocs_from_section): Use "unsigned int" iterator rather than "unsigned char". (elf_link_output_relocs): Likewise. (elf_link_input_bfd): Likewise. (elf_reloc_link_order): LIkewise. * elf.c: s/CONST/const/. Whitespace changes. * elf32-mips.c: Formatting fix. * Makefile.am (SOURCE_HFILES): Include xcoff-target.h, remove xcoff.h. * Makefile.in: Regenerate. * po/Make-in: Remove trailing tab.
2001-06-092001-06-09 Philip Blundell <philb@gnu.org>Phil Blundell2-2/+8
* elf32-arm.h (elf32_arm_plt0_entry): Correct error in last change. (elf32_arm_plt_entry): Likewise.
2001-06-082001-06-08 H.J. Lu <hjl@gnu.org>H.J. Lu2-3/+12
* elf.c (swap_out_syms): Keep names for global section symbols.
2001-06-082001-06-07 H.J. Lu <hjl@gnu.org>H.J. Lu2-2/+7
* config.bfd: Put back ecoff for Linux/mips. Firmwares on some MIPS-based machines need it.
2001-06-072001-06-07 H.J. Lu <hjl@gnu.org>H.J. Lu3-3/+11
* elf32-mips.c (_bfd_mips_elf_object_p): Set the bad symtab for SGI only. * config.bfd: Remove ecoff from Linux/mips.
2001-06-072001-06-07 Andreas Jaeger <aj@suse.de>Andreas Jaeger2-9/+22
* elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Add an assertion. (elf64_x86_64_check_relocs): Fix VTENTRY relocation; set an alignment of 8 for .rela sections; handle further relocations.
2001-06-06Remove warnings building z8k port.Nick Clifton2-26/+29
Fix ld -r behaviour
2001-06-05Add mips64*-*-linux hostNick Clifton2-0/+8
2001-06-05 * elf32-i386.c (elf_i386_discard_copies): Rename toAlan Modra2-345/+470
discard_copies, and use elf_link_hash_entry arg rather than elf_i386_link_hash_entry. (elf_i386_link_hash_traverse): Delete. (elf_i386_size_dynamic_sections): Adjust call to discard_copies. Tidy sizing of dynamic sections. (elf_i386_check_relocs <R_386_32, R_386_PC32>): Reference count possible .plt entries. (elf_i386_gc_sweep_hook): Likewise. (elf_i386_adjust_dynamic_symbol): Discard .plt entries for everything with plt.refcount <= 0. * elf32-i386.c (elf_i386_check_relocs): Don't allocate .got and .relgot space here. (elf_i386_gc_sweep_hook): ..and no need to deallocate here.. (elf32_hppa_adjust_dynamic_symbol): ..and don't allocate .plt and .rel.plt here.. (allocate_plt_and_got): ..instead do it all here. New function. (elf_i386_size_dynamic_sections): Allocate local .got space and call allocate_plt_and_got. No need to zap .relgot if not dynamic. (bfd_elf32_bfd_final_link): Delete. (ie. use regular final link rather than gc variety). (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define. (elf_i386_relocate_section): Use it here and correct handling of R_386_GOT32. Provide section and offset for "unresolvable relocation" error message. (elf_i386_finish_dynamic_symbol): Correct handling of R_386_GOT32. * elf32-i386.c (struct elf_i386_link_hash_table): Add sgot, sgotplt, srelgot, splt, srelplt, sdynbss, srelbss fields. (elf_i386_link_hash_table_create): Init them. (create_got_section): New function. (elf_i386_create_dynamic_sections): New function. (elf_backend_create_dynamic_sections): Set to above. (elf_i386_check_relocs): Use shortcuts from hash table rather than calling bfd_get_section_by_name. (elf_i386_gc_sweep_hook): Likewise. (elf_i386_adjust_dynamic_symbol): Likewise. (elf_i386_size_dynamic_sections): Likewise. (elf_i386_relocate_section): Likewise. (elf_i386_finish_dynamic_sections): Likewise.
2001-06-05 * elf32-hppa.c (allocate_plt_and_got): Skip indirect and warning syms.Alan Modra2-0/+8
2001-06-032001-06-02 H.J. Lu <hjl@gnu.org>H.J. Lu3-2/+36
* elf32-hppa.c (elf32_hppa_object_p): Check ELFOSABI_LINUX and ELFOSABI_HPUX. * elf64-hppa.c (elf64_hppa_object_p): Likewise.
2001-06-022001-06-02 H.J. Lu <hjl@gnu.org>H.J. Lu2-0/+6
* aout-cris.c (MACHTYPE_OK): New. Defined.
2001-06-02 * section.c (_bfd_strip_section_from_output): Handle NULLHans-Peter Nilsson2-0/+10
output_section.
2001-06-022001-06-02 H.J. Lu <hjl@gnu.org>H.J. Lu2-0/+10
* config.bfd (powerpc-*-aix*, powerpc-*-beos*, rs6000-*-*): Add rs6000coff64_vec only if BFD64 is defined. (powerpc64-*-aix*): Enable only if BFD64 is defined.
2001-06-022001-06-02 H.J. Lu <hjl@gnu.org>H.J. Lu2-24/+36
* coff-ia64.c (ia64coff_object_p): Rewrite with external_PEI_DOS_hdr and external_PEI_IMAGE_hdr.
2001-06-01 * elf64-x86-64.c (elf64_x86_64_relocate_section): Add PC8Andreas Jaeger2-9/+17
relocation, small reformatting.
2001-05-30 * elf64-x86-64.c (elf64_x86_64_check_relocs): Handle R_X86_64_64.Andreas Jaeger2-0/+7
(elf64_x86_64_relocate_section): Likewise.
2001-05-30 * elf32-hppa.c (elf32_hppa_check_relocs): Don't NEED_PLT forAlan Modra2-108/+160
millicode. Don't allocate .got and .rela.got space here.. (elf32_hppa_gc_sweep_hook): ..and no need to deallocate here.. (elf32_hppa_adjust_dynamic_symbol): ..and don't allocate .plt and .rela.plt here.. (hppa_handle_PIC_calls): ..nor here.. (allocate_plt_and_got): ..instead do it all here. New function. (elf32_hppa_size_dynamic_sections): Allocate local .got space and call allocate_plt_and_got. No need to zap .got if not dynamic. (elf32_hppa_final_link): Call regular bfd_final_link instead of gc_common_final_link. (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define. (elf32_hppa_relocate_section): Use it here. (elf32_hppa_finish_dynamic_symbol): Remove superfluous test of dynamic_sections_created. (hppa_type_of_stub): Don't LONG_BRANCH_VIA_PLT if millicode sym.
2001-05-28 * elf64-x86-64.c (elf64_86_64_size_info): Remove, we can use theAndreas Jaeger2-43/+12
generic version since we want a hashsize of 4. (elf_backend_size_info): Likewise.
2001-05-28Handle MIPS64 relocs which use a non-1 valued int_rels_per_ext_relNick Clifton2-55/+149
2001-05-28Support big endian PLT entries.Nick Clifton2-12/+24
2001-05-28 * elf32-hppa.c (elf32_hppa_relocate_section): Set up .plt entriesAlan Modra2-17/+58
for symbols forced local that need plabels. (elf32_hppa_adjust_dynamic_symbol): Don't allocate space in .plt.rela for local syms if non-shared. (hppa_build_one_stub): Mask lsb of plt.offset. (elf32_hppa_finish_dynamic_symbol): Abort if lsb of plt.offset set. (clobber_millicode_symbols): Correct comment. (elf32_hppa_relocate_section): Likewise. (elf32_hppa_finish_dynamic_symbol): Likewise.
2001-05-28Add support for .uahword, .uaword and .uaxword pseudo opsNick Clifton7-49/+74
2001-05-252001-05-25 H.J. Lu <hjl@gnu.org>H.J. Lu5-285/+279
* Makefile.am (BFD32_BACKENDS): Remove coff-pmac.lo. (BFD32_BACKENDS_CFILES): Remove coff-pmac.c. (coff-rs6000.lo): Remove the old dependency. * Makefile.in: Rebuild. * configure.in (pmac_xcoff_vec): Replace coff-pmac.lo with coff-rs6000.lo.
2001-05-252001-05-25 H.J. Lu <hjl@gnu.org>H.J. Lu3-18/+60
* coff-rs6000.c (rs6000coff_vec): Use rs6000coff_core_p, rs6000coff_core_file_matches_executable_p, rs6000coff_core_file_failing_command and rs6000coff_core_file_failing_signal only if AIX_CORE is defined. (pmac_xcoff_vec): Likewise. * coff64-rs6000.c (rs6000coff64_vec): Likewise.
2001-05-25monterey updatesTimothy Wall2-25/+27
2001-05-252001-05-25 H.J. Lu <hjl@gnu.org>H.J. Lu3-3/+26
* bfd-in2.h: Regenerated. * libcoff.h: Likewise.
2001-05-25 * elf32-hppa.c (elf32_hppa_relocate_section): Don't allowAlan Modra2-21/+45
undefined millicode syms in shared libs. (hppa_build_one_stub): Turn BFD_ASSERTs into aborts. (elf32_hppa_check_relocs): Likewise. (elf32_hppa_adjust_dynamic_symbol): Likewise. (elf32_hppa_size_dynamic_sections): Likewise. (elf32_hppa_relocate_section): Likewise. (elf32_hppa_finish_dynamic_symbol): Likewise. (elf32_hppa_finish_dynamic_sections): Likewise.
2001-05-24Support for xcoff64Tom Rix15-2445/+5071
2001-05-23* elf64-sparc.c (sparc64_elf_slurp_reloc_table): Fix typoAlexandre Oliva2-1/+6
s/ENTIRES/ENTRIES/.
2001-05-23Add MIPS ELF64 relocsNick Clifton4-0/+48
2001-05-23Add MIPS r12k supportNick Clifton9-164/+178
2001-05-23Change PLT code to avoid using r2 - it used by GCC to return large starturesNick Clifton2-0/+117
2001-05-23Replace sh_size/sh_entsize with NUM_SHDR_ENTRIESNick Clifton10-31/+44
2001-05-21 * dwarf2.c (decode_line_info): Fix error message.Andreas Jaeger2-3/+9
(read_abbrevs): Fix test for offset as suggested by Alan Modra and adjust error message.