aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf64-x86-64.c
AgeCommit message (Collapse)AuthorFilesLines
2001-10-15 * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Merge dyn_relocAlan Modra1-0/+2
counts for aliases instead of aborting. * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise. * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise. * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Set plt.offset to -1 for non-function symbols. * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise. * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise. * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise. * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise. * elf64-x86-64.c (elf64_x86_64_adjust_dynamic_symbol): Likewise. * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Refer to plt.offset instead of plt.refcount when setting to -1.
2001-09-29 * elf-bfd.h (struct elf_link_local_dynamic_entry): Add init_refcount.Alan Modra1-16/+7
(struct elf_backend_data): Add can_refcount. * elf.c (_bfd_elf_link_hash_newfunc): Get rid of a few casts. Set got.refcount and plt.refcount from init_refcount. (_bfd_elf_link_hash_table_init): Set up init_refcount. (_bfd_elf_link_hash_copy_indirect): Reference got/plt.refcount rather than got/plt.offset, and test for <= 0 rather than -1. * elflink.h (size_dynamic_sections): Set init_refcount to -1. * elfxx-target.h (elf_backend_can_refcount): Define. (elfNN_bed): Init can_refcount. * linker.c (_bfd_link_hash_newfunc): Get rid of a few casts. (_bfd_generic_link_hash_newfunc): Likewise. * elf32-cris.c (cris_elf_check_relocs): Modify for refcounts starting from zero. (elf_backend_can_refcount): Define. * elf32-hppa.c (elf32_hppa_check_relocs): Modify for refcounts starting from zero. (elf32_hppa_copy_indirect_symbol): Make static to agree with prototype. (elf_backend_can_refcount): Define. * elf32-i386.c (elf_i386_check_relocs): Modify for refcounts starting from zero. (allocate_dynrelocs): Set plt/got.offset rather than *.refcount. (elf_i386_finish_dynamic_symbol): Expand SHN_UNDEF comment. (elf_i386_finish_dynamic_sections): Use local var so line < 80 chars. (elf_backend_can_refcount): Define. (elf_i386_copy_indirect_symbol): Make static to agree with prototype. Formatting fix. * elf32-m68k.c (elf_m68k_check_relocs): Modify for refcounts starting from zero. (elf_backend_can_refcount): Define. * elf32-ppc.c (ppc_elf_check_relocs): Modify for refcounts starting from zero. (elf_backend_can_refcount): Define. * elf32-s390.c (elf_s390_check_relocs): Modify for refcounts starting from zero. (elf_backend_can_refcount): Define. * elf64-s390.c (elf_s390_check_relocs): Modify for refcounts starting from zero. (elf_backend_can_refcount): Define. * elf64-x86-64.c (elf64_x86_64_check_relocs): Modify for refcounts starting from zero. (elf_backend_can_refcount): Define.
2001-09-28 * elf64-x86-64.c (elf64_x86_64_reloc_type_lookup): Don't map bfdAlan Modra1-2/+1
reloc code using x86_64_reloc_map.
2001-09-24 * elf-bfd.h (elf_backend_reloc_type_class): Pass in the entireAlan Modra1-4/+5
reloc rather than just the type. (_bfd_elf_reloc_type_class): Likewise. * elf.c (_bfd_elf_reloc_type_class): Likewise. * elf32-arm.h (elf32_arm_reloc_type_class): Likewise. * elf32-cris.c (elf_cris_reloc_type_class): Likewise. * elf32-i386.c (elf_i386_reloc_type_class): Likewise. * elf32-m68k.c (elf32_m68k_reloc_type_class): Likewise. * elf32-ppc.c (ppc_elf_reloc_type_class): Likewise. * elf32-s390.c (elf_s390_reloc_type_class): Likewise. * elf32-sh.c (sh_elf_reloc_type_class): Likewise. * elf32-sparc.c (elf32_sparc_reloc_type_class): Likewise. * elf64-alpha.c (elf64_alpha_reloc_type_class): Likewise. * elf64-s390.c (elf_s390_reloc_type_class): Likewise. * elf64-sparc.c (sparc64_elf_reloc_type_class): Likewise. * elf64-x86-64.c (elf64_x86_64_reloc_type_class): Likewise. * elfxx-ia64.c (elfNN_ia64_reloc_type_class): Likewise. * elflink.h: Formatting fixes. (elf_link_sort_relocs): Make "count" and "size" bfd_size_type. Call bfd_zmalloc rather than calloc. Remove unnecessary cast of o->contents to PTR. Update call to elf_backend_reloc_type_class.
2001-09-20 * bfd.c (bfd_archive_filename): New function.Alan Modra1-1/+1
* bfd-in2.h: Regenerate. * aout-adobe.c: Replace bfd_get_filename with bfd_archive_filename in error messages where the bfd is an input bfd. * aout-cris.c: Likewise. * coff-arm.c: Likewise. * coff-mcore.c: Likewise. * coff-ppc.c: Likewise. * coff-rs6000.c: Likewise. * coff-sh.c: Likewise. * coff-tic54x.c: Likewise. * coff-tic80.c: Likewise. * coff64-rs6000.c: Likewise. * coffcode.h: Likewise. * coffgen.c: Likewise. * cofflink.c: Likewise. * ecofflink.c: Likewise. * elf-hppa.h: Likewise. * elf.c: Likewise. * elf32-arm.h: Likewise. * elf32-cris.c: Likewise. * elf32-gen.c: Likewise. * elf32-hppa.c: Likewise. * elf32-i370.c: Likewise. * elf32-i386.c: Likewise. * elf32-m32r.c: Likewise. * elf32-mcore.c: Likewise. * elf32-mips.c: Likewise. * elf32-ppc.c: Likewise. * elf32-s390.c: Likewise. * elf32-sh.c: Likewise. * elf32-sparc.c: Likewise. * elf32-v850.c: Likewise. * elf64-alpha.c: Likewise. * elf64-gen.c: Likewise. * elf64-ppc.c: Likewise. * elf64-s390.c: Likewise. * elf64-sparc.c: Likewise. * elf64-x86-64.c: Likewise. * elflink.h: Likewise. * elfxx-ia64.c: Likewise. * ieee.c: Likewise. * ihex.c: Likewise. * libbfd.c: Likewise. * pdp11.c: Likewise. * pe-mips.c: Likewise. * peicode.h: Likewise. * srec.c: Likewise. * xcofflink.c: Likewise. * elf32-arm.h: Make _bfd_error_handler calls K&R compatible. * elflink.c (_bfd_elf_create_linker_section): Better grammar for error message. * coff-mcore.c (coff_mcore_relocate_section): Internalionalise error message. * elf64-sparc.c (sparc64_elf_add_symbol_hook): Constify stt_types. Consolidate error messages, and split long messages to two lines.
2001-09-20coordinate info->symbolic and info->allow_shlib_undefinedNick Clifton1-1/+3
2001-09-18Touches most files in bfd/, so likely will be blamed for everything..Alan Modra1-23/+27
o bfd_read and bfd_write lose an unnecessary param and become bfd_bread and bfd_bwrite. o bfd_*alloc now all take a bfd_size_type arg, and will error if size_t is too small. eg. 32 bit host, 64 bit bfd, verrry big files or bugs in linker scripts etc. o file_ptr becomes a bfd_signed_vma. Besides matching sizes with various other types involved in handling sections, this should make it easier for bfd to support a 64 bit off_t on 32 bit hosts that provide it. o I've made the H_GET_* and H_PUT_* macros (which invoke bfd_h_{get,put}_*) generally available. They now cast their args to bfd_vma and bfd_byte * as appropriate, which removes a swag of casts from the source. o Bug fixes to bfd_get8, aix386_core_vec, elf32_h8_relax_section, and aout-encap.c. o Zillions of formatting and -Wconversion fixes.
2001-08-23 * elf64-x86-64.c (elf64_x86_64_check_relocs): Set DF_TEXTREL ifAndreas Jaeger1-27/+25
the reloc is against read-only section. (elf64_x86_64_size_dynamic_sections): Use DF_TEXTREL flag instead of looking up section names for DT_TEXTREL. (elf64_x86_64_reloc_type_class): New. (elf_backend_reloc_type_class): Define.
2001-08-10 * elf64-x86-64.c (elf64_x86_64_elf_object_p): Make static.Andreas Jaeger1-1/+12
Add prototypes where needed.
2001-06-21 * elf64-x86-64.c (elf64_x86_64_relocate_section): Fix linking ofAndreas Jaeger1-13/+7
shared libraries.
2001-06-19(elf64_x86_64_relocate_section): Fix creation of dynamic symbols.Andreas Jaeger1-23/+50
2001-06-072001-06-07 Andreas Jaeger <aj@suse.de>Andreas Jaeger1-9/+15
* 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-01 * elf64-x86-64.c (elf64_x86_64_relocate_section): Add PC8Andreas Jaeger1-9/+12
relocation, small reformatting.
2001-05-30 * elf64-x86-64.c (elf64_x86_64_check_relocs): Handle R_X86_64_64.Andreas Jaeger1-0/+2
(elf64_x86_64_relocate_section): Likewise.
2001-05-28 * elf64-x86-64.c (elf64_86_64_size_info): Remove, we can use theAndreas Jaeger1-37/+0
generic version since we want a hashsize of 4. (elf_backend_size_info): Likewise.
2001-04-30 * elf64-x86-64.c (elf64_x86_64_relocate_section): Correct test forAndreas Jaeger1-5/+5
R_X86_64_GOTPCREL, don't use assignments instead of comparisons.
2001-04-29 * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Only swapAndreas Jaeger1-87/+56
out handled entries. (elf64_x86_64_finish_dynamic_symbol): Set up GOT entries. (elf64_x86_64_relocate_section): Fix GOTPCREL calculation. (elf64_x86_64_relocate_section): Merge entries for GOTPCREL and GOT32.
2001-04-232001-04-23 Bo Thorsen <bo@suse.de>Andreas Jaeger1-28/+84
* x86-64.h: Add vtable support. 2001-04-23 Bo Thorsen <bo@suse.de> * elf64-x86-64.c: Add c++ vtable hack. Small whitespace and comment changes.
2001-04-192001-04-19 Andreas Jaeger <aj@suse.de>Andreas Jaeger1-12/+47
* elf64-x86-64.c (elf64_x86_64_plt0_entry): Fix instructions. (elf64_x86_64_plt_entry): Likewise. (elf64_x86_64_finish_dynamic_sections): Fix PLT0 generation. (elf64_x86_64_finish_dynamic_symbol): Fix PLT generation.
2001-03-072001-03-07 Andreas Jaeger <aj@suse.de>Andreas Jaeger1-1/+35
* elf64-x86-64.c (elf64_x86_64_relocate_section): Fix handling of some relocation values.
2001-02-282001-02-28 Andreas Jaeger <aj@suse.de>Andreas Jaeger1-3/+3
* elf64-x86-64.c (elf64_x86_64_relocate_section): Add relocation to addend.
2001-02-262001-02-26 Andreas Jaeger <aj@suse.de>Andreas Jaeger1-2/+2
* elf64-x86-64.c (x86_64_elf_howto_table): Fix order of entries.
2001-02-202001-02-20 Andreas Jaeger <aj@suse.de>Andreas Jaeger1-0/+7
* elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Don't make PLT entries that could serve as a definition for a weak symbol.
2001-02-142001-02-14 Bo Thorsen <bo@suse.de>Andreas Jaeger1-95/+149
* elf64-x86-64.c: Small formatting fixes and rearrangements of code. (elf64_86_64_size_info): Struct added to fix a problem with the hashtable string entries. (elf64_x86_64_adjust_dynamic_symbol): Add generation of .got.plt. (elf64_x86_64_size_dynamic_sections): A FIXME removed. (elf64_x86_64_size_dynamic_sections): Fix a dynamic entry and remove the FIXME for this. (elf64_x86_64_adjust_dynamic_symbol): Fix check for unneeded .plt section. Also removed the FIXME for it. (x86_64_elf_howto_table): Use bfd_elf_generic_reloc. (ELF_DYNAMIC_INTERPRETER): Fix the name of the dynamic linker. (elf64_x86_64_finish_dynamic_sections): Enable .got.plt writing.
2001-02-122001-02-09 Bo Thorsen <bo@suse.de>Jan Hubicka1-9/+80
* elf64-x86-64.c (elf64_x86_64_check_relocs): Set .rela.got section alignment to 3. (elf64_x86_64_check_relocs): Write R_X86_64_GOTPCREL GOT entry and relocation. (elf64_x86_64_relocate_section): Fix formatting. (elf64_x86_64_relocate_section): Fix addend for relocation of R_X86_64_(8|16|32|PC8|PC16|PC32).
2001-02-12 * elf64-x86-64.c (x86_64_elf_howto): Fix name of R_X86_64_GOTPCREL.Jan Hubicka1-1/+1
* tc-i386.c (i386_displacement): Fix handling of BFD_RELOC_X86_64_GOTPCREL. (i386_validate_fix): Likewise.
2001-01-232001-01-23 Kazu Hirata <kazu@hxi.com>Kazu Hirata1-1/+0
* aoutx.h: Fix formatting. * bfd.c: Likewise. * bfd-in2.h: Likewise. * bfd-in.h: Likewise. * cpu-i386.c: Likewise. * cpu-m68hc11.c: Likewise. * dwarf2.c: Likewise. * elf64-x86-64.c: Likewise. * format.c: Likewise. * freebsd.h: Likewise. * hash.c: Likewise. * hp300hpux.c: Likewise. * hppabsd-core.c: Likewise. * hpux-core.c: Likewise.
2001-01-232001-01-22 Bo Thorsen <bo@suse.de>Andreas Jaeger1-48/+1453
* elf64-x86-64.c: Added PIC support for X86-64. (elf64_x86_64_link_hash_newfunc): Function added. (elf64_x86_64_link_hash_table_create): Likewise. (elf64_x86_64_check_relocs): Likewise. (elf64_x86_64_gc_mark_hook): Likewise. (elf64_x86_64_gc_sweep_hook): Likewise. (elf64_x86_64_adjust_dynamic_symbol): Likewise. (elf64_x86_64_size_dynamic_sections): Likewise. (elf64_x86_64_discard_copies): Likewise. (elf64_x86_64_finish_dynamic_symbol): Likewise. (elf64_x86_64_finish_dynamic_sections): Likewise. (elf64_x86_64_relocate_section): Add relocation of PIC sections.
2000-12-072000-12-07 Kazu Hirata <kazu@hxi.com>Kazu Hirata1-107/+102
* elf32-ppc.c: Fix formatting. * elf64-x86-64.c: Likewise.
2000-11-30Add support for x86_64-*-linux-gnu* targetNick Clifton1-0/+353