OSDN Git Service
Nick Clifton [Thu, 3 Jan 2002 21:32:36 +0000 (21:32 +0000)]
Remove use of ngettext()
Nick Clifton [Thu, 3 Jan 2002 14:23:01 +0000 (14:23 +0000)]
Handle R_ARM_THM_PC11
Matthew Green [Thu, 3 Jan 2002 02:07:19 +0000 (02:07 +0000)]
[gas/ChangeLog]
* config/tc-ppc.c (md_parse_option): BookE is not Motorola specific.
[include/opcode/ChangeLog]
* ppc.h (PPC_OPCODE_BOOKE): BookE is not Motorola specific.
(PPC_OPCODE_BOOKE64): Likewise.
DJ Delorie [Thu, 3 Jan 2002 00:25:57 +0000 (00:25 +0000)]
merge from gcc
Ben Elliston [Wed, 2 Jan 2002 21:44:52 +0000 (21:44 +0000)]
* MAINTAINERS: Update URL for config.* scripts.
Chris Demetriou [Wed, 2 Jan 2002 18:59:32 +0000 (18:59 +0000)]
2002-01-02 Chris Demetriou <cgd@broadcom.com>
* ld-mips-elf/empic1-ln.d: New file to test basic linking of
R_MIPS_GNU_REL_HI16 and R_MIPS_GNU_REL_LO16 relocations.
* ld-mips-elf/empic1-lp.d: Likewise.
* ld-mips-elf/empic1-mn.d: Likewise.
* ld-mips-elf/empic1-mp.d: Likewise.
* ld-mips-elf/empic1-sn.d: Likewise.
* ld-mips-elf/empic1-sp.d: Likewise.
* ld-mips-elf/empic1-ref.s: Likewise.
* ld-mips-elf/empic1-space.s: Likewise.
* ld-mips-elf/empic1-tgt.s: Likewise.
* ld-mips-elf/empic2-fwd-0.d: New file to test
R_MIPS_GNU_REL_HI16 and R_MIPS_GNU_REL_LO16 relocation edge
cases.
* ld-mips-elf/empic2-fwd-1.d: Likewise.
* ld-mips-elf/empic2-rev-0.d: Likewise.
* ld-mips-elf/empic2-rev-1.d: Likewise.
* ld-mips-elf/empic2-ref.s: Likewise.
* ld-mips-elf/empic2-space.s: Likewise.
* ld-mips-elf/empic2-fwd-tgt.s: Likewise.
* ld-mips-elf/empic2-rev-tgt.s: Likewise.
* ld-mips-elf/mips-elf.exp: New file to run MIPS 32-bit ELF
tests (including those above).
DJ Delorie [Wed, 2 Jan 2002 18:01:38 +0000 (18:01 +0000)]
merge from gcc
Nick Clifton [Wed, 2 Jan 2002 17:19:07 +0000 (17:19 +0000)]
Test for a NULL frag link.
Nick Clifton [Wed, 2 Jan 2002 16:15:32 +0000 (16:15 +0000)]
Add japanese translation
Nick Clifton [Wed, 2 Jan 2002 15:55:48 +0000 (15:55 +0000)]
Fix spelling typo.
Reformat messages to ease translation into other languages.
Nick Clifton [Wed, 2 Jan 2002 15:36:27 +0000 (15:36 +0000)]
Reformat error messages to ease translation into other languages.
DJ Delorie [Tue, 1 Jan 2002 17:46:09 +0000 (17:46 +0000)]
merge from gcc
Richard Henderson [Tue, 1 Jan 2002 01:18:17 +0000 (01:18 +0000)]
* config/tc-ia64.c (has_suffix_p): New.
(note_register_values): Use it instead of strstr.
Richard Henderson [Tue, 1 Jan 2002 01:16:44 +0000 (01:16 +0000)]
* config/tc-ia64.c (errata_nop_necessary_p): Prototype.
(make_unw_section_name): Constify local variables.
DJ Delorie [Tue, 1 Jan 2002 01:03:22 +0000 (01:03 +0000)]
merge from gcc
Jeff Law [Mon, 31 Dec 2001 23:47:02 +0000 (23:47 +0000)]
* config/tc-hppa.c (pa_ip): Handle new 'c' mode completers,
'X', 'M', and 'A'.
Jeff Law [Mon, 31 Dec 2001 23:44:08 +0000 (23:44 +0000)]
* hppa-dis.c (print_insn_hppa): Handle new 'c' mode completers,
'X', 'M', and 'A'. No longer emit a space after 'x' or 's'.
Always emit a space after 'H'.
Jeff Law [Mon, 31 Dec 2001 23:43:03 +0000 (23:43 +0000)]
* hppa.h (call, ret): Move to end of table.
(addb, addib): PA2.0 variants should have been PA2.0W.
(ldw, ldh, ldb, stw, sth, stb, stwa): Reorder to keep disassembler
happy.
(fldw, fldd, fstw, fstd, bb): Likewise.
(short loads/stores): Tweak format specifier slightly to keep
disassembler happy.
(indexed loads/stores): Likewise.
(absolute loads/stores): Likewise.
Jakub Jelinek [Mon, 31 Dec 2001 11:49:10 +0000 (11:49 +0000)]
* elflink.h (elf_bfd_final_link): Check if dynobj is not NULL
before looking for .eh_frame_hdr section.
* elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): If
.eh_frame_hdr section is being stripped from output, don't do
anything.
Tom Rix [Mon, 31 Dec 2001 04:08:23 +0000 (04:08 +0000)]
Fix for xcoff <bigaf> big archive format support.
Tom Rix [Mon, 31 Dec 2001 04:06:14 +0000 (04:06 +0000)]
Fix for xcoff <bigaf> big archive support.
DJ Delorie [Mon, 24 Dec 2001 19:13:07 +0000 (19:13 +0000)]
merge from gcc
Alan Modra [Sun, 23 Dec 2001 23:00:06 +0000 (23:00 +0000)]
daily update
Alan Modra [Sat, 22 Dec 2001 23:00:07 +0000 (23:00 +0000)]
daily update
Tom Rix [Sat, 22 Dec 2001 17:18:34 +0000 (17:18 +0000)]
-binitfini emulation, put __rtinit symbol generation into linker.
Alan Modra [Fri, 21 Dec 2001 23:00:07 +0000 (23:00 +0000)]
daily update
Jakub Jelinek [Fri, 21 Dec 2001 22:35:24 +0000 (22:35 +0000)]
* elf32-sparc.c (_bfd_sparc_elf_howto_table): Fix dst_mask for
R_SPARC_DISP32. Support R_SPARC_PLT32.
(sparc_reloc_map): Add BFD_RELOC_16_PCREL and BFD_RELOC_SPARC_PLT32.
(elf32_sparc_check_relocs): Handle R_SPARC_PLT32.
(elf32_sparc_relocate_section): Likewise.
* elf64-sparc.c (sparc64_elf_howto_table): Fix dst_mask for
R_SPARC_DISP32. Support R_SPARC_PLT32 and R_SPARC_PLT64.
(sparc_reloc_map): Add BFD_RELOC_16_PCREL, BFD_RELOC_64_PCREL
and BFD_RELOC_SPARC_PLT32.
(sparc64_elf_check_relocs): Handle R_SPARC_PLT32 and R_SPARC_PLT64.
(sparc64_elf_relocate_section): Likewise.
* reloc.c (bfd_reloc_code_type): Add BFD_RELOC_SPARC_PLT32.
* bfd-in2.h, libbfd.h: Rebuilt.
* config/tc-sparc.h (TC_PARSE_CONS_EXPRESSION): Define.
(sparc_cons): Provide prototype.
* config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_*_PCREL and
BFD_RELOC_SPARC_PLT{32,64}. Enumerate for which relocs
reloc->addend = fixp->fx_addnumber shouldn't be done instead of
enumarating for which pc relative ones it should be done.
(sparc_cons_special_reloc): New variable.
(sparc_cons): New function.
(cons_fix_new_sparc): Use sparc_cons_special_reloc.
* testsuite/gas/sparc/pcrel.s: New test.
* testsuite/gas/sparc/pcrel.d: Expected output.
* testsuite/gas/sparc/pcrel64.s: New test.
* testsuite/gas/sparc/pcrel64.d: Expected output.
* testsuite/gas/sparc/plt.s: New test.
* testsuite/gas/sparc/plt.d: Expected output.
* testsuite/gas/sparc/plt64.s: New test.
* testsuite/gas/sparc/plt64.d: Expected output.
* testsuite/gas/sparc/sparc.exp: Add pcrel, pcrel64, plt and plt64
tests.
Nick Clifton [Fri, 21 Dec 2001 11:44:46 +0000 (11:44 +0000)]
Import Swedish translation
Nick Clifton [Fri, 21 Dec 2001 11:40:53 +0000 (11:40 +0000)]
Use real binary file for .incbin test
Alan Modra [Thu, 20 Dec 2001 23:00:05 +0000 (23:00 +0000)]
daily update
Tom Rix [Thu, 20 Dec 2001 21:29:21 +0000 (21:29 +0000)]
Special handling of AIX xcoff text alignment fix.
Daniel Jacobowitz [Thu, 20 Dec 2001 21:11:26 +0000 (21:11 +0000)]
2001-12-20 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
Daniel Jacobowitz <drow@mvista.com>
* config/tc-mips.c (file_mips_gp32): Initialize to invalid value.
(file_mips_fp32): Likewise.
(md_begin): Compatibility handling for -mipsN option.
Michael Snyder [Thu, 20 Dec 2001 20:22:17 +0000 (20:22 +0000)]
2001-12-19 Michael Snyder <msnyder@redhat.com>
* elf32-i386.c (elf_i386_grok_psinfo): Fix probable copy-and-paste
error: target is i386 (not mips), and size of descdata is 124
(not 128).
Alexandre Oliva [Thu, 20 Dec 2001 17:28:20 +0000 (17:28 +0000)]
* gas/sh/err-at.s: New test.
Alexandre Oliva [Thu, 20 Dec 2001 17:28:13 +0000 (17:28 +0000)]
* config/tc-sh.c (parse_at): Reject @(r0) and @(r0,).
Nick Clifton [Thu, 20 Dec 2001 11:20:17 +0000 (11:20 +0000)]
When --wide is used, do not truncate symbol names.
Matthew Green [Thu, 20 Dec 2001 07:34:44 +0000 (07:34 +0000)]
* config/tc-ppc.c (md_parse_option): Make -maltivec default
to generating PowerPC instructions.
Alan Modra [Thu, 20 Dec 2001 05:40:08 +0000 (05:40 +0000)]
* configure.tgt (mips*-dec-netbsd*): Delete alias for
mips*el-*-netbsd*.
(sparc64-*-netbsd*): Add elf32_sparc to targ_extra_emuls.
Alan Modra [Thu, 20 Dec 2001 05:39:36 +0000 (05:39 +0000)]
* configure.in (mips-dec-netbsd*): Delete.
* configure: Regenerate.
Alan Modra [Thu, 20 Dec 2001 05:38:52 +0000 (05:38 +0000)]
* config.bfd (mips-dec-netbsd*): Delete alias for mips*el-*-netbsd*.
Alan Modra [Thu, 20 Dec 2001 03:19:43 +0000 (03:19 +0000)]
* configure.tgt (arm-*-netbsdelf*): Add target.
(arm-*-netbsd*): Add armelf and armelf_nbsd to targ_extra_emuls.
* emulparams/armelf_nbsd.sh: Added.
* Makefile.am: Add rules for earmelf_nbsd.
* Makefile.in: Regenerate.
Alan Modra [Thu, 20 Dec 2001 03:19:03 +0000 (03:19 +0000)]
* configure.in (arm-*-netbsdelf*): Add target.
* configure: Regenerate.
Alan Modra [Thu, 20 Dec 2001 03:18:23 +0000 (03:18 +0000)]
* config.bfd (arm-*-netbsdelf*): Add target.
* configure.in: Include netbsd-core.lo for native arm-*-netbsd*.
* configure: Regenerate.
Alan Modra [Wed, 19 Dec 2001 23:54:26 +0000 (23:54 +0000)]
* elfcode.h (elf_slurp_symbol_table): Test elf_elfsections for NULL,
as can happen with a core file, before dereferencing.
Alan Modra [Wed, 19 Dec 2001 23:00:04 +0000 (23:00 +0000)]
daily update
Andreas Jaeger [Wed, 19 Dec 2001 19:58:28 +0000 (19:58 +0000)]
* configure.host: Add rules for x86_64-*linux-gnu. Change
s390x-linux entry to use gcc to report configuration, replace gcc
with $CC in s390-linux
Jakub Jelinek [Wed, 19 Dec 2001 11:48:15 +0000 (11:48 +0000)]
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): If new_size
is 0, temporarily grow it to minimal CIE size.
(_bfd_elf_write_section_eh_frame): If input .eh_frame section would
end up empty, build a fake minimal CIE.
Andreas Jaeger [Wed, 19 Dec 2001 09:20:22 +0000 (09:20 +0000)]
* ld.texinfo (VERSION): Fix markup.
Michael Snyder [Wed, 19 Dec 2001 05:18:34 +0000 (05:18 +0000)]
2001-12-18 Michael Snyder <msnyder@redhat.com>
* objcopy.c (copy_file): Accept corefiles (format bfd_core).
(copy_object): Don't set the start address or flags of a core file.
(copy_section): Don't relocate a core file. Don't copy contents
if the input section has the contents flag set, but the output
section does not (which happens with the fake 'note' pseudo-
sections that BFD creates for corefiles).
Michael Snyder [Wed, 19 Dec 2001 05:16:47 +0000 (05:16 +0000)]
2001-12-18 Michael Snyder <msnyder@redhat.com>
* elf.c (assign_file_positions_for_segments): Don't sort PT_NOTE
sections of corefiles. Also it makes no sense to sort if count == 1.
Alan Modra [Wed, 19 Dec 2001 02:18:20 +0000 (02:18 +0000)]
* config.bfd (bfd_elf32_ia64_hpux_big_vec): New vector for
ia64*-*-hpux* target.
(bfd_elf64_ia64_hpux_big_vec): Likewise.
* targets.c: Ditto.
* configure.in: Ditto.
* configure: Regenerate
* elfxx-ia64.c (elfNN_ia64_final_write_processing): Replace use of
alloca with bfd_malloc.
(get_local_sym_hash): Likewise.
(elfNN_hpux_post_process_headers): New function.
#include elfNN-target.h again with values for IA64 HP-UX vector.
Alan Modra [Wed, 19 Dec 2001 02:14:37 +0000 (02:14 +0000)]
*** empty log message ***
Alan Modra [Tue, 18 Dec 2001 23:00:05 +0000 (23:00 +0000)]
daily update
H.J. Lu [Tue, 18 Dec 2001 19:03:23 +0000 (19:03 +0000)]
2001-12-18 H.J. Lu <hjl@gnu.org>
* elf.c (_bfd_elf_copy_private_bfd_data): Also copy GP.
H.J. Lu [Tue, 18 Dec 2001 18:11:52 +0000 (18:11 +0000)]
2001-12-18 H.J. Lu <hjl@gnu.org>
* elf.c (_bfd_elf_copy_private_bfd_data): Update comments.
H.J. Lu [Tue, 18 Dec 2001 17:59:59 +0000 (17:59 +0000)]
2001-12-18 H.J. Lu <hjl@gnu.org>
* elf-bfd.h (_bfd_elf_copy_private_bfd_data): New. Prototype.
(_bfd_mips_elf_copy_private_bfd_data): Removed.
* elf.c (_bfd_elf_copy_private_bfd_data): New. Copy e_flags in
the ELF header.
* elf32-i370.c (??_elf_copy_private_bfd_data): Removed.
(bfd_elf??_bfd_copy_private_bfd_data): Removed.
* elf32-m32r.c: Likewise.
* elf32-m68k.c: Likewise.
* elf32-mcore.c: Likewise.
* elf32-mips.c: Likewise.
* elf32-ppc.c: Likewise.
* elf32-v850.c: Likewise.
* elf64-ppc.c: Likewise.
* elf64-sparc.c: Likewise.
* elfxx-ia64.c: Likewise.
* elf64-mips.c (bfd_elf64_bfd_copy_private_bfd_data): Removed.
* elfxx-target.h (bfd_elfNN_bfd_copy_private_bfd_data): Defined
to _bfd_elf_copy_private_bfd_data.
Martin Schwidefsky [Tue, 18 Dec 2001 16:21:38 +0000 (16:21 +0000)]
* elf32-s390 (elf_s390_check_relocs): Pass addend to
gc_record_vtentry.
* elf64-s390 (elf_s390_check_relocs): Likewise.
Fix by Andreas Jaeger <aj@suse.de>.
Thiemo Seufer [Tue, 18 Dec 2001 15:08:05 +0000 (15:08 +0000)]
* readelf.c (get_machine_flags): Recognize header flags for ABI and
ASE extensions. More robust code for ISA checking. Ignore empty fields
in header flags for GNU extensions.
Nick Clifton [Tue, 18 Dec 2001 14:42:03 +0000 (14:42 +0000)]
Correctly match all NetBSD/mips hosts.
Nick Clifton [Tue, 18 Dec 2001 14:35:34 +0000 (14:35 +0000)]
Remove redundant definition.
Nick Clifton [Tue, 18 Dec 2001 14:33:38 +0000 (14:33 +0000)]
Fix endian detection for configuration of sh-linux builds
Tidy up dates in ChangeLog.
Matthew Green [Tue, 18 Dec 2001 14:07:03 +0000 (14:07 +0000)]
* ppc-opc.c (PPCVEC): Include PPC_OPCODE_ANY.
Matthew Green [Tue, 18 Dec 2001 13:26:26 +0000 (13:26 +0000)]
* config.bfd (m68*-*-netbsdelf*): New target.
(m68*-*-netbsd): Also include bfd_elf32_m68k_vec.
(m68*-*-netbsdaout*): New alias for m68*-*-netbsd.
* configure.in (m68k-*-netbsdelf*): New target.
(m68k-*-netbsd*): Also include ELF support.
(m68k-*-netbsdaout*): New alias for m68*-*-netbsd*.
* configure: Regenerate.
* Makefile.am (ALL_EMULATIONS): Add m68kelfnbsd.o.
(m68kelfnbsd.c): New rule.
* Makefile.in: Regenerate.
* configure.tgt (m68*-hp-netbsd*): Renamed to ..
(m68*-*-netbsd*4k*): .. this.
(m68*-*-netbsdelf*): New target.
(m68*-*-netbsd*): Also include ELF support.
(m68*-*-netbsdaout*): New alias for m68*-*-netbsd*.
* emulparams/m68kelfnbsd.sh: New emulation.
Jakub Jelinek [Tue, 18 Dec 2001 12:15:35 +0000 (12:15 +0000)]
* ldgram.y (vers_node): Support anonymous version tags.
* ldlang.c (lang_register_vers_node): Ensure anonymous version
tag is not defined together with non-anonymous versions.
* ld.texinfo: Document it.
* elflink.h (size_dynamic_sections): Skip anonymous version tag.
(elf_link_assign_sym_version): Don't count anonymous version tag.
Alan Modra [Tue, 18 Dec 2001 11:54:10 +0000 (11:54 +0000)]
* objcopy.c (copy_archive): Set output bfd format outside the loop.
Jakub Jelinek [Tue, 18 Dec 2001 11:49:52 +0000 (11:49 +0000)]
* elf-eh-frame.c (struct cie): Add make_lsda_relative.
(struct eh_cie_fde): Add lsda_encoding, lsda_offset,
make_lsda_relative.
(read_value, write_value): New.
(_bfd_elf_discard_section_eh_frame): Inicialize
lsda_encoding, lsda_offset and make_lsda_relative.
(_bfd_elf_eh_frame_section_offset): If make_lsda_relative,
request no dynamic reloc for LSDA field of FDE.
(_bfd_elf_write_section_eh_frame): Handle make_lsda_relative.
If a non-DW_EH_PE_absptr value is 0, don't adjust it by base
or pcrel. Fix address computation for DW_EH_PE_pcrel relocs.
Update LSDA field if LSDA encoding is DW_EH_PE_pcrel, because
. might have changed due to deleted FDE or CIEs.
Jakub Jelinek [Tue, 18 Dec 2001 11:47:59 +0000 (11:47 +0000)]
* elf-strtab.c (struct elf_strtab_hash_entry): Add u.next.
(last_eq): Remove.
(_bfd_elf_strtab_finalize): Don't use a hash table for last
character chains, instead use an array.
Hans-Peter Nilsson [Tue, 18 Dec 2001 10:40:13 +0000 (10:40 +0000)]
* gas/cris/rd-dw2-10.d: Tweak for change in gas dwarf2 line number
handling.
Nick Clifton [Tue, 18 Dec 2001 10:35:27 +0000 (10:35 +0000)]
Import Turkish translation.
Nick Clifton [Tue, 18 Dec 2001 10:33:37 +0000 (10:33 +0000)]
Import japanese translation from translation project.
Thiemo Seufer [Tue, 18 Dec 2001 08:22:30 +0000 (08:22 +0000)]
* addr2line.c (main): Protoype.
* ar.c (main): Protoype.
* nm.c (main): Protoype.
* objcopy.c (main): Protoype.
* objdump.c (main): Protoype.
* size.c (main): Protoype.
* strings.c (main): Protoype.
* gasp.c (main): Protoype.
Alan Modra [Tue, 18 Dec 2001 07:53:11 +0000 (07:53 +0000)]
* elf.c (elfcore_netbsd_get_lwpid): New function.
(elfcore_grok_netbsd_procinfo): New function.
(elfcore_grok_netbsd_note): New function.
(elfcore_read_notes): Call elfcore_grok_netbsd_note to process
NetBSD ELF core file notes.
Alan Modra [Tue, 18 Dec 2001 07:20:15 +0000 (07:20 +0000)]
* config.sub: Import latest version.
* config.guess: Likewise.
Alan Modra [Tue, 18 Dec 2001 07:12:19 +0000 (07:12 +0000)]
* elfcode.h (struct bfd_preserve): New.
(elf_object_p): Replace preserved_* vars with instance of above.
Save and restore arch_info pointer rather than arch, mach so that
more cases can be restored. Save and restore new section_tail,
section_htab structure, and init appropriately. Move "rest of
section header" code so that i_shdrp needs no NULL initialisation.
Free old section_htab on success.
* elfcore.h (elf_core_file_p): Likewise.
Tom Rix [Tue, 18 Dec 2001 00:55:39 +0000 (00:55 +0000)]
Fix email address.
Tom Rix [Tue, 18 Dec 2001 00:32:32 +0000 (00:32 +0000)]
Minimal handle .typchk and .except section.
Richard Henderson [Tue, 18 Dec 2001 00:24:47 +0000 (00:24 +0000)]
* config/tc-alpha.c (alpha_handle_align): Encode unop with RB as $sp.
Richard Henderson [Tue, 18 Dec 2001 00:23:00 +0000 (00:23 +0000)]
* alpha-opc.c (unop): Encode with RB as $sp.
Richard Henderson [Mon, 17 Dec 2001 23:54:58 +0000 (23:54 +0000)]
* Makefile.am: Add rules for eelf64alpha_nbsd.
* Makefile.in: Regenerate.
* configure.tgt (alpha*-*-netbsd*): Set
targ_emul to elf64alpha_nbsd.
* emulparams/elf64alpha_nbsd.sh: Added.
Alan Modra [Mon, 17 Dec 2001 23:00:05 +0000 (23:00 +0000)]
daily update
Jakub Jelinek [Mon, 17 Dec 2001 22:44:12 +0000 (22:44 +0000)]
* elf-bfd.h (elf_discarded_section): Define.
* elflink.h (elf_link_input_bfd): Use it.
(elf_reloc_symbol_deleted_p): Likewise.
* elf64-alpha.c (elf64_alpha_relocate_section): Don't warn about
overflows for pc relative relocs against discarded sections.
Tom Rix [Mon, 17 Dec 2001 22:41:02 +0000 (22:41 +0000)]
Add except and typeck section strings. Fix xcoff_big_format_p macro.
Hans-Peter Nilsson [Mon, 17 Dec 2001 22:20:23 +0000 (22:20 +0000)]
Fix formatting in next-to-last entry
Thiemo Seufer [Mon, 17 Dec 2001 20:14:48 +0000 (20:14 +0000)]
* elf32-mips.c (_bfd_mips_elf_relocate_section): Formatting.
* elf64-mips.c: Add most of the fixes and tweaks done in elf32-mips.c
over the last months. Add some code for mips16 handling.
(mips_elf64_check_mips16_stubs): New function.
(mips_elf64_stub_section_p): Likewise.
(mips_elf64_calculate_relocation): Change interface to support mips16.
(mips_elf64_perform_relocation): Likewise.
Nick Clifton [Mon, 17 Dec 2001 19:50:31 +0000 (19:50 +0000)]
Fix compile time warning messages.
Tom Rix [Mon, 17 Dec 2001 13:13:33 +0000 (13:13 +0000)]
Clean up formatting of xcoff.h
Alan Modra [Mon, 17 Dec 2001 00:52:35 +0000 (00:52 +0000)]
Support for more than 64k ELF sections.
include/elf/ChangeLog
* external.h (Elf_External_Sym_Shndx): Declare.
* internal.h (struct elf_internal_sym <st_shndx>): Make it an
unsigned int.
* common.h (SHN_BAD): Define.
bfd/ChangeLog
* configure.in: Bump bfd version.
* configure: Regenerate.
* elf-bfd.h (elf_size_info <swap_symbol_out>): Add shndx param.
(bfd_elf32_swap_symbol_in): Likewise.
(bfd_elf32_swap_symbol_out): Likewise.
(bfd_elf64_swap_symbol_in): Likewise.
(bfd_elf64_swap_symbol_out): Likewise.
(elf_reloc_cookie): Add locsym_shndx field. Make locsyms a PTR.
(elf_obj_tdata): Add num_elf_sections, symtab_shndx_hdr and
symtab_shndx_section.
(elf_numsections): Define.
(elf_symtab_shndx): Define.
* elf.c (setup_group): Use elf_numsections rather than header e_shnum.
(bfd_elf_find_section): Likewise.
(bfd_section_from_elf_index): Likewise.
(bfd_section_from_shdr): Likewise. Handle SHT_SYMTAB_SHNDX.
(bfd_section_from_r_symndx): Read symbol shndx extension, and
translate st_shndx for > SHN_HIRESERVE.
(assign_section_numbers): Skip reserved sections. Assign
symtab_shndx_section and elf_numsections. Exclude reserved
sections from e_shnum. Set up symtab_shndx_hdr.
(_bfd_elf_compute_section_file_positions): Handle symtab_shndx_hdr.
(map_sections_to_segments): Don't map eh_frame_hdr unless required.
(assign_file_positions_except_relocs): Use elf_numsections rather
than header e_shnum. Skip reserved sections and symtab_shndx_section.
(prep_headers): Set name for symtab_shndx_hdr.
(_bfd_elf_assign_file_positions_for_relocs): Use elf_numsections.
(_bfd_elf_write_object_contents): Likewise. Skip reserved sections.
(_bfd_elf_section_from_bfd_section): Check bfd_{abs,com,und}_section
first. Use elf_section_data if available. Use elf_numsections.
Start scan at index 1.
(copy_private_bfd_data ): Comment fixes.
(MAP_ONESYMTAB): Define above SHN_HIOS.
(MAP_DYNSYMTAB): Likewise.
(MAP_STRTAB): Likewise.
(MAP_SHSTRTAB): Likewise.
(MAP_SYM_SHNDX): New define.
(_bfd_elf_copy_private_symbol_data): Handle symtab_shndx_section.
(swap_out_syms): Swap out SHT_SYMTAB_SHNDX section too.
* elfcode.h (elf_swap_symbol_in): Add shndx param, and handle shndx
extension.
(elf_swap_symbol_out): Likewise.
(elf_object_p): Set elf_numsections, and use instead of e_shnum.
Initialialise reserved elf_elfsections to point at shdr[0]. Remove
redundant bfd_release calls.
(elf_slurp_symbol_table): Read symbol shndx extension, and use with
elf_swap_symbol_in. Translate st_shndx for > SHN_HIRESERVE too.
* elflink.h (elf_link_is_defined_archive_symbol): Read symbol shndx
extension, and use with elf_swap_symbol_in.
(elf_link_record_local_dynamic_symbol): Likewise.
(elf_link_add_object_symbols): Likewise. Also translate st_shndx
for elf sections > SHN_HIRESERVE.
(NAME(bfd_elf,size_dynamic_sections)): Adjust elf_swap_symbol_out
call.
(struct elf_final_link_info): Add locsym_shndx and symshndxbuf.
(elf_bfd_final_link): Allocate the above, and tidy code allocating
other buffers. Use elf_numsections instead of e_shnum. Adjust
elf_swap_symbol_out calls.
(elf_link_output_sym): Swap out symbol shndx extension too.
(elf_link_flush_output_syms): And flush them to disk.
(elf_link_output_extsym): Use SHN_BAD. Adjust elf_swap_symbol_out
calls.
(elf_gc_mark): Read symbol shndx extension, and use with
elf_swap_symbol_in.
(elf_link_input_bfd): Likewise, Translate st_shndx for elf sections
> SHN_HIRESERVE too. Use SHN_BAD.
(elf_reloc_symbol_deleted_p): Use symbol shndx extensions with
elf_swap_symbol_in. Translate st_shndx > SHN_HIRESERVE too.
(elf_bfd_discard_info): Read symbol shndx extension. Don't attempt
to continue after a bfd error.
* elf-m10200.c (mn10200_elf_relax_section): Only read local syms.
Stash them immediately to symtab_hdr->contents rather than later
in multiple places. Clean up afterwards. Read symbol shndx
extension, and use with swap_symbol_in. Translate SHN_UNDEF,
SHN_ABS, SHN_COMMON and elf sections > SHN_HIRESERVE to bfd
sections too. Remove dead code.
(mn10200_elf_relax_delete_bytes): Use symbol shndx extension
when swapping in symbols. Tidy code adjusting global syms.
Don't swap in global syms.
(mn10200_elf_symbol_address_p): Likewise. Remove extsyms param.
(mn10200_elf_get_relocated_section_contents): Read symbol shndx
extension, and use with swap_symbol_in. Rename "size" -> "amt"
to maximize code in common with other files. Translate st_shndx
for > SHN_HIRESERVE too. Remove dead code.
* elf-m10300.c (mn10300_elf_relax_section): Only read local syms.
Stash them immediately to symtab_hdr->contents rather than later
in multiple places. Clean up afterwards. Read symbol shndx
extension, and use with swap_symbol_in. Remove dead code.
(mn10300_elf_relax_delete_bytes): As for elf-m10200.c.
(mn10300_elf_symbol_address_p): Likewise.
(mn10300_elf_get_relocated_section_contents): Likewise.
* elf32-h8300.c (elf32_h8_relax_section): As for elf-m10300.c.
(elf32_h8_relax_delete_bytes): Likewise.
(elf32_h8_symbol_address_p): Likewise.
(elf32_h8_get_relocated_section_contents): Likewise.
* elf32-hppa.c (elf32_hppa_size_stubs): Read symbol shndx
extension, and use with swap_symbol_in.
* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
* elf32-i370.c (i370_elf_finish_dynamic_sections): Adjust call to
bfd_elf32_swap_symbol_out.
* elf32-m32r.c (m32r_elf_get_relocated_section_contents): Translate
elf sections > SHN_HIRESERVE too.
* elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Only read
local syms. Read symbol shndx extension, and use with swap_symbol_in.
* elf32-mips.c (_bfd_mips_elf_final_write_processing): Use
elf_numsections rather than header e_shnum.
* elf32-sh.c (sh_elf_relax_section): As for elf-m10300.c.
(sh_elf_relax_delete_bytes): Likewise.
(sh_elf_get_relocated_section_contents): Likewise. Only read local
symbols.
* elf32-v850.c (v850_elf_symbol_processing): Use an unsigned int to
hold section index. Use elf_numsections rather than e_shnum.
Rename "index" -> "indx" to avoid shadowing warning.
(v850_elf_add_symbol_hook): Likewise.
* elf64-alpha.c (elf64_alpha_relax_section): Only read local syms.
Read symbol shndx extension, and use with swap_symbol_in.
* elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
Translate SHN_COMMON and elf sections > SHN_HIRESERVE too.
* elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
(elfNN_ia64_aix_add_symbol_hook): Use elf_numsections.
* elf-m10300.c (mn10300_elf_gc_mark_hook): Remove unnecessary checks
before calling bfd_section_from_elf_index on local syms.
* elf32-arm.h (elf32_arm_gc_mark_hook): Likewise.
* elf32-avr.c (elf32_avr_gc_mark_hook): Likewise.
* elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
* elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise.
* elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise.
* elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
* elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
* elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
* elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
* elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
* elf32-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
* elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise.
* elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
* elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
* elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
* elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise.
* elf32-v850.c (v850_elf_gc_mark_hook): Likewise.
* elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise.
* elf64-mips.c (mips_elf64_gc_mark_hook): Likewise.
* elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
* elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
* elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
* elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
binutils/ChangeLog
* readelf.c (symtab_shndx_hdr): New global.
(SECTION_HEADER_INDEX): Define.
(SECTION_HEADER_NUM): Define.
(SECTION_HEADER): Define.
(GET_ELF_SYMBOLS): Pass two params rather than three.
(get_32bit_elf_symbols): Take file and section args. Read and
use SHT_SYMTAB_SHNDX.
(get_64bit_elf_symbols): Likewise.
(dump_relocations): Use SECTION_HEADER to index "section_headers".
(process_section_headers): Likewise. Use SECTION_HEADER_NUM too.
Remember symtab_shdx_hdr.
(process_program_headers): Scan from index 1 for segment map.
(slurp_ia64_unwind_table): Use SECTION_HEADER to index
"section_headers".
(process_relocs): Likewise. Also adjust call to GET_ELF_SYMBOLS.
(process_unwind): Likewise.
(process_version_sections): Likewise.
(process_symbol_table): Likewise.
(display_debug_info): Likewise.
(process_dynamic_segment): Fake up a symtab section for changed
GET_ELF_SYMBOLS.
(get_symbol_index_type): Check SHN_LOOS before SHN_LORESERVE.
(process_program_headers): Kill signed/unsigned warning.
(load_debug_str): Likewise.
(display_debug_info): Likewise.
Alan Modra [Mon, 17 Dec 2001 00:43:17 +0000 (00:43 +0000)]
Oops, changelog for last patch.
Alan Modra [Mon, 17 Dec 2001 00:40:53 +0000 (00:40 +0000)]
hash bfd sections for fast lookup and create.
bfd/ChangeLog
* bfd.c (struct _bfd): Add section_htab, section_tail.
* libbfd-in.h (_bfd_delete_bfd): Declare.
(bfd_section_hash_newfunc): Declare.
* opncls.c (_bfd_new_bfd): Free memory on failure. Init
section_htab and section_tail.
(_bfd_delete_bfd): New function.
(bfd_openr): Use it.
(bfd_fdopenr): Likewise.
(bfd_openstreamr): Likewise.
(bfd_openw): Likewise.
(bfd_close): Likewise.
(bfd_close_all_done): Likewise.
(bfd_release): Comment.
* section.c (struct section_hash_entry): New.
(bfd_section_hash_newfunc): New function.
(section_hash_lookup): Define.
(bfd_section_init): New function, split out from
bfd_make_section_anyway.
(bfd_get_section_by_name): Lookup via hash table.
(bfd_get_unique_section_name): Likewise.
(bfd_make_section_old_way): Rewrite to use hash table.
(bfd_make_section_anyway): Likewise.
(bfd_make_section): Likewise. Return NULL for attempts to make
BFD_{ABS,COM,UND,IND}_SECTION_NAME.
(_bfd_strip_section_from_output): Adjust section_tail if needed.
* configure.in: Bump bfd version.
* configure: Regenerate.
* libbfd.h: Regenerate.
* bfd-in2.h: Regenerate.
ld/ChangeLog
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Adjust
section_tail when fiddling with section list.
(gld${EMULATION_NAME}_list_options): Ensure sentences aren't
broken into separate strings to make translation easier.
* emultempl/mmo.em (mmo_place_orphan): Adjust section_tail when
fiddling with section list.
* emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
Alan Modra [Sun, 16 Dec 2001 23:00:06 +0000 (23:00 +0000)]
daily update
Hans-Peter Nilsson [Sun, 16 Dec 2001 12:23:01 +0000 (12:23 +0000)]
* scripttempl/mmo.sc: Add .debug_ranges to listed sections.
Alan Modra [Sat, 15 Dec 2001 23:00:04 +0000 (23:00 +0000)]
daily update
Thiemo Seufer [Sat, 15 Dec 2001 09:56:19 +0000 (09:56 +0000)]
* elf64-mips.c (mips_elf64_link_hash_entry): New link hash.
(mips_elf64_high): New Function.
(mips_elf64_higher): Likewise.
(mips_elf64_highest): Likewise.
(mips_elf64_info_to_howto_rel): Likewise.
(mips_elf64_info_to_howto_rela): Likewise.
(mips_elf64_write_rel): Likewise.
(mips_elf64_write_rela): Likewise.
(mips_elf64_link_hash_newfunc): Likewise.
(mips_elf64_hi16_reloc): Likewise.
(mips_elf64_higher_reloc): Likewise.
(mips_elf64_highest_reloc): Likewise.
(mips_elf64_gprel16_reloc): Likewise.
(mips_elf64_gprel16_reloca): Likewise.
(mips_elf64_literal_reloc): Likewise.
(mips_elf64_gprel32_reloc): Likewise.
(mips_elf64_shift6_reloc): Likewise.
(mips_elf64_got16_reloc): Likewise.
(mips_elf64_assign_gp): Likewise.
(mips_elf64_final_gp): Likewise.
(gprel16_with_gp): Likewise.
(mips_elf64_additional_program_headers): Likewise.
(mips_elf64_link_hash_table_create): Likewise.
(mips_elf64_got_offset_from_index): Likewise.
(_mips_elf64_got_info): Likewise.
(mips_elf64_sign_extend): Likewise.
(mips_elf64_overflow_p): Likewise.
(mips_elf64_global_got_index): Likewise.
(mips_elf64_sort_hash_table_f): Likewise.
(mips_elf64_sort_hash_table): Likewise.
(mips_elf64_swap_msym_out): Likewise.
(mips_elf64_create_local_got_entry): Likewise.
(mips_elf64_local_got_index): Likewise.
(mips_elf64_got_page): Likewise.
(mips_elf64_got16_entry): Likewise.
(mips_elf64_local_relocation_p): Likewise.
(mips_elf64_next_relocation): Likewise.
(mips_elf64_create_dynamic_relocation): Likewise.
(mips_elf64_calculate_relocation): Likewise.
(mips_elf64_obtain_contents): Likewise.
(mips_elf64_perform_relocation): Likewise.
(mips_elf64_relocate_section): Likewise.
(mips_elf64_create_dynamic_sections): Likewise.
(mips_elf64_adjust_dynamic_symbol): Likewise.
(mips_elf64_always_size_sections): Likewise.
(mips_elf64_size_dynamic_sections): Likewise.
(mips_elf64_finish_dynamic_symbol): Likewise.
(mips_elf64_finish_dynamic_sections): Likewise.
(mips_elf64_gc_mark_hook): Likewise.
(mips_elf64_gc_sweep_hook): Likewise.
(mips_elf64_create_got_section): Likewise.
(mips_elf64_record_global_got_symbol): Likewise.
(mips_elf64_create_msym_section): Likewise.
(mips_elf64_allocate_dynamic_relocations): Likewise.
(mips_elf64_check_relocs): Likewise.
(mips_elf64_output_extsym): Likewise.
(mips_elf64_swap_gptab_in): Likewise.
(mips_elf64_swap_gptab_out): Likewise.
(gptab_compare): Likewise.
(mips_elf64_final_link): Likewise.
(prev_reloc_addend): Remenber addend of previous parts of a combined
reloc.
(ELF_MIPS_GP_OFFSET): New define.
(STUB_LW,STUB_MOVE,STUB_JALR,STUB_LI16): Likewise.
(MIPS_FUNCTION_STUB_SIZE): Likewise.
(mips_elf64_howto_rel): Fix HOWTO defines.
(mips_elf64_howto_rela): Likewise.
(mips_elf64_swap_reloca_out): Fix signedness.
(mips_elf64_be_swap_reloc_in): Use ELF64* instead of ELF32*.
(mips_elf64_be_swap_reloca_in): Likewise.
(mips_elf64_be_swap_reloc_out): Likewise. Preserve extended type info.
(mips_elf64_be_swap_reloca_out): Likewise.
Jakub Jelinek [Sat, 15 Dec 2001 08:54:13 +0000 (08:54 +0000)]
* elf-bfd.h (_bfd_elf_maybe_strip_eh_frame_hdr): New prototype.
* elf-eh-frame.c (struct eh_frame_hdr_info): Add strip.
(_bfd_elf_discard_section_eh_frame): Don't create .eh_frame_hdr
sec_info here. Free ehbuf.
(_bfd_elf_discard_section_eh_frame_hdr): Don't size the section
if hdr_info->strip.
(_bfd_elf_maybe_strip_eh_frame_hdr): New.
* elflink.h (size_dynamic_sections): Call it.
Alan Modra [Fri, 14 Dec 2001 23:00:35 +0000 (23:00 +0000)]
daily update
Nick Clifton [Fri, 14 Dec 2001 21:32:04 +0000 (21:32 +0000)]
Initialise the disassembler_options field (to NULL).
Alan Modra [Fri, 14 Dec 2001 15:53:11 +0000 (15:53 +0000)]
* config/obj-elf.c (obj_elf_init_stab_section): References are
kept to section name strings. Don't alloca them!
Alan Modra [Fri, 14 Dec 2001 13:50:01 +0000 (13:50 +0000)]
* ldmain.c (main): Initialise link_info.eh_frame_hdr.
Alan Modra [Fri, 14 Dec 2001 01:52:27 +0000 (01:52 +0000)]
* elflink.h (elf_bfd_discard_info): Fix segfault when dynobj NULL.
Thomas Fitzsimmons [Thu, 13 Dec 2001 23:57:00 +0000 (23:57 +0000)]
* configure.in (FLAGS_FOR_TARGET): Remove -nostdinc and -isystem
options for i[3456]86-pc-linux* native builds.