* elf32-sparc.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
(elf32_sparc_relocate_section): Use it to figure out when to
initialize .got entries.
* elf64-sparc.c: Similarly.
Alan Modra [Thu, 28 Mar 2002 06:26:58 +0000 (06:26 +0000)]
Merge from mainline.
2002-03-21 Albert Chin-A-Young <china@thewrittenword.com>
* genscripts.sh (LIB_SEARCH_DIRS): Quote path.
2002-03-20 Alan Modra <amodra@bigpond.net.au>
* ldlang.c (ldlang_add_undef): If the output bfd has been opened,
add the symbol to the linker hash table immediately.
(lang_place_undefineds): Split symbol creation out..
(insert_undefined): ..to here.
2002-03-18 Alan Modra <amodra@bigpond.net.au>
* ldmain.c (main): Move .text readonly flag fudges from here..
* ldlang.c (lang_process): ..to here.
2002-03-14 Alan Modra <amodra@bigpond.net.au>
* ldlang.c (lang_check): Remove the word size check added in last
change. Treat emitrelocations case as for relocatable links.
2002-03-13 Alan Modra <amodra@bigpond.net.au>
* ldlang.c (lang_check): Do relocatable link checks first, so that
warn_mismatch can't override. Check compatible and word size too.
2002-03-04 H.J. Lu <hjl@gnu.org>
* scripttempl/elf.sc: Put .preinit_array, .init_array and
.fini_array in the data segment.
2002-03-04 Alan Modra <amodra@bigpond.net.au>
* scripttempl/elf.sc: Correct syntax errors in 2002-03-01 commit.
2002-03-01 David Mosberger <davidm@hpl.hp.com>
* scripttempl/elf.sc (SECTIONS): Add entries for .preinit_array,
.init_array, and .fini_array.
Merge from mainline.
2002-03-12 Andreas Schwab <schwab@suse.de>
* config/tc-ia64.c (fixup_unw_records): Clear region when seeing a
body record so that an error is given for misplaced .save
pseudo-ops.
2002-03-06 Alan Modra <amodra@bigpond.net.au>
* config/tc-i386.c (tc_gen_reloc): Don't attempt to handle 8 byte
relocs except when BFD64.
* write.c (number_to_chars_bigendian): Don't abort when N is
larger than sizeof (VAL).
(number_to_chars_littleendian): Likewise.
2002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
* config/tc-hppa.c (md_apply_fix3): Add cast.
(hppa_fix_adjustable): Adjust list of selectors using e_lrsel and
e_rrsel.
2002-03-04 H.J. Lu <hjl@gnu.org>
* config/obj-elf.c (special_section): Add .init_array,
.fini_array and .preinit_array.
* config/tc-ia64.h (ELF_TC_SPECIAL_SECTIONS): Remove
.init_array and .fini_array.
Merge from mainline
2002-03-27 Gregory Steuck <greg@nest.cx>
* elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for
terminating NULL if empty symbol table.
(_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
2002-03-26 Alan Modra <amodra@bigpond.net.au>
* elflink.h (elf_gc_mark): Don't recurse into non-ELF sections.
2002-03-23 Alan Modra <amodra@bigpond.net.au>
* elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
section file offset for !SEC_LOAD sections.
2002-03-20 Daniel Jacobowitz <drow@mvista.com>
* dwarf2.c (struct funcinfo): Move up.
(lookup_address_in_function_table): New argument function_ptr.
Set it.
(lookup_address_in_line_table): New argument function. If function
is non-NULL, use it to handle ``addr'' before the first line note of
the function.
(comp_unit_find_nearest_line): Update and swap calls to
lookup_address_in_function_table and lookup_address_in_line_table.
* syms.c (_bfd_stab_section_find_nearest_line): Use the first
N_SLINE encountered if we see an N_FUN before any N_SLINE.
2002-03-18 Alan Modra <amodra@bigpond.net.au>
* libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success.
* libbfd.h: Regenerate.
* archive.c (coff_write_armap): Pass on failures from
bfd_write_bigendian_4byte_int.
2002-03-14 H.J. Lu <hjl@gnu.org>
* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the BFD
error to bfd_error_nonrepresentable_section for reinit_array
section in DSO.
2002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
* coffcode.h (coff_slurp_symbol_table): When adding BSF_WEAK flag,
OR it in rather than replacing previously selected flags.
* elfxx-target.h (TARGET_BIG_SYM): Set ar_max_namelen to 15.
(TARGET_LITTLE_SYM): Set ar_max_namelen to 15.
2002-03-14 Alan Modra <amodra@bigpond.net.au>
* elflink.h (elf_bfd_final_link): Revert last change. Instead,
ensure reloc size matches before calling elf_link_input_bfd.
Add an assert to check reloc size when counting output relocs.
2002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
* mmo.c (mmo_get_loc): Return NULL rather than false.
2002-03-13 Alan Modra <amodra@bigpond.net.au>
* elflink.h: Formatting fixes.
(elf_link_output_extsym): Merge undefined and undef weak cases.
* elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd
when word size of input matches output word size.
2002-03-07 H.J. Lu (hjl@gnu.org)
* coff-sh.c (shcoff_reloc_map): Use bfd_reloc_code_real_type
as the type for bfd_reloc_val.
2002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
* elf-hppa.h (elf_hppa_is_dynamic_loader_symbol): New function.
(elf_hppa_relocate_section): Ignore undefined dynamic loader symbols.
(elf_hppa_final_link_relocate): Correct relocations for indirect
references to local data through the DLT. Fix .opd creation for
local symbols using R_PARISC_LTOFF_FPTR32 and R_PARISC_FPTR64
relocations. Use e_lsel selector for R_PARISC_DLTIND21L,
R_PARISC_LTOFF_FPTR21L and R_PARISC_LTOFF_TP21L as per
"Processor-Specific ELF for PA_RISC, Version 1.43" document.
Similarly, use e_rsel for DLT and LTOFF 'R' relocations.
* elf32-hppa.c (final_link_relocate): Revise relocation selectors
as per "Processor-Specific ELF for PA_RISC, Version 1.43" document.
2002-03-05 Jakub Jelinek <jakub@redhat.com>
* merge.c (_bfd_merge_sections): Don't segfault if there
is nothing to merge due to GC.
2002-03-05 Alan Modra <amodra@bigpond.net.au>
* elf32-hppa.c (clobber_millicode_symbols): Remove hack to keep
symbols that have been forced local.
* elflink.h (elf_bfd_final_link): Call elf_link_output_extsym
to output forced local syms for non-shared link.
(elf_link_output_extsym): Tweak condition for calling backend
adjust_dynamic_symbol so that previous behaviour is kept.
Whitespace changes throughout file.
2002-03-04 H.J. Lu <hjl@gnu.org>
* elf.c (bfd_section_from_shdr): Handle special sections,
.init_array, .fini_array and .preinit_array.
(elf_fake_sections): Likewise.
* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Create the
DT entry only if the section is in output for .init_array,
.fini_array and .preinit_array. Complain about .preinit_array
section in DSO.
(elf_bfd_final_link): Warn zero size for .init_array,
.fini_array and .preinit_array sections.
* elfxx-ia64.c (elfNN_ia64_section_from_shdr): Remove
SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY.
(elfNN_ia64_fake_sections): Remove .init_array, .fini_array and
.preinit_array.
2002-03-01 David Mosberger <davidm@hpl.hp.com>
* elflink.h (size_dynamic_sections): If section named
".preinit_array" exists, create DT_PREINIT_ARRAY and
DT_PREINIT_ARRAYSZ entries in dynamic table. Analogously for
".init_array" and ".fini_array".
(elf_bfd_final_link): Handle DT_PREINIT_ARRAYSZ, DT_INIT_ARRAYSZ,
DT_FINI_ARRAYSZ, DT_PREINIT_ARRAY, DT_INIT_ARRAY, and
DT_FINI_ARRAY.
2002-02-13 Nick Clifton <nickc@cambridge.redhat.com>
* elf.c (_bfd_elf_make_section_from_shdr): Do not insist on
non-zero physical addresses when adjusting the LMAs of new
sections.
Andreas Schwab [Wed, 27 Mar 2002 16:20:41 +0000 (16:20 +0000)]
* config/tc-i386.c (md_assemble): Set fx_pcrel_adjust to size of
field for pc-relative fixups.
(md_estimate_size_before_relax): Likewise.
(tc_gen_reloc): Subtract fx_pcrel_adjust instead of fx_size for
pc-relative fixups in 64bit mode.
David O'Brien [Tue, 19 Mar 2002 21:27:41 +0000 (21:27 +0000)]
2002-03-18 David O'Brien <obrien@FreeBSD.org>
* emultempl/elf32.em: Use lbasename vs. basename to fix problem where
the contents of the buffer returned from basename function will are
getting overwritten while still being used.
Approved by: Alan Modra <amodra@bigpond.net.au>
Message-ID: <20020318032031.GD1089@bubble.sa.bigpond.net.au>
Chris Demetriou [Tue, 26 Feb 2002 22:25:38 +0000 (22:25 +0000)]
2002-02-26 Chris Demetriou <cgd@broadcom.com>
* config/tc-mips.c (mips_need_elf_addend_fixup): For embedded-PIC
only, undo the changes made on 2001-06-08, with the
effect being that common or extern symbols are
adjusted for embedded-PIC, but weak symbols are not.
(md_estimate_size_before_relax: Likewise, with the effect
that extern symbols are treated the same as weak symbols
only if not embedded-PIC.
(mips_fix_adjustable) Likewise, with the effect that
weak or extern symbols are not adjusted for embedded-PIC.
(md_apply_fix3): Tweak so that the case where value is zero
is handled more correctly for embedded-PIC code.
Chris Demetriou [Tue, 26 Feb 2002 22:24:46 +0000 (22:24 +0000)]
2002-02-26 Chris Demetriou <cgd@broadcom.com>
* gas/mips/empic2.d: Adjust for the fact that relocations on
symbols local to this file are resolved at assembly time into
section-relative relocations, even if the symbols are extern.
* gas/mips/empic2.s: Add file offset information, so the next
person to do the math mentioned above has an easier time.
* gas/mips/jal-empic-elf.d: New test.
* gas/mips/jal-empic-elf-2.d, gas/mips/jal-empic-elf-2.s: New test.
* gas/mips/jal-empic-elf-3.d, gas/mips/jal-empic-elf-3.s: New test.
* gas/mips/mips.exp: Run the new tests.
nobody [Tue, 26 Feb 2002 22:17:57 +0000 (22:17 +0000)]
This commit was manufactured by cvs2svn to create branch 'binutils-
2_12-branch'.
Cherrypick from master 2002-02-26 22:17:56 UTC Chris Demetriou <cgd@google.com> '2002-02-26 Chris Demetriou <cgd@broadcom.com>':
gas/testsuite/gas/mips/jal-empic-elf-2.d
gas/testsuite/gas/mips/jal-empic-elf-2.s
gas/testsuite/gas/mips/jal-empic-elf-3.d
gas/testsuite/gas/mips/jal-empic-elf-3.s
gas/testsuite/gas/mips/jal-empic-elf.d
nobody [Tue, 26 Feb 2002 10:28:14 +0000 (10:28 +0000)]
This commit was manufactured by cvs2svn to create branch 'binutils-
2_12-branch'.
Cherrypick from master 2002-02-26 10:28:13 UTC Nick Clifton <nickc@redhat.com> 'Import new Spanish and German translations':
gas/po/es.po
opcodes/po/de.po
Alan Modra [Mon, 25 Feb 2002 05:04:55 +0000 (05:04 +0000)]
* ppc-dis.c (powerpc_dialect): Handle power4 option.
* ppc-opc.c (insert_bdm): Correct description of "at" branch
hints. Test PPC_OPCODE_POWER4 to determine branch hint flavour.
(extract_bdm, insert_bdp, extract_bdp, valid_bo): Likewise.
(BOFM64, BOFP64, BOTM64, BOFP64): Rename to BOFM4, BOFP4 etc.
(BODNZM64, BODNZP64, BODZM64, BODZP64): Likewise.
(PPCCOM32, PPCCOM64): Delete.
(NOPOWER4, POWER4): Define.
(powerpc_opcodes): Replace occurences of PPCCOM32 with NOPOWER4,
and PPCCOM4 with POWER4 so that "at" style branch hint opcodes
are enabled for power4 rather than ppc64.
Merge from mainline 2002-02-19 matthew green <mrg@redhat.com>
* ppc-opc.c (powerpc_dialect): Fix comment; BookE is not Motorola
specific.
Alan Modra [Mon, 25 Feb 2002 05:03:58 +0000 (05:03 +0000)]
* elf64-ppc.c (ppc64_elf_check_relocs): Warning fix.
(ppc64_elf_relocate_section): Don't generate power4 style branch
hints for *_BRTAKEN and *_BRNTAKEN relocs.
* elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define.
(struct ppc_link_hash_table): Add sfpr.
(ppc64_elf_link_hash_table_create): Init it.
(ppc64_elf_create_dynamic_sections): Split creation of .stub and
.glink out to..
(create_linkage_sections): ..here. Make .sfpr too.
(ppc64_elf_check_relocs): Call create_linkage_sections, and set
dynobj early.
(MIN_SAVE_FPR, MAX_SAVE_FPR): Define.
(ppc64_elf_func_desc_adjust): Look for missing ._savef* and
._restf* functions, and create as needed.
(func_desc_adjust): Only force_local for shared libs.
* ld-mmix/b-nosym.d, ld-mmix/sec-6.d: Tweak for change in symbol
output.
* ld-mmix/sec-7m.d, ld-mmix/sec-7a.s, ld-mmix/sec-7b.s,
ld-mmix/sec-7c.s, ld-mmix/sec-7d.s, ld-mmix/sec-7e.s: New test.
* mmo.c: Correct and improve comments.
(mmo_write_chunk): Store trailing byte in bfd buffer; don't
zero-pad. Use input to fill up non-empty bfd buffer.
(mmo_flush_chunk): New function.
(mmo_write_loc_chunk): Add parameter last_vmap, all callers
changed. Don't emit location specifier if VMA is same as
*LAST_VMAP after omitting leading zero contents. Call
mmo_flush_chunk before emitting location specifier.
(mmo_write_loc_chunk_list): Call mmo_flush_chunk when finished
with mmo_write_loc_chunk calls.
(mmo_internal_write_section): Call mmo_flush_chunk after
mmo_write_chunk.
(mmo_write_symbols_and_terminator): Move :Main to first position
in symbol array. Add faked one if it does not exist if there are
other symbols. Don't add it if there are no symbols at all. Move
out test for value of :Main from symbol loop. Rename table
fakemain to maintable and variable mainsym to fakemain.
Chris Demetriou [Thu, 14 Feb 2002 07:31:11 +0000 (07:31 +0000)]
2002-02-13 Chris Demetriou <cgd@broadcom.com>
* config/tc-mips.c (mips_need_elf_addend_fixup): Restructure into
a sequence of indpendent 'if' statements for easier debugging
and future modification.
Alan Modra [Thu, 14 Feb 2002 04:25:55 +0000 (04:25 +0000)]
* ld.texinfo (VERSION scripts): Symbol names are globbing patterns.
* ldgram.y (lang_new_vers_regex): Rename to lang_new_vers_pattern;
the pattern in question is not a regexp.
* ldlang.c: Likewise.
* ldlang.h: Likewise.
* ldlex.l (V_IDENTIFIER): Allow '[', ']', '-', '!', and '^' also.
Alexandre Oliva [Wed, 13 Feb 2002 20:45:29 +0000 (20:45 +0000)]
* configure.in <bfd_sh_arc>: For sh-* and shl-*, enable sh64
support only for sh-*-*elf*, shl-*-*elf*, sh-*-linux* and
shl-*-linux*.
* configure: Regenerate.
gas:
2002-02-13 Matt Fredette <fredette@netbsd.org>
* config/tc-m68k.c (md_show_usage): No longer display a
hard-coded "68020" for the default CPU, instead display the
canonical name of the true, configured default CPU.
(m68k_elf_final_processing): Mark objects for sub-68020
CPUs with the new EF_M68000 flag.
include/elf:
2002-02-13 Matt Fredette <fredette@netbsd.org>