Commit Graph

3976 Commits

Author SHA1 Message Date
Nick Clifton 8fdd7217a7 Add linker option: --warn-shared-textrel to produce warnings when adding a
DT_TEXTREL to a shared object.
2004-10-07 14:45:24 +00:00
Alan Modra f124e0e104 daily update 2004-10-07 00:00:06 +00:00
Alan Modra 709a48ba5e daily update 2004-10-06 00:00:06 +00:00
Roland McGrath 073a2dc30f . 2004-10-05 18:09:46 +00:00
Roland McGrath 724b3ea926 2004-10-04 Roland McGrath <roland@redhat.com>
* hash.c (bfd_hash_set_default_size): Use const for table.
	Use size_t instead of int for variable compared to sizeof results.
2004-10-05 18:09:38 +00:00
Alan Modra 7785be14ef PR 425
* syms.c (_bfd_stab_section_find_nearest_line): Ignore R_*_NONE relocs.
2004-10-05 11:12:56 +00:00
Alan Modra 16bc1b5f24 daily update 2004-10-05 00:00:06 +00:00
Alan Modra daab19f765 daily update 2004-10-04 00:00:05 +00:00
Alan Modra a988509aa9 daily update 2004-10-03 00:00:06 +00:00
Alan Modra 007807770d daily update 2004-10-02 00:00:06 +00:00
Nick Clifton 40a18ebd3a The patch below adds binutils support for the SHT_ARM_EXIDX, as defined by
the ARM EABI.
2004-10-01 12:59:42 +00:00
Alan Modra 8935b81f1f * elf-bfd.h (struct eh_cie_fde): Add need_relative and
need_lsda_relative.
	* elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Set
	need_relative or need_lsda_relative if we are processing an
	offset for a reloc on a FDE initial loc or LSDA field
	respectively.
	(_bfd_elf_write_section_eh_frame): Test need_relative and
	need_lsda_relative in place of corresponding make_* field
	when deciding to use pc-relative encodings.
2004-10-01 00:51:37 +00:00
Alan Modra 76a9da429a daily update 2004-10-01 00:00:04 +00:00
Paul Brook eeac373afe bfd/
* elf32-arm.h (bfd_elf32_arm_set_target_relocs): Handle "abs"
	target2 relocation type.
ld/
	* ld.texinfo: Document --target2=abs.
	* emulparms/armsymbian.sh (TARGET2_TYPE): Set.
ld/testsuite/
	* ld-arm/arm-elf.exp: Add test for --target2=abs.
	* ld-arm/arm-target2-abs.d: New file.
2004-09-30 17:03:53 +00:00
H.J. Lu 7479dfd4de 2004-09-30 H.J. Lu <hongjiu.lu@intel.com>
PR 414
	* elflink.c (_bfd_elf_merge_symbol): Check TLS symbol.
2004-09-30 16:43:41 +00:00
Nick Clifton 0dd132b63c Apply Paul Brook's patch to implement armv6k instructions 2004-09-30 16:21:50 +00:00
Alan Modra 4e455bf5ea daily update 2004-09-30 00:00:06 +00:00
Alan Modra f1e05deedc daily update 2004-09-29 00:00:05 +00:00
Alan Modra 4a2ce54450 daily update 2004-09-28 00:06:36 +00:00
Alan Modra 9ace95c196 daily update 2004-09-27 00:00:05 +00:00
Alan Modra 43fcb4de8e daily update 2004-09-26 00:00:06 +00:00
Alan Modra a3f5b945e4 daily update 2004-09-25 00:00:08 +00:00
Alan Modra 1ba54ee020 bfd/
* dwarf2.c (_bfd_dwarf2_find_nearest_line): Add output section
	vma and output offset to address.
	* simple.c (simple_save_output_info): Only set output section
	and offset for debug sections, or those not already set up by
	the linker.
	(bfd_simple_get_relocated_section_contents): Update comment.
ld/testsuite/
	* ld-elfvsb/elfvsb.exp: Remove file name from "undefined ref" string.
2004-09-24 07:07:22 +00:00
Alan Modra 5efb626185 * elf.c (IS_LOADED): Delete.
(assign_file_positions_for_segments): Just test SEC_LOAD instead.
	Restore SEC_HAS_CONTENTS test to the one place it was used prior
	to 2004-09-22.
