aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2003-02-28daily updateAlan Modra1-1/+1
2003-02-28 * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add want_gotx;Richard Henderson2-215/+358
(elfNN_ia64_check_relocs): Set it. (allocate_global_data_got): Check it. (allocate_local_got): Likewise. (allocate_dynrel_entries): Likewise. (elfNN_ia64_relax_ldxmov): New. (elfNN_ia64_relax_section): Handle LTOFF22X, LDXMOV. (elfNN_ia64_choose_gp): Split out from ... (elfNN_ia64_final_link): ... here.
2003-02-27daily updateAlan Modra1-1/+1
2003-02-272003-02-27 Andrew Cagney <cagney@redhat.com>Andrew Cagney4-10/+26
* bfd.c (struct bfd): Rename "struct _bfd". * bfd-in.h: Update copyright. (struct bfd): Rename "struct _bfd". (_bfd): Define for backward compatibility. * bfd-in2.h: Regenerate.
2003-02-26daily updateAlan Modra1-1/+1
2003-02-25daily updateAlan Modra1-1/+1
2003-02-25 * elflink.h (elf_link_read_relocs_from_section): Don't abort withAlan Modra2-1/+6
wrong reloc sizes.
2003-02-25 * elflink.h (elf_bfd_final_link): Apportion reloc counts to rel_hdrAlan Modra2-63/+65
and rel_hdr2 when initially counting input relocs rather than after creating output reloc sections.
2003-02-25Regenerate dependencies.Alan Modra3-8/+13
2003-02-24daily updateAlan Modra1-1/+1
2003-02-24Add support for QNX style core files.Nick Clifton2-1/+117
2003-02-24 * elflink.c (_bfd_elf_create_got_section): Check existing .gotAlan Modra2-11/+21
section flags before concluding that we've already been called. Don't use register keyword. (_bfd_elf_create_dynamic_sections): Don't use register keyword. (_bfd_elf_create_linker_section): Formatting.
2003-02-23daily updateAlan Modra1-1/+1
2003-02-22daily updateAlan Modra1-1/+1
2003-02-21daily updateAlan Modra1-1/+1
2003-02-20daily updateAlan Modra1-1/+1
2003-02-20Fix typo: intial -> initial.Nick Clifton3-351/+276
2003-02-20 * elf32-ppc.c: Formatting.Alan Modra2-311/+406
(allocate_dynrelocs): LD and GD relocs against the same sym need separate GOT entries. (ppc_elf_relocate_section): Correct GOT handling for multiple GOT entries per symbol.
2003-02-19daily updateAlan Modra1-1/+1
2003-02-19 * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Simplify dynamic relocAlan Modra8-817/+718
removal. Localize vars. Remove unnecessary dynobj test. * elf32-i386 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO. (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses, and optimize. (elf_i386_relocate_section): Likewise. (elf_i386_gc_sweep_hook): Simplify dyn reloc removal. Localize vars. * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise. * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise. * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise. * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise. * elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise. Remove local_dynrel for section too. Don't touch HIPLT22, LOPLT10, PCPLT32 or PCPLT10 relocs. Don't subtract twice on PLT32 relocs. Formatting.
2003-02-19 * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define.Alan Modra2-25/+49
(ppc64_elf_check_relocs): Use it. Correct comment. Move SEC_ALLOC test. (ppc64_elf_adjust_dynamic_symbol): Use ELIMINATE_COPY_RELOCS. (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO. (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses, and optimize. Use ELIMINATE_COPY_RELOCS. (ppc64_elf_relocate_section): Likewise.
2003-02-19 * elf32-ppc.c (struct ppc_elf_dyn_relocs): Add pc_count field.Alan Modra2-27/+188
(ppc_elf_copy_indirect_symbol): Copy pc_count field. (ELIMINATE_COPY_RELOCS): Define. (ppc_elf_adjust_dynamic_symbol): Convert copy relocs to dynamic. (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO. (MUST_BE_DYN_RELOC): Define. (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses, and optimize. Trim dyn_relocs. (ppc_elf_check_relocs): Don't generate dyn_relocs when we know they'll not be used. Do generate dyn_relocs for copy reloc avoidance. Keep track of pc_rel dyn relocs. (ppc_elf_relocate_section): Remove "will_become_local". Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL use. Trim dyn relocs as per allocate_dynrelocs. Don't recalculate "sec".
2003-02-18daily updateAlan Modra1-1/+1
2003-02-18 * elf32-ppc.c (ppc_elf_relocate_section): Remove unnecessary test.Alan Modra3-74/+74
* elf64-ppc.c (ppc64_elf_tls_optimize): Decrement tlsld_got.refcount on invalid LD relocs. (allocate_dynrelocs): Invalid LD relocs don't use tlsld_got entry. (ppc64_elf_relocate_section): Unify new handling of LD relocs and tlsld_got entry. Use IS_PPC64_TLS_RELOC.
2003-02-18 * elf32-ppc.h: New file.Alan Modra3-914/+2178
* elf32-ppc.c: Include elf32-ppc.h. (NOP, CROR_151515, CROR_313131, TP_OFFSET, DTP_OFFSET): Define. (struct ppc_elf_link_hash_entry): Rename "root" to "elf". Adjust uses. Add "tls_mask" field. (TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL, TLS_TLS, TLS_TPRELGD): Define. (struct ppc_elf_link_hash_table): Rename "root" to "elf". Adjust uses. Add got, relgot, plt, relplt, dynbss, relbss, dynsbss, relsbss, sdata, sdata2, tls_sec, tls_get_addr, tlsld_got fields. Make use of htab shortcuts throughout file. (ppc_elf_link_hash_newfunc): Init tls_mask field. (ppc_elf_link_hash_table_create): Init new fields. (ppc_elf_copy_indirect_symbol): Copy tls_mask. (ppc_elf_howto_raw): Add tls relocs. (ppc_elf_reloc_type_lookup): Handle them. (ppc_elf_unhandled_reloc): New function. (ppc_elf_create_got): Stash got section pointer in hash table, return status. Make .rela.got too. (ppc_elf_create_dynamic_sections): Stash section pointers in htab. (ppc_elf_adjust_dynamic_symbol): Only set up copy relocs when NON_GOT_REF set. Don't allocate space in .plt here.. (allocate_dynrelocs): ..do so here instead, properly ref-counting and not allocating plt entries unnecessarily. Allocate got entries here. (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define. (ppc_elf_size_dynamic_sections): Allocate local got entries. Pass "info" during allocate_dynrelocs hash traversal. Use htab section shortcuts rather than searching for named sections. Get rid of "plt" and "strip" booleans. (update_local_sym_info, bad_shared_reloc): New functions. (ppc_elf_check_relocs): Handle TLS relocs. Move .rela.got creation to ppc_elf_create_got. Don't mark got or plt reloc syms dynamic, do so in allocate_dynreloc. Use update_local_sym_info and bad_shared_reloc. Disallow R_PPC_EMB_RELSDA, R_PPC_EMB_NADDR32, R_PPC_EMB_NADDR16, R_PPC_EMB_NADDR16_LO, R_PPC_EMB_NADDR16_HI and R_PPC_EMB_NADDR16_HA in shared libs. R_PPC_PLTREL32 is a plt reloc too. Refcount all relocs that might use a plt entry. Set NON_GOT_REF too. Enumerate all do-nothing relocs. (ppc_elf_gc_sweep_hook): Simplify removal of dynrelocs. Handle tls relocs and all plt relocs. (ppc_elf_tls_setup, ppc_elf_tls_optimize): New functions. (ppc_elf_finish_dynamic_symbol): Don't build got entries here. (ppc_elf_finish_dynamic_sections): Rewrite tag code using htab shortcuts. (ppc_elf_relocate_section): Tidy. Handle TLS relocs. Use bfd_elf_local_sym_name. Simplify unresolved reloc code. Build got entries and got relocs here. Warn on non-zero got reloc addend. Split out branch taken/not taken reloc code into a separate switch and correct offset calculation. Allow BRTAKEN/BRNTAKEN dynamic relocs. Split out HA reloc adjustments to separate switch statement. Don't warn on reloc overflow if we've already warned about undefined. Don't rebuild sym name when reporting errors. Report all possible errors from _bfd_final_link_relocate. (bfd_elf32_bfd_final_link): Don't define.
2003-02-17daily updateAlan Modra1-1/+1
2003-02-17 * elf64-ppc.c (ppc64_elf_relocate_section): Don't init "r". Don'tAlan Modra2-20/+14
rebuild sym name when reporting errors.
2003-02-17Fix the behaviour of --allow-shlib-undefined, so that it does what it claimsNick Clifton19-300/+282
to do. Add an inverse switch. Update the documentation.
2003-02-17SEGMENT_OVERLAPS: Check that LMAs overlap as well.Nick Clifton2-16/+28
2003-02-15daily updateAlan Modra1-1/+1
2003-02-14daily updateAlan Modra1-1/+1
2003-02-14Change embedded documentation to use consistent indentation and to split upNick Clifton7-237/+241
long lines. Change informal style of description for functions lacking real documentation.
2003-02-14(_bfd_stab_section_find_nearest_line): For line number stabs outside ofNick Clifton2-47/+47
functions, treat values as absolute addresses.
2003-02-14(elf_core_file_p): Compare alternate machine codes for ELF backends whenNick Clifton2-33/+37
checking if the generic ELF target should be used.
2003-02-13 * elf64-ppc.c (ppc64_elf_link_hash_table_create): Init tls_get_addr.Alan Modra2-111/+88
(ppc64_elf_copy_indirect_symbol): Merge tls_mask too. (ppc64_elf_gc_sweep_hook): Simplify removal of dyn_relocs. (allocate_dynrelocs): Don't treat undefined and undefweak specially. (ppc_size_one_stub): Fix warning, and tighten plt entry check. (group_sections): Don't share a stub section if stubs are for a large section. Adjust comment. (ppc64_elf_size_stubs): Roughly double the size left for stubs if !stubs_always_before_branch. (ppc64_elf_relocate_section): Initialize tlsld GOT entry once. Don't treat undefined and undefweak specially when processing dyn relocs.
2003-02-13daily updateAlan Modra1-1/+1
2003-02-13bfd/Jakub Jelinek2-0/+74
* elflink.h (elf_link_add_object_symbols): Handle .symver x, x@FOO. ld/testsuite/ * ld-shared/shared.exp: Run on s390*-*-linux* and x86_64-*-linux* too. xfail tests linking non-pic code into shared libs on x86_64-*-linux*. * ld-elfvsb/elfvsb.exp: Likewise. * ld-elfvers/vers.exp: Likewise. Add vers24a, vers24b and vers24c tests. * ld-elfvers/vers3.ver: Allow VERS_2.0 to come before GLIBC_* version. * ld-elfvers/vers19.ver: Likewise. * ld-elfvers/vers24a.c: New test. * ld-elfvers/vers24b.c: New test. * ld-elfvers/vers24c.c: New test. * ld-elfvers/vers24.map: New test. * ld-elfvers/vers24.rd: New test. * lib/ld-lib.exp (run_ld_link_tests): Add optional 7th argument cflags. If source files have .c extension, compile them first.
2003-02-13(elf32_thumb_to_arm_stub): Include section VMAs in computation of offset toNick Clifton2-7/+15
insert into BL instruction.
2003-02-13Documenation formatting improvements.Nick Clifton3-442/+454
Move Gnu Free Documenation License to a seperate file.
2003-02-12daily updateAlan Modra1-1/+1
2003-02-11daily updateAlan Modra1-1/+1
2003-02-11Add support for configuring *-*-kaos targets.Nick Clifton2-2/+19
2003-02-11 * elf64-ppc.c (ppc64_elf_check_relocs): Match versionedAlan Modra2-1/+22
.__tls_get_addr too. (ppc64_elf_tls_setup): Ensure cached tls_get_addr is not indirect.
2003-02-10daily updateAlan Modra1-1/+1
2003-02-10 * elf32-sh.c (elf_sh_dyn_relocs): Add tls_tpoff32 field.Kaz Kojima2-14/+50
(elf_sh_link_hash_entry): Remove tls_tpoff32 field. (sh_elf_link_hash_newfunc): Remove the initialization of tls_tpoff32 field. (allocate_dynrelocs): Keep dyn_relocs if it includes the entry for which tls_tpoff32 flag is set. (sh_elf_relocate_section): Covert to LE only if the dyn_relocs of the symbol includes the entry matched with the input_section and having tls_tpoff32 flag on. When linking statically, set symbol index of R_SH_TLS_TPOFF32 relocation to zero if the symbol is defined in this executable. (sh_elf_check_relocs): Set tls_tpoff32 flag appropriately.
2003-02-10 * elf32-s390.c (elf_s390_size_dynamic_sections): Set relocs to TRUEJakub Jelinek2-2/+7
even if there is just non-empty .rela.plt.
2003-02-10Add function to set machine number based on flags in header.Nick Clifton2-2/+20
2003-02-10Add support for marking ARM ELF binaries as support the Cirrus EP9312 MaverickNick Clifton5-5/+39
floating point co-processor.
2003-02-09 * elf64-ppc.c: Rename assorted occurrences of tls_type and similarAlan Modra2-62/+81
variables, structure fields or function params to tls_mask or similar to better reflect usage. (struct got_entry): Comment. (struct ppc_link_hash_entry): Expand comment, and renumber TLS_*. (get_tls_mask): Rename from get_tls_type.
2003-02-09daily updateAlan Modra1-1/+1