Commit Graph

2599 Commits

Author SHA1 Message Date
Chris Demetriou af7ee8bfa9 [ bfd/ChangeLog ]
2002-12-30  Chris Demetriou  <cgd@broadcom.com>

	* aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mipsisa32r2 case.
	* archures.c (bfd_mach_mipsisa32r2): New define.
	* bfd-in2.h: Regenerate.
	* cpu-mips.c (I_mipsisa32r2): New enum value.
	(arch_info_struct): Add entry for I_mipsisa32r2.
	* elfxx-mips.c (elf_mips_isa, _bfd_elf_mips_mach)
	(_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_32R2.
	(_bfd_mips_elf_final_write_processing): Add
	bfd_mach_mipsisa32r2 case.
	(_bfd_mips_elf_merge_private_bfd_data): Handle merging of
	binaries marked as using MIPS32 Release 2.

[ binutils/ChangeLog ]
2002-12-30  Chris Demetriou  <cgd@broadcom.com>

	* doc/binutils.texi (objdump): Note MIPS HWR (Hardware Register)
	changes in MIPS -M options.

[ gas/ChangeLog ]
2002-12-30  Chris Demetriou  <cgd@broadcom.com>

	* configure.in: Recognize mipsisa32r2, mipsisa32r2el, and
	CPU variants.
	* configure: Regenerate.
	* config/tc-mips.c (ISA_HAS_DROR, ISA_HAS_ROR): New defines.
	(macro_build): Handle "K" operand.
	(macro2): Use ISA_HAS_DROR and ISA_HAS_ROR in the places where
	CPU_HAS_DROR and CPU_HAS_ROR are currently used.
	(mips_ip): New variable "lastpos", and implement "+A", "+B",
	and "+C" operands for MIPS32 Release 2 ins/ext instructions.
	Implement "K" operand for MIPS32 Release 2 rdhwr instruction.
	(validate_mips_insn): Implement "+" as a way to extend the
	allowed operands, and implement "K", "+A", "+B", and "+C"
	operands.
	(OPTION_MIPS32R2): New define.
	(md_longopts): Add entry for OPTION_MIPS32R2.
	(OPTION_ELF_BASE): Adjust to accomodate OPTIONS_MIPS32R2.
	(md_parse_option): Handle OPTION_MIPS32R2.
	(s_mipsset): Reimplement handling of ".set mipsN" options
	and add support for ".set mips32r2".
	(mips_cpu_info_table): Add entry for "mips32r2" (MIPS32 Release 2).
	(md_show_usage): Document "-mips32r2" option.
	* doc/as.texinfo: Document "-mips32r2" option.
	* doc/c-mips.texi: Likewise.

[ gas/testsuite/ChangeLog ]
2002-12-30  Chris Demetriou  <cgd@broadcom.com>

	* gas/mips/cp0-names-mips32r2.d: New test.
	* gas/mips/hwr-names-mips32r2.d: New test.
	* gas/mips/hwr-names-numeric.d: New test.
	* gas/mips/hwr-names.s: New test source file.
	* gas/mips/mips32r2.d: New test.
	* gas/mips/mips32r2.s: New test source file.
	* gas/mips/mips32r2-ill.l: New test.
	* gas/mips/mips32r2-ill.s: New test source file.
	* gas/mips/mips.exp: Add mips32r2 architecture data array
	entry.  Run new tests mentioned above.

[ include/elf/ChangeLog ]
2002-12-30  Chris Demetriou  <cgd@broadcom.com>

	* mips.h (E_MIPS_ARCH_32R2): New define.

[ include/opcode/ChangeLog ]
2002-12-30  Chris Demetriou  <cgd@broadcom.com>

	* mips.h: Document "+" as the start of two-character operand
	type names, and add new "K", "+A", "+B", and "+C" operand types.
	(OP_MASK_INSMSB, OP_SH_INSMSB, OP_MASK_EXTMSB)
	(OP_SH_EXTMSB, INSN_ISA32R2, ISA_MIPS32R2, CPU_MIPS32R2): New
	defines.

[ opcodes/ChangeLog ]
2002-12-30  Chris Demetriou  <cgd@broadcom.com>

	* mips-dis.c (mips_cp0_names_mips3264r2, mips_hwr_names_numeric)
	(mips_hwr_names_mips3264r2): New arrays.
	(mips_arch_choice): New "hwr_names" member.
	(mips_arch_choices): Adjust for structure change, and add a new
	entry for "mips32r2" ISA.
	(mips_hwr_names): New variable.
	(set_default_mips_dis_options): Set mips_hwr_names.
	(parse_mips_dis_option): New "hwr-names" option which sets
	mips_hwr_names, and adjust "reg-names=ARCH" to set mips_hwr_names.
	(print_insn_arg): Change return type to "int"
	and use that to indicate number of characters consumed.
	Add support for "+" operand extension character, "+A", "+B",
	"+C", and "K" operands.
	(print_insn_mips): Adjust for changes to print_insn_arg.
	(print_mips_disassembler_options): Adjust for "hwr-names"
	addition and "reg-names" change.
	* mips-opc (I33): New define (shorthand for INSN_ISA32R2).
	(mips_builtin_opcodes): Note that "nop" and "ssnop" are special
	forms of "sll".  Add new MIPS32 Release 2 instructions: ehb,
	di, ei, ext, ins, jr.hb, jalr.hb, mfhc1, mfhc2, mthc1, mthc2,
	rdhwr, rdpgpr, seb, seh, synci, wrpgpr, wsbh.
	Note that hardware rotate instructions (ror, rorv) can be
	used on MIPS32 Release 2, and add the official mnemonics
	for them (rotr, rotrv) and the similar "rotl" mnemonic for
	left-rotate.
2002-12-31 07:29:29 +00:00
Alan Modra e0068bfda2 daily update 2002-12-30 23:00:03 +00:00
Nick Clifton 2469cfa284 Add support for msp430. 2002-12-30 19:25:13 +00:00
Alan Modra 99fc8c7dc5 daily update 2002-12-29 23:00:05 +00:00
Alan Modra 8a4efc1ab7 daily update 2002-12-28 23:00:03 +00:00
Jakub Jelinek eecdbe5279 * elf.c (elf_sort_sections): Don't reorder .tbss.
(assign_file_positions_for_segments): Only adjust off/voff
	for increased alignment in PT_LOAD or PT_NOTE segment,
	but adjust p_filesz for .tbss too.  in PT_LOAD consider
	.tbss to have zero memory size.
	(copy_private_bfd_data) [SECTION_SIZE]: Define.
	[IS_CONTAINED_BY_VMA, IS_CONTAINED_BY_LMA]: Use it.
	[INCLUDE_SECTION_IN_SEGMENT]: Only put SHF_TLS sections
	into PT_TLS segment.  Never put SHF_TLS sections in
	segments other than PT_TLS or PT_LOAD.

	* elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Clear .plt
	sh_entsize.
2002-12-28 21:15:35 +00:00
Alan Modra f48c1c9e9a daily update 2002-12-27 23:00:33 +00:00
Alan Modra 6c6c88e18c daily update 2002-12-26 23:00:04 +00:00
Alan Modra 0a4ee94c8f daily update 2002-12-25 23:00:04 +00:00
Alan Modra 7690a6b38a daily update 2002-12-24 23:00:04 +00:00
DJ Delorie 213e90f483 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Fix logic reversal. 2002-12-24 03:43:44 +00:00
Alan Modra 11e6387acb daily update 2002-12-23 23:00:03 +00:00
Alan Modra 7582835273 * elflink.h (elf_link_output_extsym): Heed strip_discarded. 2002-12-23 11:53:59 +00:00
Nick Clifton 312b768e2f Change linker's default behaviour - it will now reject binary files whoes
architecture it does not recognise, unless it has explicitly told to accept
them.
2002-12-23 10:45:03 +00:00
Alan Modra aabb843608 daily update 2002-12-22 23:00:04 +00:00
Alan Modra 3e9bfb45a0 daily update 2002-12-21 23:00:03 +00:00
Nick Clifton 63222ec9df Disable WINCE workaround that subtracted 8 from pc relative relocations. 2002-12-21 02:21:00 +00:00
Alan Modra be7311b0c4 daily update 2002-12-20 23:00:05 +00:00
Kazu Hirata 19852a2abd * coff-h8300.c: Fix comment typos.
* coffcode.h: Likewise.
	* cpu-cris.c: Likewise.
	* elf32-vax.c: Likewise.
	* genlink.h: Likewise.
	* linker.c: Likewise.
	* som.c: Likewise.
	* tekhex.c: Likewise.
	* vms-misc.c: Likewise.
2002-12-20 22:41:13 +00:00
DJ Delorie 5fd6399981 * reloc.c: Add BFD_RELOC_XSTORMY16_12.
* libbfd.h: Regenerate.
* bfd-in2.h: Regenerate.
* elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_12.
(xstormy16_reloc_map): Add R_XSTORMY16_12.
2002-12-20 21:13:19 +00:00
Kazu Hirata 4ee79850e0 * doc/bfdint.texi: Fix typos. 2002-12-20 00:35:03 +00:00
Alan Modra 66e25bab62 * acinclude.m4 (AM_INSTALL_LIBBFD): Do not rely on "test -o".
* configure.in (build-warnings): Likewise.
	(Horrible hacks to build DLLs on Windows): Do not rely on "tail -1".
	* aclocal.m4: Regenerate.
	* config.in: Regenerate.
	* configure: Regenerate.
2002-12-20 00:09:54 +00:00
Alan Modra 130e217850 daily update 2002-12-19 23:00:04 +00:00
Alan Modra 0171ee92b2 * coff-h8300.c: Include libiberty.h.
(h8300_reloc16_extra_cases): Check the hash table creator before
	referencing h8300 specific fields.  Stash the hash table pointer
	in a local var.  Comment typo fixes.
	(h8300_bfd_link_add_symbols): Likewise.
2002-12-19 01:58:53 +00:00
Alan Modra e5982cf5ba daily update 2002-12-18 23:04:35 +00:00
Alan Modra 7dc77aaa7d * bfd/reloc.c (struct reloc_howto_struct): Revise src_mask and
dst_mask comments.
	* bfd-in2.h: Regenerate.
2002-12-18 13:47:03 +00:00
Alan Modra 47388f4cc3 * elf32-ppc.c (ppc_elf_relocate_section): Reorganize dynamic reloc
code a little.  Comment on dynamic relocs against section symbols.
2002-12-18 13:16:35 +00:00
Alan Modra 2e51bbe3d2 daily update 2002-12-17 23:00:04 +00:00
Alan Modra 1b3e374430 * configure.host (ia64-*-hpux*): Support 64 bit targets using
the HP compiler's "long long".
2002-12-17 04:17:21 +00:00
DJ Delorie 46f2b5418f * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_LO16
and R_XSTORMY16_HI16) howto entries.
(xstormy16_reloc_map): Map R_XSTORMY16_{LO,HI}16 to BFD_RELOC_{LO,HI}16.
(xstormy16_info_to_howto_rela): Use R_XSTORMY16_GNU_VTINHERIT to
determine the start of the second reloc table.
2002-12-17 03:54:15 +00:00
Alan Modra 28274f1d5a daily update 2002-12-16 23:00:05 +00:00
Nick Clifton af738ea75a Fix the reading of the debugging information of Tru64/Alpha binaries that
are produced by recent Compaq compilers.
2002-12-16 16:25:06 +00:00
Alan Modra 847b352715 daily update 2002-12-15 23:35:50 +00:00
Alan Modra 1b9b1dcc84 daily update 2002-12-14 23:00:05 +00:00
Alan Modra eaab896093 daily update 2002-12-13 23:00:06 +00:00
Alan Modra cc6a87da5e daily update 2002-12-12 23:00:04 +00:00
Alexandre Oliva 5354b572b3 * elf-m10300.c (elf32_mn10300_link_hash_newfunc): Reorder
initializers to match struct declaration.
2002-12-12 21:54:32 +00:00
Alan Modra ab3acfbe8d Comment typo fixes. 2002-12-12 10:26:01 +00:00
Alan Modra 6348e046b7 * elf32-i386.c (elf_i386_finish_dynamic_sections): Add output_offset
to DT_JMPREL.  Use srelplt input section size for DT_PLTRELSZ and
	DT_RELSZ adjustment, not output section.  Avoid writing tags when
	unchanged.  Don't assume linker script is sane, adjust DT_REL too.
	* elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Just use raw
	size of srelplt for DT_PLTRELSZ.  Use srelplt input section size for
	DT_RELASZ adjustment, not output section.  Avoid writing tags when
	unchanged.  Adjust DT_RELA.
	* elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Tweaks for better
	formatting.  Avoid writing tags when unchanged.  Adjust DT_RELA.
2002-12-12 10:17:14 +00:00
Alexandre Oliva 2e7a68a82f * elfxx-mips.c (mips_elf_calculate_relocation): Don't divide
addend by 4.
2002-12-12 04:42:06 +00:00
Alexandre Oliva b15e668260 * elfxx-mips.c (struct mips_got_entry): New.
(struct mips_got_info): Added got_entries field.
(mips_elf_got_entry_hash, mips_elf_got_entry_eq): New functions.
(mips_elf_local_got_index, mips_elf_got_page,
mips_elf_got16_entry): Re-implement in terms of new...
(mips_elf_create_local_got_entry): Rewrite to use got_entries.
Change return type.
(mips_elf_highest): Warning clean-up.
(mips_elf_create_got_section): Initialize got_entries.
(_bfd_mips_elf_check_relocs): Use got_entries to estimate
local got size.
(_bfd_mips_elf_size_dynamic_sections): Do not account for
GOT_PAGE entries, since we now reuse GOT16 entries.
2002-12-12 02:55:41 +00:00
Alan Modra 6ebc770bc6 daily update 2002-12-11 23:00:05 +00:00
Alan Modra 7b166d9e59 daily update 2002-12-10 23:00:04 +00:00
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