2004-09-24 03:13:01 +00:00
Alan Modra 7895455da5 daily update 2004-09-24 00:00:06 +00:00
Alan Modra fca870e4e6 PR gas/396
* elf32-sparc.c (elf32_sparc_final_write_processing): Handle
	bfd_mach_sparc_sparclet and bfd_mach_sparc_sparclite.  Remove
	redundant assignment of EM_SPARC.
2004-09-23 00:51:33 +00:00
Alan Modra bf6a53d00e daily update 2004-09-23 00:00:06 +00:00
Brian Ford c86696a3b1 * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
alignment for .rdata sections so sse[2] code works with gcc >= 3.3.3
constants.
* pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
2004-09-22 22:40:21 +00:00
Alan Modra 73adb214d0 * elf32-ppc.c (ppc_elf_modify_segment_map): Delete.
(elf_backend_modify_segment_map): Don't define.
2004-09-22 06:57:35 +00:00
Alan Modra b301b24869 bfd/
* elf.c (IS_LOADED): Define.
	(assign_file_positions_for_segments): Don't round up file offset of
	PT_LOAD segments containing no SEC_LOAD sections, instead round down.
	Delete code handling link script adjustment of lma.  Do the adjust
	in later code handling similar ajustments.  Remove dead code error
	check.  Warn if section lma would require a negative offset
	adjustment.  Tweak lma adjustment to use p_filesz rather than p_memsz.
	Use p_vaddr + p_memsz inside section loop in place of voff.  Don't
	update voff in section loop.  Change voff in segment loop to be an
	adjustment on top of "off".  Set sec->filepos and update "off" later.
	Test for loadable sections consistently using IS_LOADED.  Similarly,
	test for alloc-only sections other than .tbss consistently.
	Don't bother checking SEC_ALLOC in PT_LOAD segments.  Remove FIXME.
	Tidy PT_NOTE handling.  Use %B and %A in error messages.
	(assign_file_positions_except_relocs): Use %B in error message.

ld/testsuite/
	* ld-scripts/overlay-size.d: Don't check .mbss lma.
	* ld-sh/sh64/mix1.xd: Update for changed .bss file offset.
	* ld-sh/sh64/shdl32.xd: Likewise.
	* ld-sh/sh64/shdl64.xd: Likewise.
2004-09-22 06:45:39 +00:00
Alan Modra ba52c19a30 daily update 2004-09-22 00:00:07 +00:00
Alan Modra f1760497bf daily update 2004-09-21 00:00:05 +00:00
Alan Modra 2a410a2e0b daily update 2004-09-20 00:00:06 +00:00
H.J. Lu 8976e9a205 2004-09-19 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.am (AUTOMAKE_OPTIONS): Require 1.9.
	(bfd.info): Rename the target to ...
	($(srcdir)/bfd.info): This.
	* Makefile.in: Regenerated.
2004-09-19 22:32:12 +00:00
Alan Modra 532c17fa99 daily update 2004-09-19 00:00:05 +00:00
Alan Modra 7e5bc23529 daily update 2004-09-18 00:00:08 +00:00
H.J. Lu 3f85e52600 bfd/
2004-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (AUTOMAKE_OPTIONS): Require 1.9.
	(CONFIG_STATUS_DEPENDENCIES): New.
	(Makefile): Removed.
	(config.status): Likewise.
	* Makefile.in: Regenerated.

opcodes/

2004-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (AUTOMAKE_OPTIONS): Require 1.9.
	(CONFIG_STATUS_DEPENDENCIES): New.
	(Makefile): Removed.
	(config.status): Likewise.
	* Makefile.in: Regenerated.
