Commit Graph

2556 Commits

Author SHA1 Message Date
Nick Clifton e6af3a53b1 Allow an otherwise unrepresentable read-only section that lies after .text
and before .data to be written into the output file and included in a_text.
2002-12-10 16:15:27 +00:00
Alan Modra af8b928e75 daily update 2002-12-09 23:46:37 +00:00
Alan Modra c546ac08d5 daily update 2002-12-08 23:00:05 +00:00
Alan Modra cf3d882d19 * bfd-in.h: Comment typo fix. Formatting.
* bfd-in2.h: Regenerate.
	* coff64-rs6000.c (xcoff64_openr_next_archived_file): Warning fix.
	* elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): Prototype.
	* elf64-mmix.c (mmix_dump_bpo_gregs): Warning fix.
2002-12-08 03:34:38 +00:00
Alan Modra 1b02d8ea3f daily update 2002-12-07 23:00:04 +00:00
Alan Modra 3b7963af46 daily update 2002-12-06 23:00:04 +00:00
Richard Henderson 2f9bd3f641 * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21BI.
Only send PCREL21B though the plt.  Fix installed reloc type.
        (elfNN_ia64_relocate_section): Give error for dynamic reloc
        against PCREL22 or PCREL64I; clean up error messages for
        branch relocs.
2002-12-06 01:48:24 +00:00
Alan Modra 3d8fe2eb21 daily update 2002-12-05 23:00:05 +00:00
Kevin Buettner d0112f7353 Add n64 core file support for Linux/MIPS. 2002-12-05 05:04:00 +00:00
Jim Wilson c10d9d8fc3 Patch to update IA-64 port to SDM 2.1.
bfd/ChangeLog
	* cpu-ia64-opc.c: Add operand constant "ar.csd".
gas/ChangeLog
	* config/tc-ia64.c (pseudo_func): Add "@pause" constant for "hint"
	instruction.
	(emit_one_bundle): Handle "hint" instruction.
	(operand_match): Match IA64_OPND_AR_CSD.
gas/testsuite/ChangeLog
	* gas/ia64/opc-b.d: Update for instructions added by SDM2.1.
	* gas/ia64/opc-b.s: Ditto.
	* gas/ia64/opc-f.d: Ditto.
	* gas/ia64/opc-f.s: Ditto.
	* gas/ia64/opc-i.d: Ditto.
	* gas/ia64/opc-i.s: Ditto.
	* gas/ia64/opc-m.d: Ditto.
	* gas/ia64/opc-m.s: Ditto.
	* gas/ia64/opc-x.d: Ditto.
	* gas/ia64/opc-x.s: Ditto.
include/opcode/ChangeLog
	* ia64.h: Fix copyright message.
	(IA64_OPND_AR_CSD): New operand kind.
opcodes/ChangeLog
	* ia64-opc-d.c (ia64_opcodes_d): Add "hint" instruction.
	* ia64-opc-b.c: Add "hint.b" instruction.
	* ia64-opc-f.c: Add "hint.f" instruction.
	* ia64-opc-i.c: Add "hint.i" instruction.
	* ia64-opc-m.c: Add "hint.m", "fc.i", "ld16", "st16", and
	"cmp8xchg16" instructions.
	* ia64-opc-x.c: Add "hint.x" instruction.
	* ia64-opc.h (AR_CSD): New macro.
	* ia64-ic.tbl: Update according to SDM2.1.
	* ia64-raw.tbl: Ditto.
	* ia64-waw.tbl: Ditto.
	* ia64-gen.c (in_iclass): Handle "hint" like "nop".
	(lookup_regindex): Recognize AR[FCR], AR[EFLAG], AR[CSD],
	AR[SSD], AR[CFLG], AR[FSR], AR[FIR], and AR[FDR].
	* ia64-asmtab.c: Regenerate.
2002-12-05 02:08:02 +00:00
H.J. Lu d48770d487 2002-12-04 H.J. Lu <hjl@gnu.org>
* elfxx-ia64.c (get_local_sym_hash): Use section ID instead of
	BFD address when constructing local name.
2002-12-04 23:59:27 +00:00
Alan Modra 9b7400f84d daily update 2002-12-04 23:00:33 +00:00
Andreas Schwab b6152c3461 * elf32-m68k.c (struct elf_m68k_link_hash_table): Add sym_sec
member.
	(elf_m68k_link_hash_table_create): Initialize it.
	(elf_m68k_check_relocs): Handle symbols that are forced to be
	local due to visibility changes.
	(elf_m68k_adjust_dynamic_symbol): Likewise.
	(elf_m68k_size_dynamic_sections): Likewise.
	(elf_m68k_discard_copies): Likewise.
	(elf_m68k_relocate_section): Likewise.
