aboutsummaryrefslogtreecommitdiff
path: root/bfd/ChangeLog
AgeCommit message (Collapse)AuthorFilesLines
2003-03-26 * elf32-m68k.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.Andreas Schwab1-0/+8
(elf_m68k_relocate_section): Use it to correctly handle symbols forced to be local. (elf_m68k_finish_dynamic_symbol): Emit RELATIVE reloc for got entries for symbols that are forced to be local.
2003-03-26* elfxx-mips.c (_bfd_mips_relax_section): New function.Alexandre Oliva1-0/+6
* elfxx-mips.h (_bfd_mips_relax_section): Declare. * elfn32-mips.c, elf64-mips.c: Use it.
2003-03-25Add iWMMXt supportNick Clifton1-0/+23
2003-03-21* elf32-xstormy16.c (elf32_xstormy16_relocate_section): CallDJ Delorie1-0/+5
_bfd_elf_rela_local_sym.
2003-03-202003-03-20 H.J. Lu <hjl@gnu.org>H.J. Lu1-0/+5
* elfxx-ia64.c (elfNN_ia64_relax_section): Don't try relax for non-ELF outputs.
2003-03-20Initialise $idata2 and $idata5 in case bfd_coff_final_link is not called.Nick Clifton1-0/+5
2003-03-19 * elf64-sparc.c (struct sparc64_elf_section_data): Add reloc_countJakub Jelinek1-0/+11
field. (canon_reloc_count): Define. (sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table, sparc64_elf_canonicalize_dynamic_reloc): Use it instead of reloc_count. (sparc64_elf_canonicalize_reloc): New routine. (bfd_elf64_canonicalize_reloc): Define.
2003-03-18 * elfxx-ia64.c (elfNN_ia64_relax_section): Handle relaxationJakub Jelinek1-0/+6
againt mergeable sections. Take r_addend into account when caching trampolines.
2003-03-18 * elfxx-ia64.c (get_dyn_sym_info): Return NULL gracefully forRichard Henderson1-0/+5
local symbols that have no dyninfo.
2003-03-14(ieee_write_expression): Handle the case where symbol is NULL.Nick Clifton1-0/+6
2003-03-13Add New Chinese (simplified) PO file.Nick Clifton1-0/+6
2003-03-13(BYTES_IN_WORD): Don't define.Nick Clifton1-0/+24
2003-03-12* Reverted 2003-03-02's patch.Alexandre Oliva1-0/+2
2003-03-12* elfxx-target.h (bfd_elfNN_canonicalize_reloc): Make itAlexandre Oliva1-0/+13
overridable. * elf64-mips.c (mips_elf64_canonicalize_reloc, mips_elf64_get_dynamic_reloc_upper_bound, mips_elf64_canonicalize_dynamic_reloc): New, adapted from elf.c. (bfd_elf64_get_canonicalize_reloc, bfd_elf64_get_dynamic_reloc_upper_bound, bfd_elf64_canonicalize_dynamic_reloc): Define. (mips_elf64_slurp_reloc_table): Support dynamic. (mips_elf64_slurp_one_reloc_table): Adjust.
2003-03-12Rename 'index' to 'offset'Nick Clifton1-0/+5
2003-03-11* elfxx-mips.c (mips_elf_create_dynamic_relocation): Do not createAlexandre Oliva1-0/+7
dynamic relocations pointing to local or section symbols, use the NULL symbol instead. Document the choice to not emit an additional R_MIPS_64 relocation.
2003-03-10 * elf32-ppc.c (ppc_elf_relocate_section): Subtract tls seg vma fromAlan Modra1-0/+7
zero index dynamic tls relocs generated for the GOT. Tidy code. Set "relocation" to 1 on DTPMOD32 relocs. Optimize HA adjustment. * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. * ld-powerpc/tlsso.r: Adjust for corrected zero symbol index relocs. * ld-powerpc/tlsso32.r: Likewise.
2003-03-07 * elf32-ppc.c (ppc_elf_relocate_section): Don't look for a nop afterAlan Modra1-0/+3
a tls_get_addr call.
2003-03-06 * elf32-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.Alan Modra1-0/+12
(ppc_elf_adjust_dynamic_symbol): For weak symbols, copy ELF_LINK_NON_GOT_REF from weakdef. * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define as one. (ppc64_elf_adjust_dynamic_symbol): For weak symbols, copy ELF_LINK_NON_GOT_REF from weakdef. * elf32-i386.c (ELIMINATE_COPY_RELOCS): Define as one. Use throughout. (elf_i386_adjust_dynamic_symbol): For weak symbols, copy ELF_LINK_NON_GOT_REF from weakdef.
2003-03-062003-03-06 Jakub Jelinek <jakub@redhat.com>Andrew Haley1-0/+6
Andrew Haley <aph@redhat.com> * elflink.h (elf_bfd_discard_info): Don't process eh frames if output is relocateable.
2003-03-06(som_fixup_formats): Correct formats for R_AUX_UNWIND and R_COMMENT.Nick Clifton1-1/+6
2003-03-06 * elf32-ppc.c (ppc_elf_create_linker_section): Don't capitalizeAlan Modra1-0/+13
error messages. (ELIMINATE_COPY_RELOCS): Define to zero. (ppc_elf_relocate_section): Don't deref htab->tls_sec when calculating TLSLD relocs. Report reloc types on a number of errors. Optimize LOCAL24PC check for non-local syms. Don't capitalize error messages. * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define to zero. (ppc64_elf_relocate_section): Don't deref htab->tls_sec when calculating TLSLD relocs. Report reloc types on a number of errors. Don't capitalize error messages.
2003-03-032003-03-03 H.J. Lu <hjl@gnu.org>H.J. Lu1-0/+5
* elfxx-ia64.c (USE_BRL): Removed. (oor_ip): Removed.
2003-03-03Fix sh-elf linker relaxation:Joern Rennecke1-0/+13
gcc: * config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and subtarget_asm_isa_spec. (SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define. (ASM_SPEC): Define as SH_ASM_SPEC. (SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h. Use subtarget_asm_relax_spec and subtarget_asm_isa_spec. * config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC. (SUBTARGET_ASM_ISA_SPEC): Undef / define. gcc/testsuite: gcc.dg/sh-relax.c: New test. include/elf: * sh.h (EF_SH_MERGE_MACH): Make sure SH2E & SH3/SH3E merge to SH3E, and SH2E & SH4 merge to SH4, not SH2E. gas: * config/tc-sh.c (sh_dsp): Replace with preset_target_arch. (md_begin): Use preset_target_arch. (md_longopts): Make isa option unconditional. (md_parse_option): Make OPTION_DSP and OPTION_ISA sh4 / any set preset_target_arch. (md_apply_fix3): If BFD_ASSEMBLER, adjust SWITCH_TABLE fixups by -S_GET_VALUE (fixP->fx_subsy). (tc_gen_reloc): For SWITCH_TABLE fixups, the symbol is fixp->fx_subsy, and the addend is 0. Adjust addend of R_SH_IND12W relocations by fixp->fx_offset - 4. * config/tc-sh.h (TC_FORCE_RELOCATION_SUB_LOCAL): Define. bfd: elf32-sh.c (sh_elf_howto_tab): Make R_SH_IND12W into an ordinary relocation (no special function), and make it non-partial_inplace. (sh_elf_relax_section): When creating a bsr, use a consistent value no matter if the symbol is extern or not; set addend to -4. Don't swap load / non-load instructions for SH4. (sh_elf_relax_delete_bytes): In R_SH_IND12W case, check the offset rather than if the symbol is external to determine if adjusting the offset makes sense. Adjust the addend too if appropriate. (sh_elf_relocate_section): In R_SH_IND12W, don't fiddle with the relocation.
2003-03-03Installed latest Danish translation.Nick Clifton1-0/+4
2003-03-02 * elf32-mips.c (elf_mips_howto_table_rel): Change definition ofThiemo Seufer1-0/+20
R_MIPS_PC16 to rightshift 2. (elf_reloc_map mips_reloc_map): Map to rightshifted BFD reloc. (bfd_elf32_bfd_reloc_type_lookup): Support BFD_RELOC_MIPSEMB_16_PCREL_S2. * elf64-mips.c (mips_elf64_howto_table_rel): Change definition of R_MIPS_PC16 to rightshift 2. (mips_elf64_howto_table_rela): Likewise. (mips_reloc_map): Map to rightshifted BFD reloc. * elfn32-mips.c: The same as in elf64-mips.c. * elfxx-mips.c (mips_elf_got_for_ibfd): Typo in comment. (mips_elf_calculate_relocation): Handle rightshifted addends for R_MIPS_PC16. * reloc.c (BFD_RELOC_MIPSEMB_16_PCREL_S2): New BFD relocation for MIPS Embedded PIC. Remove superfluous empty COMMENT. * libbfd.h: Regenerate. * bfd-in2.h: Regenerate. * config/tc-mips.c (append_insn): Add handling of BFD_RELOC_MIPSEMB_16_PCREL_S2. Avoid emitting unneeded BFD_RELOC_16_PCREL_S2 relocs and add earlier warnings about misaligned address and reange overflow. (macro_build): Add handling of BFD_RELOC_MIPSEMB_16_PCREL_S2. Add earlier warnings about misaligned address and reange overflow. (mips_ip): Add handling of BFD_RELOC_MIPSEMB_16_PCREL_S2. (md_apply_fix): Likewise. Fix warning output. (tc_gen_reloc): Add handling of BFD_RELOC_MIPSEMB_16_PCREL_S2. Allow BFD_RELOC_16_PCREL_S2 for all ABIs. (md_convert_frag): Add handling of BFD_RELOC_MIPSEMB_16_PCREL_S2. * gas/mips/bge.d: Reactivate external branch tests. * gas/mips/bge.s: Likewise. * gas/mips/bgeu.d: Likewise. * gas/mips/bgeu.s: Likewise. * gas/mips/blt.d: Likewise. * gas/mips/blt.s: Likewise. * gas/mips/bltu.d: Likewise. * gas/mips/bltu.s: Likewise. * gas/mips/branch-misc-2.d: New File. * gas/mips/branch-misc-2.l: Remove. * gas/mips/mips.exp: Adjust branch-misc-2 test.
2003-03-01 * elfxx-ia64.c (elfNN_ia64_relax_section): Correct boundsRichard Henderson1-0/+5
for ltoff22x relaxation.
2003-02-28 * bfd-in.h (_bfd): Don't define.Alan Modra1-0/+7
* bfd.c: Rename occurrences of "struct _bfd" to "struct bfd". * syms.c: Likewise. * bfd-in2.h: Regenerate.
2003-02-28 * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add want_gotx;Richard Henderson1-0/+12
(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-272003-02-27 Andrew Cagney <cagney@redhat.com>Andrew Cagney1-0/+8
* 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-25 * elflink.h (elf_link_read_relocs_from_section): Don't abort withAlan Modra1-0/+2
wrong reloc sizes.
2003-02-25 * elflink.h (elf_bfd_final_link): Apportion reloc counts to rel_hdrAlan Modra1-2/+6
and rel_hdr2 when initially counting input relocs rather than after creating output reloc sections.
2003-02-25Regenerate dependencies.Alan Modra1-0/+5
2003-02-24Add support for QNX style core files.Nick Clifton1-0/+7
2003-02-24 * elflink.c (_bfd_elf_create_got_section): Check existing .gotAlan Modra1-0/+8
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-20Fix typo: intial -> initial.Nick Clifton1-0/+5
2003-02-20 * elf32-ppc.c: Formatting.Alan Modra1-0/+8
(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-19 * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Simplify dynamic relocAlan Modra1-0/+17
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 Modra1-0/+9
(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 Modra1-0/+17
(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-18 * elf32-ppc.c (ppc_elf_relocate_section): Remove unnecessary test.Alan Modra1-0/+7
* 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 Modra1-0/+56
* 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-17 * elf64-ppc.c (ppc64_elf_relocate_section): Don't init "r". Don'tAlan Modra1-0/+5
rebuild sym name when reporting errors.
2003-02-17Fix the behaviour of --allow-shlib-undefined, so that it does what it claimsNick Clifton1-0/+23
to do. Add an inverse switch. Update the documentation.
2003-02-17SEGMENT_OVERLAPS: Check that LMAs overlap as well.Nick Clifton1-0/+6
2003-02-14Change embedded documentation to use consistent indentation and to split upNick Clifton1-0/+9
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 Clifton1-0/+3
functions, treat values as absolute addresses.
2003-02-14(elf_core_file_p): Compare alternate machine codes for ELF backends whenNick Clifton1-0/+5
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 Modra1-1/+15
(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-13bfd/Jakub Jelinek1-0/+4
* 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.