2004-09-17 17:04:34 +00:00
Paul Brook eb043451b1 bfd/
* bfd-in.h (bfd_elf32_arm_set_target_relocs): Add prototype.
	(bfd_elf32_arm_process_before_allocation): Update prototype.
	* bfd-in2.h: Regenerate.
	* bfd/elf32-arm.h (elf32_arm_link_hash_table): Add target2_reloc.
	(elf32_arm_link_hash_table_create): Set it.
	(bfd_elf32_arm_process_before_allocation): Remove target1_is_rel.
	(bfd_elf32_arm_set_target_relocs): New function.
	(arm_real_reloc_type): New function.
	(elf32_arm_final_link_relocate): Use it.  Handle R_ARM_PREL31 and
	R_ARM_GOT_PREL.  Remove R_ARM_TARGET1.
	(elf32_arm_gc_sweep_hook): Ditto.
	(elf32_arm_check_relocs): Ditto.
	(elf32_arm_relocate_section): Handle R_ARM_GOT_PREL.
	* elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_PREL31 and
	R_ARM_GOT_TARGET2.
	(elf32_arm_got_prel): New variable.
	(elf32_arm_howto_from_type): New function.
	(elf32_arm_info_to_howto): Use it.
	(elf32_arm_reloc_map): Add BFD_RELOC_ARM_PREL31 and
	BFD_RELOC_ARM_TARGET2.
	* libbfd.h: Regenerate.
	* reloc.c: Add BFD_RELOC_ARM_TARGET2 and BFD_RELOC_ARM_PREL31.
gas/
	* config/tc-arm.c (s_arm_rel31): New funciton.
	(md_pseudo_table): Add .rel31.
	(md_apply_fix3): Handle BFD_RELOC_ARM_TARGET2,
	BFD_RELOC_32_PCREL and BFD_RELOC_ARM_PREL31.
	(tc_gen_reloc): Handle BFD_RELOC_ARM_PREL31 and BFD_RELOC_ARM_TARGET2.
	(arm_fix_adjustable): Return 0 for BFD_RELOC_ARM_TARGET2.
	(arm_parse_reloc): Add (target2).
gas/testsuite/
	* gas/arm/pic.s: Add (target2).
	* gas/arm/pic.d: Ditto.
include/
	* elf/arm.h: Remove R_ARM_STKCHK and R_ARM_THM_STKCHK.
	Add R_ARM_TARGET2, R_ARM_PREL31, R_ARM_GOT_ABS, R_ARM_GOT_PREL,
	R_ARM_GOT_BREL12, R_ARM_GOTOFF12 and R_ARM_GOTRELAX.