2002-12-04 15:07:13 +00:00
Alan Modra 73374ef17b * elf64-ppc.c (ppc64_elf_edit_opd): Correct typo. 2002-12-04 11:08:16 +00:00
Alan Modra c5c1944d0f * srec.c (srec_write_symbols): Restore '$' prefix to address
accidentally removed in 2002-04-04 change.
	(srec_get_symtab): Use 0 instead of `(long) FALSE'.
2002-12-03 23:55:48 +00:00
Alan Modra 80f6040336 daily update 2002-12-03 23:00:04 +00:00
Nick Clifton 6b0817e5ee Fix typo in ChangeLog entry.
Add paranoia checks to .PPC.EMB.apuinfo merging code.
2002-12-03 18:52:45 +00:00
Nick Clifton e1a9cb8e15 Fix the merging of .PPC.EMB.apuinfo sections. Add a test to make sure that
the fix continues to work.
2002-12-03 18:24:33 +00:00
Richard Henderson a823923bf6 include/opcode/
* ia64.h (enum ia64_opnd): Add IA64_OPND_LDXMOV.
bfd/
        * cpu-ia64-opc.c (elf64_ia64_operands): Add ldxmov entry.
opcodes/
        * ia64-opc-m.c: Add ld8.mov.
        * ia64-asmtab.c: Regenerate.
gas/
        * config/tc-ia64.c (operand_match): Add IA64_OPND_LDXMOV case.
gas/testsuite/
        * gas/ia64/ldxmov-1.[ds]: New.
        * gas/ia64/ldxmov-2.[ls]: New.
        * gas/ia64/ia64.exp: Run them.
2002-12-03 18:15:48 +00:00
Alan Modra 5adef1a05f daily update 2002-12-02 23:00:05 +00:00
Alan Modra 16203efcba daily update 2002-12-01 23:00:05 +00:00
Stephane Carrez 3049164782 Fix PR savannah/1417:
* elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Don't adjust
	branch if it goes to the start of the deleted region.
2002-12-01 13:24:03 +00:00
Stephane Carrez bc7c6a9029 * bfd-in2.h (bfd_mach_m6812): Rebuild.
* archures.c (bfd_mach_m6812_default, bfd_mach_m6812,
	bfd_mach_m6812s): Declare.

	* elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): New function.
	(_bfd_m68hc12_elf_set_private_flags): Call it.
	(_bfd_m68hc12_elf_print_private_bfd_data): Report processor version.
	(_bfd_m68hc12_elf_merge_private_bfd_data): Merge the flags and
	report microcontroller incompatibilities (HC12 vs HCS12).
	(elf_backend_object_p): Update.
2002-12-01 12:18:29 +00:00
Alan Modra 6ecb41c605 daily update 2002-11-30 23:00:05 +00:00
Alan Modra b34976b65a s/boolean/bfd_boolean/ s/true/TRUE/ s/false/FALSE/. Simplify
comparisons of bfd_boolean vars with TRUE/FALSE.  Formatting.
2002-11-30 08:39:46 +00:00
Alan Modra 24fddaa0e7 daily update 2002-11-29 23:00:04 +00:00
Alan Modra e5af98ed41 daily update 2002-11-28 23:00:04 +00:00
Alan Modra 947216bf8f include/elf/ChangeLog
* internal.h (elf32_internal_ehdr, Elf32_Internal_Ehdr,
	elf64_internal_ehdr, Elf64_Internal_Ehdr, elf32_internal_phdr,
	Elf32_Internal_Phdr, elf64_internal_phdr, Elf64_Internal_Phdr,
	elf32_internal_shdr, Elf32_Internal_Shdr, elf64_internal_shdr,
	Elf64_Internal_Shdr, elf32_internal_sym, elf64_internal_sym,
	Elf32_Internal_Sym, Elf64_Internal_Sym, Elf32_Internal_Note,
	elf32_internal_note, elf32_internal_rel, Elf32_Internal_Rel,
	elf64_internal_rel, Elf64_Internal_Rel, elf32_internal_rela,
	elf64_internal_rela, Elf32_Internal_Rela, Elf64_Internal_Rela,
	elf32_internal_dyn, elf64_internal_dyn, Elf32_Internal_Dyn,
	Elf64_Internal_Dyn, elf32_internal_verdef, elf64_internal_verdef,
	elf32_internal_verdaux, elf64_internal_verdaux, elf32_internal_verneed,
	elf64_internal_verneed, elf32_internal_vernaux, elf64_internal_vernaux,
	elf32_internal_versym, elf64_internal_versym, Elf32_Internal_Verdef,
	Elf64_Internal_Verdef, Elf32_Internal_Verdaux, Elf64_Internal_Verdaux,
	Elf32_Internal_Verneed, Elf64_Internal_Verneed, Elf32_Internal_Vernaux,
	Elf64_Internal_Vernaux, Elf32_Internal_Versym, Elf64_Internal_Versym,
	Elf32_Internal_Syminfo, Elf64_Internal_Syminfo): Delete.
	(Elf_Internal_Rel): Delete.

bfd/ChangeLog
	* elf-bfd.h: Replace occurrences of Elf32_Internal_* and
	Elf64_Internal_* with Elf_Internal_*.  Replace Elf_Internal_Rel
	with Elf_Internal_Rela.
	* elf-hppa.h, elf-m10200.c, elf-m10300.c, elf32-arc.c, elf32-arm.h,
	elf32-avr.c, elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c,
	elf32-fr30.c, elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c,
	elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
	elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
	elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
	elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-v850.c, elf32-vax.c,
	elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
	elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
	elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c, elfarm-oabi.c,
	elfcode.h, elflink.h, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c: Ditto.
	* elf-hppa.h (elf_hppa_internal_shdr): Delete.  Use Elf_Internal_Shdr
	throughout instead.
	* elf.c (_bfd_elf_no_info_to_howto_rel): Delete.
	* elfcode.h (elf_swap_reloca_in): Pass source operand as a bfd_byte *.
	Remove INLINE keyword.
	(elf_swap_reloc_in): Likewise.  Also clear r_addend.
	(elf_swap_reloc_out, elf_swap_reloca_out): Pass destination operand
	as a bfd_byte *.
	(elf_write_relocs): Consolidate REL and RELA code.
	(elf_slurp_reloc_table_from_section): Simplify REL code.
	(NAME(_bfd_elf,size_info)): Populate reloc swap entries.
	* elf-bfd.h (MAX_INT_RELS_PER_EXT_REL): Define.
	* elflink.h (elf_link_read_relocs_from_section): Consolidate REL and
	RELA code.
	(elf_link_adjust_relocs): Likewise.  Don't malloc space for temp
	reloc array, use a fixed size of MAX_INT_RELS_PER_EXT_REL.
	(elf_link_output_relocs): Likewise.
	(elf_reloc_link_order): Likewise.
	(elf_finish_pointer_linker_section): Likewise.
	(struct elf_link_sort_rela): Remove union.
	(elf_link_sort_cmp1): Update to suit.
	(elf_link_sort_cmp2): Here too.
	(elf_link_sort_relocs): Consolidate REL and RELA code.  Fix memory
	over-allocation for int_rels_per_ext_rel != 1 case.
	* elf32-arm.h: Update all bfd_elf32_swap_reloc_out calls.
	* elf32-i386.c: Likewise.
	* elf32-cris.c: Likewise for bfd_elf32_swap_reloca_out.
	* elf32-hppa.c, elf32-i370.c, elf32-m68k.c, elf32-ppc.c, elf32-s390.c,
	elf32-sh.c, elf32-vax.c, elfxx-mips.c: Likewise.
	* elf64-alpha.c: Likewise for bfd_elf64_swap_reloca_out.
	* elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
	elf64-sparc.c, elf64-x86-64.c: Likewise.
	* elfxx-ia64.c: Likewise for bfd_elfNN_swap_reloca_out.
	* elfxx-mips.c (sort_dynamic_relocs): Likewise for
	bfd_elf32_swap_reloc_in.

	* elf32-arm.h: Update elf32_arm_info_to_howto calls.
	* elf32-mips.c: Likewise for mips_info_to_howto_rel.
	(mips_elf64_swap_reloc_in): Zero r_addend.
	(mips_elf64_be_swap_reloc_in): Likewise.
	(mips_elf64_slurp_one_reloc_table): Simplify.

	* elf64-alpha.c (alpha_elf_size_info): Populate reloc swap entries.
	* elf64-hppa.c (hppa64_elf_size_info): Likewise.
	* elf64-sparc.c (sparc64_elf_size_info): Likewise.
2002-11-28 11:55:43 +00:00
Kaz Kojima 1448fa3227 * elf32-sh.c (sh_elf_relocate_section): Don't complain about
unresolved debugging relocs in dynamic applications.
	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
	* ld-sh/refdbg-0-dso.d: New test.
	* ld-sh/refdbg-1.d: Likewise.
	* ld-sh/refdbg.s: Likewise.
	* ld-sh/refdbglib.s: Likewise.
2002-11-28 08:37:15 +00:00
Alan Modra 8fe83ebee4 daily update 2002-11-27 23:00:04 +00:00
Alan Modra df869a462a daily update 2002-11-26 23:00:05 +00:00
Alan Modra 73722af036 * elf-eh-frame.c (ENSURE_NO_RELOCS): Disregard R_*_NONE relocs.
(_bfd_elf_discard_section_eh_frame): Don't discard duplicate CIEs
	on a relocatable link.  Comment typos.
	* elf.c (_bfd_elf_link_hash_newfunc): Assign elements of structure
	in the order they are declared.  Clear elf_hash_value too.
	(_bfd_elf_link_hash_table_init): Likewise assign in order.  Clear
	eh_info and tls_segment.
	* elflink.h (elf_link_input_bfd <emit_relocs>): Keep reloc offsets
	sorted when discarding relocs by turning them into R_*_NONE.

	* libbfd.c (warn_deprecated): Comment spelling.
	* po/SRC-POTFILES.in: Regenerate.
2002-11-26 11:54:02 +00:00
Alan Modra 8ae8aa02d3 daily update 2002-11-25 23:00:05 +00:00
Alan Modra 6902388cfe daily update 2002-11-24 23:00:05 +00:00
Alan Modra 462cb1bb28 daily update 2002-11-23 23:00:03 +00:00
Alan Modra 3f4147632f daily update 2002-11-22 23:00:05 +00:00
Alan Modra caa402677f daily update 2002-11-21 23:00:04 +00:00
Richard Henderson 7c25b72c17 * elflink.h (elf_link_add_object_symbols): Don't overwrite the
arch's st_other bits when merging visibilities.
        (elf_link_output_extsym): Tidy clearing of visibility field.
2002-11-21 18:52:36 +00:00
Alan Modra dc12c51f36 * coff-mcore.c (SWAP_IN_RELOC_OFFSET): Define.
(SWAP_OUT_RELOC_OFFSET): Define.
2002-11-21 13:11:33 +00:00
Alan Modra ca38dbba3d daily update 2002-11-20 23:00:05 +00:00
Alexandre Oliva 963f13ecfe * elf.c (_bfd_elf_link_hash_table_init): Make sure
can_refcount is properly extended to the type of
init_refcount.
2002-11-20 18:17:04 +00:00
Alan Modra 3643cf46d6 daily update 2002-11-19 23:00:05 +00:00
Alexandre Oliva 4ffba85cf6 * elfxx-mips.c (MIPS_RELOC_RELA_P): New macro.
(_bfd_mips_elf_relocate_section): Use it.
2002-11-19 20:52:32 +00:00
Alexandre Oliva ee6423ed14 * elfxx-mips.c (MNAME): New macro.
(_bfd_mips_elf_check_relocs): Use it.
(_bfd_mips_elf_discard_info): Likewise.
(_bfd_mips_elf_final_link): Likewise.
2002-11-19 20:50:43 +00:00
Alan Modra cdcf6e38a2 * elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust
rel_hdr.sh_size too.
2002-11-19 06:32:35 +00:00
Alan Modra 80b26a8da1 daily update 2002-11-18 23:00:06 +00:00
Klee Dienes 93509525ce 2002-11-16 Klee Dienes <kdienes@apple.com>
* Makefile.am (BFD32_LIBS): Add bfdwin.lo, bfdio.lo.
	(BFD32_LIBS_CFILES): Add bfdwin.c, bfdio.c.
	(BFD_H_FILES): Add bfdwin.c, bfdio.c.
	(LIBBFD_H_FILES): Add bfdwin.c, bfdio.c.
	Add dependencies for bfdwin.c, bfdio.c.
	* bfd.c: Remove bfd_get_mtime, bfd_get_size.
	* libbfd.c: Remove real_read, bfd_bread, _bfd_window_internal,
	bfd_init_window, bfd_free_window, bfd_get_file_window, bfd_bwrite,
	bfd_tell, bfd_flush, bfd_stat, bfd_seek.
	* bfdio.c: New file.  Contains real_read, bfd_bread, bfd_write,
	bfd_tell, bfd_flush, bfd_stat, bfd_seek, bfd_ge_mtime,
	bfd_get_size (moved from libbfd.c and bfd.c).
	* bfdwin.c New file.  Contains _bfd_window_internal,
	bfd_init_window, bfd_free_window, bfd_get_file_window (moved from
	libbfd.c and bfd.c).
	* po/SRC-POTFILES.in: Regenerate.
	* po/bfd.pot: Regenerate.
	* libbfd.h: Regenerate.
	* bfd-in2.h: Regenerate.
	* aclocal.m4: Regenerate.
	* Makefile.in: Regenerate.
	* configure: Regenerate.

2002-11-16  Klee Dienes  <kdienes@apple.com>

	* Makefile.am (DOCFILES): Add bfdwin.texi, bfdio.texi.
	(PROTOS): Add bfdio.p, bfdwin.p.
	(SRCDOC): Add bfdio.c, bfdwin.c.
	(SRCPROT): Add bfdio.c, bfdwin.c.
	(SRCIPROT): Add bfdio.c, bfdwin.c.
	(LIBBFD_H_DEP): Add bfdio.c, bfdwin.c.
	(BFD_H_DEP): Add bfdio.c, bfdwin.c.
	Add rules for bfdio.texi, bfdwin.text.
	* bfd.texinfo: Include bfdio.texi.
2002-11-18 16:37:54 +00:00
Alan Modra 3ae414543e * bfd.c (bfd_preserve_save): Don't zero BFD_IN_MEMORY. 2002-11-18 00:33:01 +00:00
Alan Modra b98a09c8ac daily update 2002-11-17 23:00:03 +00:00
Alan Modra ad6e681780 daily update 2002-11-16 23:00:04 +00:00
Klee Dienes aca9b8e5ab Remove spurious ChangeLog addition. 2002-11-16 21:09:08 +00:00
Klee Dienes 087e01e5f0 2002-11-16 Klee Dienes <kdienes@apple.com>
* m88k.h (INSTAB): Remove 'next' field.
	(instruction): Remove definition; replace with extern declaration
	and mark as const.

2002-11-16  Klee Dienes  <kdienes@apple.com>

	* m88k-dis.c: (HASHTAB): New type, used to build instruction hash tables.
	Contains a pointer to an INSTAB and a pointer to the next hash
	chain entry.
	(instructions): Move definition from m88k.h; remove initialization
	of 'next' field.
	(hashtable): Now an aray of pointer-to-HASHTAB, not INSTAB.
	(printop): Mark pointer to OPSPEC as const.
	(install): Remove; fold into init_disasm.
	(m88kdis): Update to ihashtab_initialized to 1 after calling init_disasm.
	entry_ptr now iterates through HASHTABs, not INSTABs.
	(init_disasm): Iterate through the instructions and add to hashtable[].
2002-11-16 18:34:52 +00:00
Alan Modra b7b7461f84 daily update 2002-11-15 23:00:04 +00:00
Nick Clifton e514ac71cb Fix h8300 relaxation. 2002-11-15 11:18:49 +00:00
Klee Dienes eddc4f813f 2002-11-15 Klee Dienes <kdienes@apple.com>
* pef.c (bfd_pef_convert_architecture): Move declaration
        ARCH_POWERPC and ARCH_M68K to the start of the function.
2002-11-15 08:38:38 +00:00
Alan Modra 11e6ddcda6 daily update 2002-11-14 23:00:04 +00:00
Svein Seldal 51908eee4e * coff-tic4x.c (tic4x_howto_table): Formatting fixup 2002-11-14 11:02:30 +00:00
Hans-Peter Nilsson 3416d2e743 * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs):
For bpo_gregs_section->contents, allocate _raw_size, not
	_cooked_size.
2002-11-14 01:32:28 +00:00
Alan Modra 7b580b4aba daily update 2002-11-13 23:00:05 +00:00
Alan Modra b1c58715b4 * config.bfd: Add entries for powerpc-*-darwin and cousins. 2002-11-13 01:45:42 +00:00
Alan Modra a7f8412542 Missed commit in last change. 2002-11-12 23:25:42 +00:00
Alan Modra 0b74bc7784 daily update 2002-11-12 23:00:04 +00:00
H.J. Lu 077ca68b4c 2002-11-13 H.J. Lu <hjl@gnu.org>
* elfcode.h (elf_object_p): Don't restore abfd->arch_info.
2002-11-12 22:49:45 +00:00
Alan Modra e84d6fca26 * bfd.c (struct bfd_preserve): New.
(bfd_preserve_save): New function.
	(bfd_preserve_restore): Ditto.
	(bfd_preserve_finish): Ditto.
	* bfd-in2.h: Regenerate.
	* mach-o.c: Formatting.
	(bfd_mach_o_scan_read_symtab_symbol): Make "value" unsigned.
	(bfd_mach_o_object_p): Use bfd_preserve_save/restore/finish.
	(bfd_mach_o_core_p): Ditto.
	(bfd_mach_o_scan): Pass in mdata.
	* mach-o.h (bfd_mach_o_scan): Update prototype.
	* pef.c: Formatting.
	(bfd_pef_object_p): Use bfd_preserve_save/restore/finish.
	(bfd_pef_xlib_object_p): Ditto.
	(bfd_pef_scan): Pass in mdata.  Move version check to bfd_pef_object_p.
	* pef.h (bfd_pef_scan): Update prototype.
	* xsym.c: Formatting, K&R fixes.
	(bfd_sym_object_p): Use bfd_preserve_save/restore/finish.
	(bfd_sym_scan): New function split out from bfd_sym_object_p.
	* xsym.h (bfd_sym_scan): Declare.
	* elfcode.h (elf_object_p): Use bfd_preserve_save/restore/finish.
	(elf_core_file_p): Likewise.
	* targets.c (_bfd_target_vector): Revert 2002-11-08 change.
2002-11-12 15:44:24 +00:00
Nick Clifton cd24c22246 Add new/updated Danish translations 2002-11-12 10:08:25 +00:00
Alan Modra d6fe2dc102 * elflink.h (elf_link_add_object_symbols): Optimize stabs for
relocatable link too.
	(elf_link_input_bfd): When emitting relocs, adjust offsets for
	eh_frame and stab sections.  Zap deleted relocs.
	(elf_reloc_symbol_deleted_p): Return true for zero r_symndx.
	(elf_bfd_discard_info): Run for relocatable link too.
	* elf64-ppc.c (ppc64_elf_edit_opd): Rename from edit_opd.  Make global.
	Handle ld -r case.
	(ppc64_elf_size_dynamic_sections): Don't call edit_opd from here.
	* elf64-ppc.h (ppc64_elf_edit_opd): Declare.
2002-11-12 07:55:43 +00:00
Alan Modra 126495ed15 * elf-bfd.h (struct cie_header): Move from elf_eh-frame.c.
(struct cie, struct eh_cie_fde, struct eh_frame_sec_info): Likewise.
	(struct eh_frame_array_ent, struct eh_frame_hdr_info): Likewise.
	(enum elf_link_info_type): Remove ELF_INFO_TYPE_EH_FRAME_HDR.
	(struct eh_frame_hdr_info): Add "hdr_sec", remove "split".
	(struct elf_link_hash_table): Add eh_info.
	(struct elf_obj_tdata): Change eh_frame_hdr to an asection *.
	(_bfd_elf_discard_section_eh_frame): Update prototype.
	(_bfd_elf_discard_section_eh_frame_hdr): Likewise.
	(_bfd_elf_write_section_eh_frame): Likewise.
	(_bfd_elf_write_section_eh_frame_hdr): Likewise.
	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Remove "ehdrsec"
	param.  Get "hdr_info" from link hash table.
	(_bfd_elf_discard_section_eh_frame_hdr): Remove "sec" param.  Get
	header section from link hash table.  Save header section to elf_tdata.
	(_bfd_elf_maybe_strip_eh_frame_hdr): Remove local "sec".  Use
	header section from link hash table.  Don't alloc hdr_info.  Clear
	hdr_sec instead of setting "strip".
	(_bfd_elf_eh_frame_section_offset): Formatting.
	(_bfd_elf_write_section_eh_frame): Remove "ehdrsec", add "info" param.
	Get header section from link hash table.
	(_bfd_elf_write_section_eh_frame_hdr): Remove "sec", add "info" param.
	Get header section from link hash table.
	* elf.c (map_sections_to_segments): Use cached eh_frame_hdr.
	(get_program_header_size): Likewise.
	(_bfd_elf_section_offset): Formatting.
	* elflink.h (elf_link_create_dynamic_sections): Stash eh frame header
	section pointer in link hash table.
	(elf_bfd_final_link): Adjust _bfd_elf_write_section_eh_frame_hdr
	and _bfd_elf_write_section_eh_frame calls.  Update comment about
	eh_frame entries.
	(elf_bfd_discard_info): Adjust _bfd_elf_discard_section_eh_frame and
	_bfd_elf_discard_section_eh_frame_hdr calls.  Remove "ehdr".

	* po/SRC-POTFILES.in: Regenerate.
2002-11-12 07:35:26 +00:00
Alan Modra 99eb2ac83d * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't zero
relocs for discarded FDEs.  Remove dead code.
	(_bfd_elf_write_section_eh_frame_hdr): Remove dead code.
	* elflink.h (elf_bfd_discard_info): Don't save edited relocs.
	Tidy conditions under which stabs are edited.  Formatting.
	* elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
	from discarded relocs.
	* elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Add reloc output
	section adjustments after testing magic values.
2002-11-12 06:21:05 +00:00
Alan Modra 7c319a271c * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Correct
references to large plt symbols.
2002-11-11 23:42:29 +00:00
Alan Modra a95a455043 * mach-o.c (bfd_mach_o_scan_read_thread): Don't re-use 'i' when
looking for an unused section name.
2002-11-11 23:19:03 +00:00
Alan Modra c9fcedcf17 daily update 2002-11-11 23:01:15 +00:00
Kazu Hirata bc7eab726b * coff-h8300.c: Fix formatting.
* elf32-h8300.c: Likewise.
	* reloc16.c: Likewise.
2002-11-11 05:05:22 +00:00
Alan Modra 66cd976c53 daily update 2002-11-10 23:00:05 +00:00
Alan Modra eb9e99e691 daily update 2002-11-09 23:00:04 +00:00
Alan Modra 52585bb8f1 * elf32-arm.h (elf32_arm_size_dynamic_sections): Don't strip output
section when dynamic section unused;  _bfd_strip_section_from_output
	instead.
2002-11-09 00:52:27 +00:00
Alan Modra 34f5246900 daily update 2002-11-08 23:00:04 +00:00
Alan Modra 207b304b84 Disable sym_vec too. 2002-11-07 23:26:51 +00:00
Alan Modra 3b029f6508 * targets.c (_bfd_target_vector): Disable pef_vec and pef_xlib_vec. 2002-11-07 23:13:30 +00:00
Alan Modra 4258491202 daily update 2002-11-07 23:00:09 +00:00
Alan Modra 9f632188f0 * dwarf2.c: Revert last change. 2002-11-07 22:19:59 +00:00
Nick Clifton ec4530b540 Use bfd_simple_get_relocated_section_contents() instead of bfd_get_section_contents(). 2002-11-07 14:36:31 +00:00
Hans-Peter Nilsson 205cfeb0bf * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOT,
case R_CRIS_32_GOT>: Correct test for filling in constant .got
	contents, enabling for a non-DSO, for symbols defined in the
	program with --export-dynamic.
2002-11-07 13:28:04 +00:00
Alan Modra 87e226ce81 * elf64-ppc.c: Comment typo fixes.
(ppc64_elf_merge_private_bfd_data): Allow BFD_ENDIAN_UNKNOWN input.
2002-11-07 12:45:29 +00:00
Nick Clifton 235c479450 Added/Updated Danish translation. 2002-11-07 08:45:25 +00:00
Alan Modra cdc7558f46 daily update 2002-11-06 23:00:04 +00:00
Alexandre Oliva 4917946930 * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Generate
exactly three internal relocs per external reloc.  Set reloc_count
to the external reloc count.
2002-11-06 21:56:05 +00:00
Nick Clifton 246178f244 (stub_bytes): Mark as const.
Fix comment formatting.
2002-11-06 17:12:05 +00:00
Nick Clifton 3af9a47b1c Add support for PEF, Mach-O, xSYM 2002-11-06 13:26:29 +00:00
Alan Modra ad12c1c577 Ah bah, missed these from last commit. 2002-11-06 12:04:31 +00:00
Alan Modra b6821651ed * Makefile.am: Remove entries for elf32-qnx.[ch].
* Makefile.in: Regenerate.
	* config.bfd: Change arm-nto to use bfd_elf32_{big|little}arm_vec,
	ppc-nto to use bfd_elf32_powerpc{le}_vec, sh-nto to use
	bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
	* configure.in: Remove support for bfd_elf32_sh{l}qnx_vec,
	bfd_elf32_powerpc{le}qnx_vec, bfd_elf32_{big|little}armqnx_vec,
	and bfd_elf32_i386qnx_vec, and removed elf32-qnx.lo from other targets.
	bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
	* configure: Regenerate.
	* elf32-qnx.c: Remove.
	* elf32-qnx.h: Remove.
	* elf.c: Remove calls to QNX specific set_nonloadable_filepos,
	is_contained_by_filepos, and copy_private_bfd_data_p.
	* elf32-i386.c: Remove QNX extended bfd support.
	* elf32-ppc.c: Remove QNX extended bfd support.
	* elf32-sh.c: Remove QNX extended bfd support.
	* elfarm-nabi.c: Remove QNX extended bfd support.
	* targets.c: Remove qnx vectors.
	* elfxx-target.h (elf_backend_set_nonloadable_filepos): Remove
	(elf_backend_is_contained_by_filepos): Remove.
	(elf_backend_copy_private_bfd_data_p): Remove.
	* po/SRC-POTFILES.in: Regenerate.
2002-11-06 11:38:35 +00:00
Alan Modra 41b6ea2f9e daily update 2002-11-05 23:00:03 +00:00
Alan Modra dad628168e * elf64-sparc.c (sparc64_elf_relocate_section): Adjust addend of
dynamic relocs against section symbols for the output section vma.
2002-11-05 22:59:23 +00:00
Alan Modra 911b232a92 * elf32-arm.h (t2a1_push_insn, t2a2_ldr_insn, t2a3_mov_insn,
t2a4_bx_insn, t2a5_pop_insn, t2a6_bx_insn): Remove.
2002-11-05 05:01:11 +00:00
Alan Modra 08f740041a * config.bfd (sh-*-linux*): Use bfd_elf*_sh64*lin_vec as sh64
vectors in target_selvecs.
	(shle-*-netbsdelf*): Use bfd_elf*_sh64*nbsd_vec as sh64 vectors
	in target_selvecs.
	(sh-*-netbsdelf*): Likewise.
	* configure.in (assocvecs): New variable.  Handle assocvecs like
	selvecs.
	* configure: Regenerate.
	* format.c (bfd_check_format_matches): Store bfd_target pointers
	in matching_vector instead of target names.  Select first target
	from bfd_associated_vector that matches a list of ambiguous targets.
	* targets.c (_bfd_associated_vector): New array.
	(bfd_associated_vector): New variable.
	(_bfd_target_vector): Add bfd_elf*_sh64*lin_vec.
	* libbfd-in.h (bfd_associated_vector): Declare.
	* libbfd.h: Regenerate.
2002-11-05 01:18:56 +00:00
Alan Modra 89117aabb3 * vms-gsd.c (_bfd_vms_write_gsd): Check that symbol->udata.p is
non-NULL before dereferencing.
2002-11-05 01:08:18 +00:00
Alan Modra b88b8dd891 daily update 2002-11-04 23:00:04 +00:00
Kaz Kojima 5e9aae3e09 * vms.c (vms_object_p): Restore the start address when returning
NULL.
2002-11-04 21:44:36 +00:00
Alan Modra c97e73ddb6 * elflink.h (struct elf_final_link_info): Add shndxbuf_size.
(elf_bfd_final_link): Don't bother zeroing symtab_hdr fields.
	Set up a larger symshndxbuf, and write it out.  Free it on
	exit rather than freeing symbuf twice.  Correct section index
	on output section symbol loop.
	(elf_link_output_sym): Accumulate symbol extension section
	indices, reallocating symshndxbuf rather than writing it out.
	(elf_link_flush_output_syms): Don't flush symshndxbuf.
	* elf.c (assign_section_numbers): Init i_shdrp to all zero.
	Use bfd_zalloc to clear i_shdrp[0] too.
2002-11-04 13:20:56 +00:00
Stephen Clarke 3463048e40 * elf32-sh64-com.c (sh64_address_in_cranges): Use
_raw_size of cranges section if _cooked_size not yet set.
2002-11-04 00:02:13 +00:00
Alan Modra b2d3a55a49 daily update 2002-11-03 23:00:08 +00:00
Hans-Peter Nilsson 63a2379942 * elf32-v850.c (v850_elf_relax_delete_bytes): Correct parameters
for bfd_elf32_swap_symbol_out.
2002-11-03 10:43:44 +00:00
Alan Modra b793562e43 daily update 2002-11-02 23:00:05 +00:00
Alan Modra 856695231a daily update 2002-11-01 23:00:07 +00:00
David O'Brien e68cc12e04 2002-10-31 David O'Brien <obrien@FreeBSD.org>
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't mix
	signed and unsigned in comparison.

Approved by:  Alan Modra <amodra@bigpond.net.au>
              Message-ID: <20021012185224.Y979@bubble.sa.bigpond.net.au>
2002-10-31 09:18:48 +00:00
Daniel Jacobowitz db4b6d0145 * coffcode.h: Remove extraneous '\'. 2002-10-30 15:50:17 +00:00
Alan Modra 8c05f9b85d daily update 2002-10-29 00:20:31 +00:00
H.J. Lu 840f024325 2002-10-28 H.J. Lu <hjl@gnu.org>
* Makefile.am (targets.lo): Depend on Makefile instead of
	config.status.
	(archures.lo): Likewise.
	* Makefile.in: Regenerated.
2002-10-28 22:30:29 +00:00
Alan Modra f6e80f3298 daily update 2002-10-27 23:00:04 +00:00
Alan Modra 5f3f153c88 daily update 2002-10-26 23:00:05 +00:00
Alan Modra d57f790f58 daily update 2002-10-26 00:00:04 +00:00
Jason Thorpe 05a7e2dba5 * config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Add
bfd_elf64_bigmips_vec and bfd_elf64_littlemips_vec to
targ_selvecs.
2002-10-25 21:48:58 +00:00
Jim Wilson a0087177c3 Add some string section merging support.
* elf64-sh64.c (sh_elf64_relocate_section): Call
	_bfd_elf_rela_local_sym.  Handle relocs against STT_SECTION symbol
	of SHF_MERGE section.
2002-10-25 18:55:22 +00:00
Hans-Peter Nilsson 8718ac9cb8 * simple.c: Correct placement of ATTRIBUTE_UNUSED. 2002-10-25 15:43:03 +00:00
Dave Anglin 5d661875b3 Files missed in previous commit. 2002-10-25 03:19:29 +00:00
Dave Anglin d45913a06f * aoutx.h (NAME(aout,swap_ext_reloc_in)): Cast bytes->r_index to
unsigned int.  Cast RELOC_BASE10, RELOC_BASE13 and RELOC_BASE22 to
	unsigned int.
	(NAME(aout,final_link)): Cast enum used in assignment.
	(aout_link_write_symbols): Cast enums in comparisons, int values to
	boolean, enums in assignments to int.
	(aout_link_input_section_std): Cast rel->r_index to unsigned int.
	(aout_link_input_section_ext): Likewise.  Cast enums used in comparisons
	with unsigned ints.
	(aout_link_reloc_link_order): Cast enum to int in assignment.
	* archive.c (_bfd_generic_read_ar_hdr_mag): Cast result of memchr
	calls to char *.
	* bfd-in.h (bfd_set_section_vma): Cast enum true to unsigned int in
	assignment.
	* bfd-in2.h (bfd_set_section_vma): Likewise.
	* bfd.c (bfd_record_phdr): Cast enums in assignments.
	* binary.c (bfd_alloc): Cast enum to long.
	* coffgen.c (_bfd_coff_is_local_label_name): Cast return to boolean.
	* dwarf2.c (read_abbrevs): Add casts to enum types.
	(read_attribute_value): Likewise.
	(arange_add): Cast result of bfd_zalloc call.
	(comp_unit_contains_address): Return true and false.
	(comp_unit_find_nearest_line): Cast return to boolean.
	* format.c (bfd_check_format_matches, bfd_set_format): Likewise.
	* gen-aout.c: define macro '_' if not defined.
	* libbfd.c (bfd_realloc): Cast malloc and realloc to PTR.
	(bfd_bwrite): Cast bfd_realloc to bfd_byte *.
	(bfd_write_bigendian_4byte_int): Cast return to boolean.
	(bfd_seek): Cast bfd_realloc to bfd_byte *.
	(bfd_generic_is_local_label_name): Cast return to boolean.
	* libcoff.h (_bfd_coff_adjust_symndx): Remove extraneous '\'.
	* linker.c (_bfd_link_hash_newfunc): Cast bfd_hash_allocate result to
	struct bfd_hash_entry *.
	(_bfd_generic_link_hash_newfunc): likewise.
	(_bfd_generic_final_link): Cast enum to unsigned int.
	* merge.c (sec_merge_emit): Cast return to boolean.
	(merge_strings): Add casts to const unsigned char *.
	* reloc.c (bfd_get_reloc_code_name): Cast enums in comparison to int.
	(bfd_generic_get_relocated_section_content): Cast enum to unsigned int.
	* section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result to
	struct bfd_hash_entry *.
	(bfd_set_section_content): Add cast to PTR in comparison.
	* simple.c (simple_dummy_warning, simple_dummy_undefined_symbol,
	simple_dummy_reloc_overflow, simple_dummy_reloc_dangerous,
	simple_dummy_unattached_reloc,
	bfd_simple_get_relocated_section_contents): Add K&R declarations and
	function definitions.
	* srec.c (S3Forced): Initialize to false.
	(srec_get_symtab): Cast return value from bfd_alloc to asymbol *.
	* stabs.c (_bfd_link_section_stabs): Cast enum to int in comparisons.
	(_bfd_discard_section_stabs): Likewise.  Also cast return to boolean.
	* syms.c (bfd_is_undefined_symclass): Cast return to boolean.
	(_bfd_stab_section_find_nearest_line): Cast enum to bfd_byte in
	comparisons.
2002-10-25 02:45:54 +00:00
Alan Modra d45496c131 daily update 2002-10-25 00:00:05 +00:00
Alan Modra b7c4ac2735 daily update 2002-10-24 00:00:05 +00:00
Jakub Jelinek 475c2a7e65 * elf64-alpha.c (elf64_alpha_check_relocs): Only put maybe_dynamic
relocs into shared lib non-allocated reloc sections.
2002-10-23 20:21:21 +00:00
Alan Modra e82ce5296f * dwarf2.c (add_line_info): Ensure that the line_info_table is
sorted even when given an out-of-order line sequence.
	(lookup_address_in_line_info_table): When an exact VMA match is
	not found, return line information with the closest VMA.
2002-10-23 12:41:32 +00:00
Nick Clifton f2482cb2da Force DT_FLAGS to always be set. Required by HPUX 11.00 patch PHSS_26559. 2002-10-23 12:34:57 +00:00
Alan Modra 21f5a12a45 daily update 2002-10-23 00:00:04 +00:00
Alexandre Oliva c1fd659837 * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't move
the options section into a separate section unless IRIX 6
compatibility is enabled.
2002-10-22 22:17:11 +00:00
Alexandre Oliva 033fd5f9ae * elflink.h (struct elf_link_sort_rela): Turn rel and rela
into arrays.
(elf_link_sort_cmp1, elf_link_sort_cmp2): Adjust.
(elf_link_sort_relocs): Likewise.  Take int_rels_per_ext_rel
into account.
* elfxx-mips.c (mips_elf_create_dynamic_relocation): Compose
R_MIPS_REL32 with R_MIPS64 if ABI_64_P.
2002-10-22 21:00:10 +00:00
Alan Modra 17c84737fa daily update 2002-10-22 00:01:04 +00:00
Alan Modra ef485c0196 * targets.c (_bfd_target_vector): Add missing qnx vectors. 2002-10-21 11:01:00 +00:00
Alan Modra b50afec9dd * targets.c (bfd_target_list): Don't return the default target twice. 2002-10-21 10:58:42 +00:00
Alan Modra 5fe39caef5 * archive.c (_bfd_archive_bsd_update_armap_timestamp): Replace
perror with bfd_perror.
2002-10-21 01:58:48 +00:00
Alan Modra 6c69aeb8ac daily update 2002-10-21 00:00:05 +00:00
Alan Modra 98f2e6c655 daily update 2002-10-20 00:00:05 +00:00
H.J. Lu 5d603aa984 2002-10-19 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_link_add_object_symbols): Correctly handle
	DT_RPATH and DT_RUNPATH.
:VS: ----------------------------------------------------------------------
2002-10-19 17:13:58 +00:00
Mark Kettenis e377ab71da * elf.c (elfcore_grok_note): Fix recognition on NT_PRXFPREG notes. 2002-10-19 13:52:58 +00:00
Alan Modra c067988559 daily update 2002-10-19 00:00:05 +00:00
Alan Modra 08e299623d daily update 2002-10-18 00:09:45 +00:00
Denis Chertykov 0d09fec6a5 * elf32-ip2k.c (ELF_MACHINE_ALT1): Define alternate machine code
for ip2k port.
2002-10-17 18:27:01 +00:00
Alan Modra acf8aed4a6 * elfxx-target.h (USE_REL): Don't define as 1.
* elf32-arm.h (USE_REL): Provide a default define of 0.
	Use #if rather than #ifdef when testing USE_REL.
	* elf32-m32r.c: Likewise.

	* elf32-arc.c (USE_REL): Define as 1.
	* elf32-d10v.c (USE_REL): Likewise.
	* elf32-m32r.c (USE_REL): Likewise.
	* elf32-m68hc11.c (USE_REL): Likewise.
	* elf32-m68hc12.c (USE_REL): Likewise.
	* elf32-or32.c (USE_REL): Likewise.
	* elfarm-nabi.c (USE_REL): Likewise.
2002-10-17 02:59:15 +00:00
Alan Modra 037fd2c584 daily update 2002-10-17 00:00:04 +00:00
Jakub Jelinek f52d1d6405 * config.bfd (s390-*-linux*): Add targ64_selvecs.
(s390x-*-linux*): Add targ_selvecs.

	* config.table: Use mh-s390pic for s390x too.

	* configure.tgt (s390x-*-linux*): Add elf_s390 emulation.
	(s390-*-linux*): Add elf64_s390 emulation if want64.
	* emulparams/elf64_sparc.sh (LIB_PATH): Update to match 2002-05-22
	genscript.sh changes.
	* emulparams/elf_x86_64.sh (LIB_PATH): Likewise.
	* emulparams/elf64_s390.sh (LIB_PATH): Set up native 64 bit dirs.
2002-10-16 19:54:54 +00:00
Alan Modra 2bc3c89ab3 * Makefile.am (BFD32_BACKENDS): Remove elfarmqnx-nabi.lo,
elf32-i386-fbsd.lo, elf32-i386qnx.lo, elf32-ppcqnx.lo,
	elf32-sh-lin.lo, elf32-sh64-lin.lo, elf32-sh-nbsd.lo,
	elf32-sh64-nbsd.lo, elf32-shqnx.lo.  Add elf32-qnx.lo.
	(BFD32_BACKENDS_CFILES): Likewise for corresponding C files.
	(BFD64_BACKENDS): Remove elf64-sh64-lin.lo, elf64-sh64-nbsd.lo.
	(BFD64_BACKENDS_CFILES): Likewise for corresponding C files.
	(SOURCE_HFILES): Add elf32-qnx.h.
	(BUILD_HFILES): Add bfdver.h.
	Run "make dep-am".
	* Makefile.in: Regenerate.
	* configure.in Update bfd vector dependencies.
	* configure: Regenerate.
	* elf32-i386-fbsd.c: Delete.  Move code to elf32-i386.c.
	* elf32-i386qnx.c: Likewise.
	* elf32-ppcqnx.c: Delete.  Move code to elf32-ppc.c.
	* elf32-sh-nbsd.c: Delete.  Move code to elf32-sh.c.
	* elf32-sh-lin.c: Likewise.
	* elf32-shqnx.c: Likewise.
	* elf32-sh64-lin.c: Delete.  Move code to elf32-sh64.c.
	* elf32-sh64-nbsd.c: Likewise.
	* elf64-sh64-lin.c: Delete.  Move code to elf64-sh64.c.
	* elf64-sh64-nbsd.c: Likewise.
	* elfarmqnx-nabi.c: Delete.  Move code to elfarm-nabi.c.
	* elf32-arm.h (ELF_MAXPAGESIZE): Always define.
	* elf32-i386.c: Remove ELF_ARCH and ELF32_I386_C_INCLUDED tests.
	* elf32-ppc.c: Remove ELF32_PPC_C_INCLUDED tests.
	* elf32-qnx.h (elf_backend_set_nonloadable_filepos): Always define.
	(elf_backend_is_contained_by_filepos): Likewise.
	(elf_backend_copy_private_bfd_data_p): Likewise.
	Globalize and move functions to..
	* elf32-qnx.c: ..here.  New file.
	* elf32-sh.c: Remove ELF_ARCH and ELF32_SH_C_INCLUDED tests.  Don't
	emit target vectors when INCLUDE_SHMEDIA.
	* elf32-sh64.c: Remove ELF_ARCH test.  Move TARGET_* etc. defines to
	end of file.
	* elf64-sh64.c: Remove ELF_ARCH test.
	* elfarm-nabi.c: Remove ELFARM_NABI_C_INCLUDED test.
	* po/BLD-POTFILES.in: Regenerate.
	* po/SRC-POTFILES.in: Regenerate.
2002-10-16 08:39:38 +00:00
Alan Modra 366f2964af * elflink.h (elf_link_add_object_symbols): Error out on dynamic objects
loaded with --just-symbols.
2002-10-16 00:57:39 +00:00
Alan Modra 90c9df8594 * elf32-i386qnx.c (TARGET_LITTLE_NAME): Define.
* elf32-ppcqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
	* elf32-shqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
	* elfarmqnx-nabi.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
2002-10-16 00:56:41 +00:00
Alan Modra 59ad387da9 daily update 2002-10-16 00:00:03 +00:00
Richard Henderson 2238051fb3 * Makefile.am (BFD64_BACKENDS): Remove elf64-alpha-fbsd.
(BFD64_BACKENDS_CFILES): Likewise.
        * configure.in (bfd_elf64_alpha_freebsd_vec): Use elf64-alpha.
        * elf64-alpha-fbsd.c: Remove file, move code ...
        * elf64-alpha.c: ... here.
        * Makefile.in, configure: Rebuild.
2002-10-15 17:14:51 +00:00
Richard Henderson 64e04ecdb7 * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: Increment
VALUE, not ADDEND.
2002-10-15 01:07:52 +00:00
Alan Modra 50158c1ce3 daily update 2002-10-15 00:00:04 +00:00
Stephen Clarke 396a608385 * elf32-sh.c (elf_sh_link_hash_entry): Replace
datalabel_got_offset with union of datalabel_got
offset and refcount.
(sh_elf_link_hash_newfunc): Initialize datalabel_got.refcount.
(allocate_dynrelocs): Delete unnecessary code for
STT_DATALABEL type.  Create entry in got for
datalabel version of symbol if datalabel_got.refcount > 0.
(sh_elf_relocate_section): Use datalabel_got union.
(sh_elf_gc_sweep_hook): Pull common code to initialize
h and eh out of switch statement.  Declare seen_stt_datalabel.
Initialize it.  Decrement datalabel_got.refcount for
got relocs when seen_stt_datalabel is true.
Decrement local_got_refcounts entry for datalabel got relocs
of local symbols.
(sh_elf_copy_indirect_symbol): Copy datalabel_got field over.
(sh_elf_check_relocs): Declare seen_stt_datalabel.
Initialize it.  When seen_stt_datalabel is true, increment
datalabel_got refcount rather than got.refcount.
(sh_elf_finish_dynamic_symbol): Create relocs to
initialize got entry for datalabel version of symbol.
2002-10-14 19:29:54 +00:00
Alan Modra 6d4eea05c7 * Makefile.in: Regenerate. 2002-10-14 12:06:23 +00:00
Alan Modra 6a0735efa4 * Makefile.am: Run "make dep-am".
(BFD_H_FILES): Remove version.h.
	* bfd-in.h (BFD_VERSION, BFD_VERSION_DATE, BFD_VERSION_STRING): Move..
	* version.h: ..to here.
	* configure.in (bfd_version_date): Remove.
	(AC_OUTPUT): Make bfdver.h from version.h.
	* bfd.c: #include "bfdver.h".
	* vms-hdr.c: Likewise.
	* Makefile.in: Regenerate.
	* bfd-in2.h: Regenerate.
	* configure: Regenerate.
	* po/SRC-POTFILES.in: Regenerate.
2002-10-14 12:06:04 +00:00
Alan Modra 686e4055ef * archures.c (bfd_mach_i386_i386, bfd_mach_i386_i8086,
bfd_mach_i386_i386_intel_syntax, bfd_mach_x86_64,
	bfd_mach_x86_64_intel_syntax bfd_mach_ppc, bfd_mach_ppc64,
	bfd_mach_rs6k, bfd_mach_d10v, bfd_mach_sh, bfd_mach_v850,
	bfd_mach_arc_5, bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8,
	bfd_mach_m32r, bfd_mach_frv, bfd_mach_frvsimple,
	bfd_mach_ia64_elf64, bfd_mach_ia64_elf32,
	bfd_mach_ip2022, bfd_mach_ip2022ext,
	bfd_mach_s390_31, bfd_mach_s390_64, bfd_mach_xstormy16): Renumber.
	* bfd-in2.h: Regenerate.
2002-10-14 05:16:42 +00:00
Kaz Kojima 019dca2bd0 * config.bfd (sh*eb-*-linux*, sh*-*-linux*): Add the alternative
endian vector to targ_selvecs.
2002-10-14 02:12:36 +00:00
Alan Modra e6f7ab6d94 daily update 2002-10-14 00:00:05 +00:00
Alexandre Oliva bce03d3da8 * elfxx-mips.c (mips_elf_calculate_relocation): Take
save_addend argument.  Don't apply the 32-bit mask to a
GPREL32 value if it's to be used in another relocation.  Don't
use forced-check computation of local_p to decide whether to
add gp0 to GPREL16 value.  Don't use only the lowest 16 bits
of the addend of a non-in-place GPREL16 relocation.
(_bfd_mips_elf_relocate_section): Pass use_saved_addend_p to
mips_elf_calculate_relocation().
2002-10-13 21:22:31 +00:00
Alan Modra 0b48e3df50 daily update 2002-10-13 00:00:04 +00:00
Stephane Carrez 9b691193ef * elf32-m68hc11.c (m68hc11_elf_relax_section): Don't treat relocs
with symbols in other sections if we relaxed something;  the sections
	output offsets must be re-computed before.
2002-10-12 14:00:55 +00:00
Stephane Carrez 1f4c5b4746 * elf32-m68hc11.c (m68hc11_elf_relax_section): Update symbols
handling to use Elf_Internal_Sym.
	(m68hc11_elf_relax_delete_bytes): Likewise.
2002-10-12 13:35:25 +00:00
Alan Modra 52019e89e2 daily update 2002-10-12 00:00:04 +00:00
Kaz Kojima 3376eaf577 * elf32-sh.c (sh_elf_optimized_tls_reloc, sh_elf_mkobject,
sh_elf_object_p, dtpoff_base): New functions.
	(sh_elf_howto_table): Add TLS relocs.
	(sh_reloc_map): Likewise.
	(sh_elf_info_to_howto): Support TLS relocs.
	(elf_sh_link_hash_entry): Add tls_type and tls_tpoff32.
	(sh_elf_hash_entry, sh_elf_tdata, sh_elf_local_got_tls_type):
	New macros.
	(sh_elf_obj_tdata): New.
	(elf_sh_link_hash_table): Add tls_ldm_got.
	(sh_elf_link_hash_table_create): Clear refcount of tls_ldm_got.
	(allocate_dynrelocs): Support TLS relocs.
	(sh_elf_size_dynamic_sections): Likewise.
	(sh_elf_relocate_section): Support TLS relocs.  Don't try to find
	.rela.got section when found already.  Return false after printing
	error about unresolvable relocation.
	(sh_elf_gc_sweep_hook): Support TLS relocs.
	(sh_elf_check_relocs): Likewise.
	(sh_elf_finish_dynamic_symbol): Likewise.
	(bfd_elf32_mkobject, elf_backend_object_p): Define for TLS case.
	* reloc.c: Add SH TLS relocs.
	* libbfd.h: Regenerate.
2002-10-11 14:32:03 +00:00
Kaz Kojima 5dc976556d * bfd-in2.h: Regenerate. 2002-10-11 14:28:29 +00:00
Daniel Jacobowitz af39267ef5 * Makefile.am: Run dep-am.
(BFD32_LIBS): Add simple.lo.
        (BFD32_LIBS_CFILES): Add simple.c.
        * Makefile.in: Regenerated.
        * bfd-in2.h: Regenerated.
        * simple.c: New file.
2002-10-11 13:53:33 +00:00
Daniel Jacobowitz eda81658db * Makefile.am (BFD_H_DEP): Add simple.c and linker.c.
* Makefile.in: Regenerated.
2002-10-11 13:52:53 +00:00
Alan Modra 7f6a766382 * elf64-ppc.c (edit_opd): Correct local sym adjustment. 2002-10-11 12:59:06 +00:00
Alan Modra 14a793b2f2 Fix numerous occurrences of
warning: dereferencing type-punned pointer will break strict-aliasing rules
2002-10-11 08:33:11 +00:00
Alan Modra 0be617ce13 * elf64-ppc.c (edit_opd): Only zero opd syms when function is
completely removed.
2002-10-11 04:36:13 +00:00
Alan Modra 5b33f915bf daily update 2002-10-11 00:00:04 +00:00
Stephen Clarke 0a4ef3f414 * elf32-sh.c (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
Correct mistake in calculation of address of .got.
* elf64-sh64.c (elf_sh64_pic_plt_entry_be,
elf_sh64_pic_plt_entry_le): Likewise.
2002-10-10 21:45:14 +00:00
Alan Modra aaa9de95f4 daily update 2002-10-10 00:00:03 +00:00
Stephen Clarke efacd36e84 * Makefile.am: Add entries for elf32-sh64-lin.c and
elf64-sh64-lin.c. Regenerate.
* Makefile.in: Regenerate.
* config.bfd:  Change sh64eb-*-linux* and sh64-*-linux*
to use sh64 vectors rather than sh vectors.
* configure.in: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
* configure: Regenerate.
* elf32-sh64-lin.c: New file.
* elf64-sh64-lin.c: New file.
* targets.c: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
2002-10-09 19:03:57 +00:00
Alan Modra d14a0ab1e1 daily update 2002-10-09 00:00:05 +00:00
H.J. Lu 299bf75951 2002-10-08 H.J. Lu <hjl@gnu.org>
* elf32-i386.c (elf_i386_relocate_section): Re-arrange the
	IE->LE transition for R_386_TLS_IE.
2002-10-08 16:11:07 +00:00
Alan Modra 51020317ee * elf64-ppc.c (edit_opd): Correct test for discarded sections. 2002-10-08 09:51:09 +00:00
Alan Modra 498b1dfee9 daily update 2002-10-08 00:00:05 +00:00
Nick Clifton a8fcf37848 Don't mark relocations in excluded sections. 2002-10-07 16:27:39 +00:00
Alan Modra a6b511bd9e * elflink.h (elf_link_input_bfd): Remove BFD_VERSION_DATE dependent
code.
2002-10-07 00:14:28 +00:00
Alan Modra a16d5acb50 * elf64-ppc.c (ppc64_elf_build_stubs): Increment .glink indx. 2002-10-07 00:06:01 +00:00
Alan Modra 5f75af3aae daily update 2002-10-07 00:00:03 +00:00
Alan Modra 7c4a37eb43 * opncls.c: Formatting.
(_bfd_new_bfd): Use a smaller section hash table.
2002-10-06 09:03:06 +00:00
Alan Modra f84e2993b2 daily update 2002-10-06 00:00:06 +00:00
Alexandre Oliva 7c4ca42da5 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Set the type
of the other two relocations packed with a REL32 to NONE.
2002-10-05 11:18:13 +00:00
Alan Modra d8d70ddf93 daily update 2002-10-05 00:00:04 +00:00
Alan Modra bd8f55f370 daily update 2002-10-04 00:00:04 +00:00
Alan Modra c8542e61a6 daily update 2002-10-03 00:00:04 +00:00
Stephen Clarke 4989d792c8 * elf32-sh.c (elf_sh_link_hash_entry): Add gotplt_refcount.
(sh_elf_link_hash_newfunc): Initialize it.
(allocate_dynrelocs): Transfer gotplt refs from plt.refcount
to got.refcount for symbols that are forced local or when
we have direct got refs.
(sh_elf_gc_sweep_hook): Adjust gotplt_refcount.  Use it
to correctly adjust got.refcount and plt.refcount.
(sh_elf_copy_indirect_symbol): Copy gotplt_refcount across.
(sh_elf_check_relocs): Increment gotplt_refcount.
2002-10-02 21:53:40 +00:00
Alan Modra 7ec4e8e52d daily update 2002-10-02 00:00:12 +00:00
Jakub Jelinek 7c445aa3c8 bfd/
* elf32-i386.c (elf_i386_relocate_section): Fix
	movl foo@indntpoff, %eax IE->LE transition.
ld/testsuite/
	* ld-i386/i386.exp: Add tlsindntpoff test.
	* ld-i386/tlsindntpoff.s: New test.
	* ld-i386/tlsindntpoff.dd: New test.
2002-10-01 10:43:37 +00:00
Jakub Jelinek abcf1d5247 bfd/
* elf64-x86-64.c (elf64_x86_64_relocate_section): Change TLSGD
	sequence and its transitions.
ld/testsuite/
	* ld-x86-64/tlspic1.s: Change TLSGD sequences.
	* ld-x86-64/tlsbinpic.s: Likewise.
	* ld-x86-64/tlspic.dd: Adjust.
2002-10-01 09:15:34 +00:00
Jakub Jelinek a45bb67df2 bfd/
* elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32
	to st_value + addend in non-code sections.
	* elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve
	R_X86_64_DTPOFF32 to st_value + addend in non-code sections.

ld/testsuite/
	* ld-i386/i386.exp: Add tlsg test.
	* ld-i386/tlsg.s: New test.
	* ld-i386/tlsg.sd: New test.
	* ld-i386/tlsbin.dd: Change LD into LD -> LE in comments.
	* ld-i386/tlsbinpic.s: Likewise.
	* ld-x86-64/x86-64.exp: Add tlsg test.
	* ld-x86-64/tlsg.s: New test.
	* ld-x86-64/tlsg.sd: New test.
	* ld-x86-64/tlsbin.dd: Change LD into LD -> LE in comments.
	* ld-x86-64/tlsbinpic.s: Likewise.
2002-10-01 09:10:46 +00:00
Alan Modra cd614c8e99 daily update 2002-10-01 00:00:04 +00:00
Richard Sandiford 00707a0e89 [include/elf]
* mips.h (E_MIPS_MACH_4120, E_MIPS_MACH_5400, E_MIPS_MACH_5500): New.

[bfd/]
	* archures.c (bfd_mach_mips4120, bfd_mach_mips5400): New.
	(bfd_mach_mips5500): New.
	* cpu-mips.c (I_mips4120, I_mips5400, I_mips5500): New.
	(arch_info_struct): Add corresponding entries here.
	* elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_4120,
	E_MIPS_MACH_5400 and E_MIPS_MACH_5500.
	(_bfd_mips_elf_final_write_processing): Handle bfd_mach_mips4120,
	bfd_mach_mips5400 and bfd_mach_mips5500.
	(_bfd_mips_elf_mach_extends_p): New function.
	(_bfd_mips_elf_merge_private_bfd_data): Use it to help merge
	the EF_MIPS_MACH flags.
	* bfd-in2.h: Regenerate.
2002-09-30 11:53:56 +00:00
Alan Modra b62460894d daily update 2002-09-30 00:00:05 +00:00
Alan Modra b98e220fe5 daily update 2002-09-29 00:00:04 +00:00
Jason Thorpe 624f0b2537 * elf32-vax.c (elf_vax_size_dynamic_section): Don't strip
.got sections.
2002-09-28 23:15:50 +00:00
Alan Modra b89fe0ee4b * elf.c (map_sections_to_segments): Correct test for start of
writable section in the same page as end of read-only section.
2002-09-28 03:25:56 +00:00
Alan Modra d6f80f8172 daily update 2002-09-28 00:00:05 +00:00
Jason Thorpe b29635ba03 * elf32-vax.c (elf_vax_check_relocs): Remove unused
local_got_refcounts usage.  Remove allocation of got slot.
(elf_vax_gc_sweep_hook): Remove unused local_got_refcounts usage.
Remove de-allocation of got slot.
(elf_vax_size_dynamic_section): Fix some indentation.  Add hash
traversal for elf_vax_instantiate_got_entries.  Allow empty .got
sections to be GC'ed.
(elf_vax_instantiate_got_entries): New function.
(elf_vax_relocate_section): Simplify R_VAX_GOT32 handling.  Remove
tests that are now handled by elf_vax_instantiate_got_entries.
Assert GOT entry falls within .got section size.  Remove redundant
comparisions.  Fix comments.
2002-09-27 22:28:17 +00:00
Jakub Jelinek bffbf9406f bfd/
* reloc.c: Add x86-64 TLS relocs.
	* bfd-in2.h, libbfd.h: Rebuilt.
	* elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit
	relocs.  Add TLS relocs.
	(x86_64_reloc_map): Add TLS relocs.
	(elf64_x86_64_info_to_howto): Adjust for added TLS relocs.
	(struct elf64_x86_64_link_hash_entry): Add tls_type field.
	(GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define.
	(elf64_x86_64_hash_entry): Define.
	(struct elf64_x86_64_obj_tdata): New.
	(elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define.
	(struct elf64_x86_64_link_hash_table): Add tls_ld_got.
	(link_hash_newfunc): Initialize tls_type.
	(elf64_x86_64_link_hash_table_create): Initialize tls_ld_got.
	(elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary.
	(elf64_x86_64_mkobject): New.
	(elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata.
	(elf64_x86_64_tls_transition): New.
	(elf64_x86_64_check_relocs): Add r_type variable and use it.
	Handle TLS relocs.
	(elf64_x86_64_gc_sweep_hook): Handle TLS relocs.
	(allocate_dynrelocs): Allocate GOT space for TLS relocs.
	(elf64_x86_64_size_dynamic_sections): Likewise.
	(dtpoff_base, tpoff): New.
	(elf64_x86_64_relocate_section): Handle TLS relocs.
	(elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT
	entries.
	(bfd_elf64_mkobject): Define.

	* elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set
	DF_STATIC_TLS if shared.
gas/
	* config/tc-i386.c (tc_i386_fix_adjustable): Add x86-64 TLS relocs.
	Define them if not BFD_ASSEMBLER.
	(lex_got): Handle @tlsgd, @dtpoff and @tpoff in 64-bit mode, add
	@tlsld.
	(md_apply_fix3): No addend for BFD_RELOC_X86_64_TLSGD,
	BFD_RELOC_X86_64_TLSLD and BFD_RELOC_X86_64_GOTTPOFF.
	(tc_gen_reloc): Handle x86-64 TLS relocs.
include/
	* elf/x86-64.h: Add TLS relocs.
ld/testsuite/
	* lib/ld-lib.exp (run_ld_link_tests): Add.
	* ld-sh/sh64/sh64.exp (run_ld_link_tests, regexp_diff,
	file_contents): Remove.
	(sh64tests): Add 6th field to the tests array.
	* ld-i386/i386.exp (run_ld_link_tests): Remove.
	* ld-x86-64/x86-64.exp: New.
	* ld-x86-64/tlsbin.dd: New test.
	* ld-x86-64/tlsbinpic.s: New test.
	* ld-x86-64/tlsbin.rd: New test.
	* ld-x86-64/tlsbin.s: New test.
	* ld-x86-64/tlsbin.sd: New test.
	* ld-x86-64/tlsbin.td: New test.
	* ld-x86-64/tlslib.s: New test.
	* ld-x86-64/tlspic1.s: New test.
	* ld-x86-64/tlspic2.s: New test.
	* ld-x86-64/tlspic.dd: New test.
	* ld-x86-64/tlspic.rd: New test.
	* ld-x86-64/tlspic.sd: New test.
	* ld-x86-64/tlspic.td: New test.
2002-09-27 19:29:18 +00:00
Alan Modra 1b29edd56e daily update 2002-09-27 00:00:03 +00:00
Thiemo Seufer 1436646065 * elfxx-mips.c (_bfd_mips_elf_fake_sections): Don't emit unneeded
empty relocation sections.
2002-09-26 09:10:57 +00:00
Alan Modra 9f951329b6 * elf64-ppc.c (ppc_build_one_stub): Don't build glink stubs here.
(ppc64_elf_build_stubs): Build them here instead.
2002-09-26 05:19:38 +00:00
Alan Modra c8776d756a daily update 2002-09-26 00:00:05 +00:00
Alan Modra 0d945288dd daily update 2002-09-25 00:00:09 +00:00
Jakub Jelinek 6b3ac70943 * elf32-sparc.c (elf32_sparc_relocate_section): Put R_SPARC_RELATIVE
addend into r_addend, not *r_offset.
	(elf32_sparc_finish_dynamic_symbol): Likewise.
	* elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Clear xword at
	R_SPARC_RELATIVE's r_offset.
2002-09-24 15:54:22 +00:00