ld/
	* ld.texinfo: Rename arm-specific section.  Document --target*
	* emulparams/armelf_fbsd.sh: Set TARGET2_TYPE.
	* emulparams/armelf_linux.sh: Ditto.
	* emulparams/armelf_nbsd.sh: Ditto.
	* emultempl/armelf.em: Set default for TARGET2_TYPE.
	(target2_type): New variable.
	(arm_elf_before_allocation): Don't pass target1_type.
	(arm_elf_create_output_section_statements): New function.
	(PARSE_AND_LIST_PROLOGUE): Add OPTION_TARGET2.
	(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add --target=.
	(PARSE_AND_LIST_ARGS_CASES): Handle OPTION_TARGET2.
	(LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Set.
	* emultempl/armelf_oabi.em (_before_allocation): Remove extra
	argument to bfd_elf32_arm_process_before_allocation.
ld/testsuite/
	* ld-arm/arm-target1-{abs,rel}.d}: New files.
	* ld-arm/arm-target1.s: New file.
	* ld-arm/arm-target2-{,got-}rel.d: New files.
	* ld-arm/arm-target2.s: New file.
	* ld-arm/arm-rel31.d: New files.
	* ld-arm/arm-rel31.s: New files.
	* ld-arm/arm.ld: New file.
	* ld-arm/arm-elf.exp: Add new tests.
2004-09-17 12:35:00 +00:00
Alan Modra f6e332e660 include/
* bfdlink.h (struct bfd_link_hash_entry): Move und_next into elements
	of union.
bfd/
	* ecoff.c: Update u.undef.next refs.
	* elf64-ppc.c: Likewise.
	* elflink.c: Likewise.
	* linker.c: Likewise.
	* xcofflink.c: Likewise.
ld/
	* ldexp.c (fold_name): Update u.undef.next refs.
	* emultempl/pe.em: Likewise.
	* emultempl/sunos.em: Likewise.

bfd/
	* elf-bfd.h (struct elf_link_hash_entry): Rearrange.  Add FIXME to
	dynamic_def.  Combine weakdef and elf_hash_value.  Move vtable
	fields to indirect struct.
	* elf-m10300.c: Update u.weakdef refs.
	* elf32-arm.h: Likewise.
	* elf32-cris.c: Likewise.
	* elf32-frv.c: Likewise.
	* elf32-hppa.c: Likewise.
	* elf32-i370.c: Likewise.
	* elf32-i386.c: Likewise.
	* elf32-m32r.c: Likewise.
	* elf32-m68k.c: Likewise.
	* elf32-ppc.c: Likewise.
	* elf32-s390.c: Likewise.
	* elf32-sh.c: Likewise.
	* elf32-sparc.c: Likewise.
	* elf32-vax.c: Likewise.
	* elf32-xtensa.c: Likewise.
	* elf64-alpha.c: Likewise.
	* elf64-hppa.c: Likewise.
	* elf64-ppc.c: Likewise.
	* elf64-s390.c: Likewise.
	* elf64-sh64.c: Likewise.
	* elf64-sparc.c: Likewise.
	* elf64-x86-64.c: Likewise.
	* elfxx-ia64.c: Likewise.
	* elfxx-mips.c: Likewise.
	* elflink.c: Likewise.  Also u.elf_hash_value.
	(elf_gc_propagate_vtable_entries_used): Update for h->vtable
	indirection.
	(elf_gc_smash_unused_vtentry_relocs): Likewise.
	(bfd_elf_gc_record_vtinherit): Alloc vtable.
	(bfd_elf_gc_record_vtentry): Likewise.
	* elf.c (_bfd_elf_link_hash_newfunc): Use memset.
2004-09-17 07:14:33 +00:00
Alan Modra 0d47b01124 * Makefile.in: Regenerate. 2004-09-17 06:12:02 +00:00
Alan Modra 90c0a37345 * Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
	* bfd-in2.h: Regenerate.
	* po/SRC-POTFILES.in: Regenerate.
	* po/bfd.pot: Regenerate.
2004-09-17 06:08:06 +00:00
Alan Modra 97ec211307 daily update 2004-09-17 00:00:05 +00:00
Alan Modra f5385ebfb8 * elf-bfd.h (struct elf_link_hash_entry): Replace elf_link_hash_flags
with bitfields.  Make "type" and "other" bitfields too.
	(ELF_LINK_HASH_REF_REGULAR, ELF_LINK_HASH_DEF_REGULAR,
	ELF_LINK_HASH_REF_DYNAMIC, ELF_LINK_HASH_DEF_DYNAMIC,
	ELF_LINK_HASH_REF_REGULAR_NONWEAK, ELF_LINK_HASH_DYNAMIC_ADJUSTED,
	ELF_LINK_HASH_NEEDS_COPY, ELF_LINK_HASH_NEEDS_PLT, ELF_LINK_NON_ELF,
	ELF_LINK_HIDDEN, ELF_LINK_FORCED_LOCAL, ELF_LINK_HASH_MARK,
	ELF_LINK_NON_GOT_REF, ELF_LINK_DYNAMIC_DEF, ELF_LINK_DYNAMIC_WEAK,
	ELF_LINK_POINTER_EQUALITY_NEEDED): Delete.
	(ELF_COMMON_DEF_P, WILL_CALL_FINISH_DYNAMIC_SYMBOL): Update.
	* elf-hppa.h: Update all uses of elf_link_hash_flags.
	* elf-m10300.c: Likewise.
	* elf.c: Likewise.
	* elf32-arm.h: Likewise.
	* elf32-cris.c: Likewise.
	* elf32-frv.c: Likewise.
	* elf32-hppa.c: Likewise.
	* elf32-i370.c: Likewise.
	* elf32-i386.c: Likewise.
	* elf32-m32r.c: Likewise.
	* elf32-m68k.c: Likewise.
	* elf32-ppc.c: Likewise.
	* elf32-s390.c: Likewise.
	* elf32-sh-symbian.c: Likewise.
	* elf32-sh.c: Likewise.
	* elf32-sh64.c: Likewise.
	* elf32-sparc.c: Likewise.
	* elf32-vax.c: Likewise.
	* elf32-xtensa.c: Likewise.
	* elf64-alpha.c: Likewise.
	* elf64-hppa.c: Likewise.
	* elf64-ppc.c: Likewise.
	* elf64-s390.c: Likewise.
	* elf64-sh64.c: Likewise.
	* elf64-sparc.c: Likewise.
	* elf64-x86-64.c: Likewise.
	* elflink.c: Likewise.
	* elfxx-ia64.c: Likewise.
	* elfxx-mips.c: Likewise.
	* configure.in (AM_INIT_AUTOMAKE): Set version to 2.15.92.
	* configure: Regenerate.
	* aclocal.m4: Regenerate.
2004-09-16 14:52:12 +00:00
Alan Modra b6ee372a3e bfd/
* elf32-arm.h (elf32_arm_gc_sweep_hook): Add #ifndef OLD_ARM_ABI
	around uses of R_ARM_TARGET1.
	(elf32_arm_check_relocs): Likewise.
ld/
	* emultempl/armelf_oabi.em (before_allocation): Add extra zero param
	to bfd_elf32_arm_process_before_allocation call.
2004-09-16 12:49:56 +00:00
Alan Modra d7ed2d610c daily update 2004-09-16 00:00:06 +00:00
Alan Modra e0976f5aaf daily update 2004-09-15 00:00:05 +00:00
Alan Modra 5979e2265f daily update 2004-09-14 00:00:05 +00:00
Paul Brook 9c50426849 bfd/
* bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
	prototype.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.
	* elf32-arm.h (elf32_arm_link_hash_table): Add target1_is_rel.
	(elf32_arm_link_hash_table_create): Set target1_is_rel.
	(bfd_elf32_arm_process_before_allocation): Ditto.
	(elf32_arm_final_link_relocate): Handle R_ARM_TARGET1.
	(elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto.
	* elfarm-nabi.c (elf32_arm_howto_table): Rename RELABS to TARGET1.
	* reloc.c: Ditto.
gas/
	* config/tc-arm.c: Rename RELABS to TARGET1.
gas/testsuite/
	* gas/arm/pic.d: Rename RELABS to TARGET1.
	* gas/arm/pic.s: Ditto.
include/
	* elf/arm.h: Rename RELABS to TARGET1.
ld/
	* emulparams/armsymbian.sh: Set TARGET1_IS_REL.
	* emultempl/armelf.em: Use TARGET1_IS_REL.  Add --target1-{rel,abs}.
2004-09-13 14:14:32 +00:00
Joel Brobecker 94ea025abd * hpux-core.c (thread_section_p): New function.
(hpux_core_core_file_p): Fix computation of offset in call
        to bfd_seek. Create a ".reg" section from an arbitrary
        ".reg/<id>" section if none was created after having read
        all sections.
2004-09-13 03:51:22 +00:00
Alan Modra c0604db47d daily update 2004-09-13 00:00:06 +00:00
Alan Modra 747a5874e5 daily update 2004-09-12 00:00:05 +00:00
Andreas Schwab 2444313964 bfd/:
* acinclude.m4: Fix spelling of ACX_NONCANONICAL_*.
	* aclocal.m4: Rebuild.
	* configure: Rebuild.

opcodes/:
	* configure: Rebuild.
2004-09-11 20:22:51 +00:00
Alan Modra 52e08514ab daily update 2004-09-11 00:00:06 +00:00
Joel Brobecker f4eae89cf7 * section.c (bfd_sections_find_if): Fix parameter name in
comment to match code.
2004-09-10 21:16:27 +00:00
Alan Modra e0638f7007 * elf.c (assign_file_positions_except_relocs): Assign relocs
stored in a bfd section.
2004-09-10 00:27:10 +00:00
Alan Modra 04c6f462e0 daily update 2004-09-10 00:00:07 +00:00
Alan Modra a9bdad90d2 daily update 2004-09-09 00:00:05 +00:00
Alan Modra 365b3d742d daily update 2004-09-08 00:00:14 +00:00
Hans-Peter Nilsson 5e0f5ae3dc * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Reset
h->gotplt_refcount to 0, not -1.
2004-09-07 22:37:52 +00:00
Hans-Peter Nilsson ada1953ecd * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT,
case R_CRIS_32_GOTPLT>: For internal error message, handle NULL
	symname.
	(cris_elf_check_relocs) <case R_CRIS_32_PLT_PCREL>: Don't try to
	handle symbol visibility here.
2004-09-07 18:33:22 +00:00
Alan Modra ee75fd9567 * elf64-ppc.c (struct ppc_link_hash_table): Add stub_globals.
(is_ppc64_elf_target): Rename from is_ppc64_target.  Update all
	callers.
	(ppc_stub_name): Remove trailing "+0" on stub name.
	(create_linkage_sections): Create relocations for
	branch lookup table when --emit-relocs as well as when --shared.
	(ppc_build_one_stub): Emit relocs for long branch stubs.  Adjust
	relbrlt test.  For --emit-stub-syms, always output a sym even when
	one already exists on a plt call stub.  Put stub type in the stub
	symbol name.
	(ppc_size_one_stub): Size long branch stub relocs.  Adjust relbrlt
	test.
	(ppc64_elf_size_stubs): Count global sym stubs added.  Zero
	reloc_count in stub sections.  Adjust relbrlt test.
	(ppc64_elf_build_stubs): Adjust relbrlt test.  Tweak stats output.
	* elflink.c (bfd_elf_size_dynamic_sections): Fix comment typo.
	(elf_link_input_bfd): Ignore symbol index zero relocs when checking
	for relocs against discarded symbols.  Fix comments.
2004-09-07 13:40:37 +00:00
Alan Modra dc140b898d daily update 2004-09-07 00:00:06 +00:00
Mark Mitchell 229fcec570 * elf-bfd.h (_bfd_elf_make_dynamic_segment): Declare it.
* elf.c (_bfd_elf_make_dynamic_segment): New function, split out
	from ...
	(map_sections_to_segments): ... here.  Use it.  Assign a file
	position to the .dynamic section if it is not loadable, but part
	of the PT_DYNAMIC segment.
	* elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
	offsets, not VMAs, for the BPABI.  Do not fill in the header in
	the .got.plt section for the BPABI.
	* elfarm-nabi.c (elf32_arm_symbian_modify_segment_map): Add a
	PT_DYNAMIC segment.
	(elf_backend_want_got_plt): Define to zero for Symbian OS.

	* emulparams/armsymbian.sh: Use armbpabi script.
	* scripttempl/armbpabi.sc: New script.
2004-09-06 20:55:23 +00:00
Nick Clifton 9a0789ec7d (elf_link_add_object_symbols): Set the error code to bfd_error_wrong_format when
the input format does not match the output format.
2004-09-06 17:24:32 +00:00
Alan Modra 7b53ace3e9 * elf64-ppc.c (is_ppc64_target): New function, extracted from..
(ppc64_elf_check_directives): ..here.
	(ppc64_elf_size_dynamic_sections): Use it here to check bfd type
	before accessing ppc64_elf_tdata.
	(ppc64_elf_finish_dynamic_sections): And here too.
2004-09-06 12:37:12 +00:00
Alan Modra c09f9ec13b daily update 2004-09-06 00:00:05 +00:00
Alan Modra 8acf204224 daily update 2004-09-05 00:00:07 +00:00
Alan Modra 3e540f2516 * bfd.c (_bfd_default_error_handler): Correct loop exit. 2004-09-04 01:30:21 +00:00
Alan Modra c58996d84d daily update 2004-09-04 00:00:06 +00:00
Mark Mitchell e5a52504a5 * config.bfd (arm*-*-symbianelf*): Use OS-specific target vectors.
* configure.in (bfd_elf32_bigarm_symbian_vec): Add it.
	(bfd_elf32_littlearm_symbian_vec): Likewise.
	* configure: Regenerated.
	* elf-bfd.h (elf_backend_data): Add dynamic_sec_flags.
	* elf32-arm.h (PLT_HEADER_SIZE): Do not define.
	(PLT_ENTRY_SIZE): Likewise.
	(bfd_vma_elf32_arm_symbian_plt_entry): New
	variable.
	(elf32_arm_link_hash_table): Add plt_header_size, plt_entry_size,
	and symbian_p.
	(create_got_section): Don't create sections when generating BPABI
	objects.
	(elf32_arm_create_dynamic_sections): Tidy.
	(elf32_arm_link_hash_table_create): Set plt_header_size,
	plt_entry_size, and symbian_p.
	(elf32_arm_check_relocs): Do not mark .rel.dyn as loadable when
	generating BPABI objects.
	(allocate_dynrelocs): Use htab->plt_header_size, not
	PLT_HEADER_SIZE.  Do not add to .got.plt when
	generating BPABI objects.
	(elf32_arm_finish_dynamic_symbol): Generate Symbian OS PLTs.
	* elfarm-nabi.c: Add SymbianOS target vectors.
	* elflink.c (_bfd_elf_create_got_section): Use dynamic_sec_flags.
	(_bfd_elf_link_create_dynamic_sections): Likewise.
	* elfxx-target.h (ELF_DYNAMIC_SEC_FLAGS): New macro.
	(elfNN_bed): Use it.
	* targets.c (bfd_elf32_bigarm_symbian_vec): New variable.
	(bfd_elf32_littlearm_symbian_vec): Likewise.
	(_bfd_target_vector): Add them.

	* Makefile.am (TARG_ENV_HFILES): Add te-symbian.h.
	* Makefile.in: Regenerated.
	* configure.in: Set em for arm*-*-symbianelf*.
	* configure: Regenerated.
	* config/tc-arm.c (elf32_arm_target_format): Use Symbian target
	vectors when appropriate.
	* config/te-symbian.h: New file.

	* Makefile.am (ALL_EMULATIONS): Add earmsymbian.o.
	(earmsymbian.c): New target.
	* configure.tgt: Use armsymbian emulation for arm*-*-symbianelf*.
	* Makefile.in: Regenerated.
	* aclocal.m4: Likewise.
	* configure: Likewise.
	* emulparams/armsymbian.sh: New file.
2004-09-03 17:15:44 +00:00
Nick Clifton 6e3b68350d PR 360
(handle_COMDAT): Replace abort with an warning message and allow the scan to
continue.
2004-09-03 14:11:38 +00:00
Alan Modra da75a93b71 daily update 2004-09-03 00:00:05 +00:00
Alan Modra 595da8c56f * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Use static_syms passed
in when reading relocs, not our sorted syms.  Remove unnecessary
	var.
2004-09-02 04:43:36 +00:00
Alan Modra 21bd10f440 daily update 2004-09-02 00:00:05 +00:00
Alan Modra aa240bf535 daily update 2004-09-01 00:00:05 +00:00
Eric Botcazou 6723a9f4e0 * elf.c (special_sections): Add .gnu.linkonce.b modelled on .bss. 2004-08-31 09:41:11 +00:00
Alan Modra ad58b0d055 daily update 2004-08-31 00:00:07 +00:00
Nathanael Nerode 5464f5a16e 2004-08-30 Nathanael Nerode <neroden@gcc.gnu.org>
* acinclude.m4: Require AC_CANONICAL_TARGET, not AC_CANONICAL_SYSTEM.
	Include ../config/acx.m4 and use ACX_NONCANONICAL_* where appropriate;
	replace uses of *_alias with *_noncanonical.
	* aclocal.m4: Rebuild with aclocal 1.4p6.
	* Makefile.in: Rebuild with automake 1.4p6.
	* doc/Makefile.in: Rebuild with automake 1.4p6.
	* configure.in: Autoupdate with autoupdate 2.59.
	* config.in: Regenerate with autoheader 2.59.
	* configure: Regnerate with autoconf 2.59.
2004-08-30 18:58:14 +00:00
Alan Modra 8703f9377c daily update 2004-08-30 00:00:06 +00:00
Alan Modra 47e35c11d6 daily update 2004-08-29 00:00:06 +00:00
Alan Modra a7535cf331 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Copy input
symbol pointer arrays before modifying.
2004-08-28 08:54:34 +00:00
Alan Modra b91e2ae21e corrected version 2004-08-28 03:29:18 +00:00
Alan Modra c9727e01b5 bfd/
* bfd.c (bfd_get_synthetic_symtab): Pass counts and both symbol tables.
	* elf-bfd.h (_bfd_elf_get_synthetic_symtab): Adjust.
	* elf.c (_bfd_elf_get_synthetic_symtab): Adjust.
	* libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Adjust.
	* targets.c (struct bfd_target <_bfd_get_synthetic_symtab>): Adjust.
	* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't read symbols.
	Use both symbol tables on non-relocatable objects.  Use a common
	error exit.  Fix "mid" warning.
	* libbfd.h: Regenerate.
	* bfd-in2.h: Regenerate.
binutils/
	* objdump.c (dump_bfd): Pass both symbol tables to
	bfd_get_synthetic_symtab.
2004-08-28 03:05:18 +00:00
Alan Modra 0756fc5506 daily update 2004-08-28 00:00:06 +00:00
Alan Modra 699733f62e * elf64-ppc.c (ppc64_elf_branch_reloc): Check .opd is in a regular
object file.
	(struct sfpr_def_parms): Save some space.
	(sfpr_define): Here too.

	* elf64-ppc.c (compare_symbols): Put section syms first.
	(sym_exists_at): New function.
	(ppc64_elf_get_synthetic_symtab): Use relocs to find code entry
	points only for relocatable files.  Use .opd section contents
	otherwise.  Generally clean up the code.
2004-08-27 14:54:41 +00:00
Alan Modra deb0e27291 * elf64-ppc.c (STD_R0_0R1, STD_R0_0R12, LD_R0_0R1, LD_R0_0R12,
LI_R12_0, STVX_VR0_R12_R0, LVX_VR0_R12_R0, MTLR_R0, SFPR_MAX): Define.
	(struct sfpr_def_parms): New.
	(sfpr_define): New function.
	(savegpr0, savegpr0_tail, restgpr0, restgpr0_tail): New functions.
	(savegpr1, savegpr1_tail, restgpr1, restgpr1_tail): New functions.
	(savefpr, savefpr0_tail, restfpr, restfpr0_tail): New functions.
	(savefpr1_tail, restfpr1_tail): New functions.
	(savevr, savevr_tail, restvr, restvr_tail): New functions.
	(MIN_SAVE_FPR, MAX_SAVE_FPR): Don't define.
	(ppc64_elf_func_desc_adjust): Use sfpr_define in place of existing
	code.  Define all ABI mandated _save and _rest functions.
2004-08-27 07:54:00 +00:00
Alan Modra b039949775 daily update 2004-08-27 00:00:06 +00:00
Paul Brook 85a84e7a87 * INTERWORK_FLAG: Return true for EABIv3 objects. 2004-08-26 16:18:37 +00:00
Alan Modra 2605216ead daily update 2004-08-26 00:00:05 +00:00
Alan Modra 688c58f359 bfd/
* elf32-m32r.c (m32r_elf_relocate_section): Don't compare with
	TRUE or FALSE.
ld/
	* ldlang.c (lang_init): Don't compare with TRUE.
2004-08-25 23:40:56 +00:00
Alan Modra 3e95eabc2c * elf32-i386.c (elf_i386_relocate_section): Tweak last change so
that pcrel correction is applied for R_386_PC32.
2004-08-25 23:20:37 +00:00
Alan Modra f855931bbd * elf32-i386.c (elf_i386_relocate_section): Zero section contents
for R_386_32 and R_386_PC32 relocs against symbols defined in
	discarded sections.
2004-08-25 14:35:58 +00:00
Nick Clifton b18c562e39 Apply Dmitry Diky's patches to add relaxation to msp430. 2004-08-25 12:54:15 +00:00
Alan Modra 9028eebd04 daily update 2004-08-25 00:00:06 +00:00
Nick Clifton af705ba8f0 (m32r_elf_relocate_section): Handle R_M32R_SDA16_RELA in the same way as
R_M32R_SDA16.
2004-08-24 08:21:25 +00:00
Alan Modra 05b51840d8 daily update 2004-08-24 00:00:07 +00:00
Alan Modra d2a7154afd daily update 2004-08-23 00:00:07 +00:00
Alan Modra 8f52ca94af daily update 2004-08-22 00:00:05 +00:00
Daniel Jacobowitz ea5158d820 * elflink.c (_bfd_elf_section_already_linked): Handle
SEC_LINK_DUPLICATES_SAME_CONTENTS.
2004-08-21 01:13:22 +00:00
Alan Modra d64e52d5a6 daily update 2004-08-21 00:00:07 +00:00