Commit Graph

2235 Commits

Author SHA1 Message Date
Alan Modra 72f227962f daily update 2002-08-28 00:00:04 +00:00
Nick Clifton 88f7bcd5a7 Revert ARM linker patch and apply similar patch to bfd instead 2002-08-27 11:01:55 +00:00
Alan Modra 1af0fa2dd5 daily update 2002-08-27 00:00:04 +00:00
Alan Modra c8e48751a6 * coffcode.h (coff_set_arch_mach_hook): Handle W65MAGIC. 2002-08-26 09:01:41 +00:00
Alan Modra 2846975ad0 * aoutx.h (NAME(aout,reloc_type_lookup)): Handle BFD_RELOC_8. 2002-08-26 08:46:21 +00:00
Alan Modra 383ca9fbf6 daily update 2002-08-26 00:00:04 +00:00
Alan Modra 6e490d4203 daily update 2002-08-25 00:01:20 +00:00
Alan Modra 067653c535 * elf32-sh.c (sh_elf_copy_indirect_symbol): New.
(create_got_section, allocate_dynrelocs, readonly_dynrelocs):
	Likewise.
	(struct elf_sh_pcrel_relocs_copied): Removed.
	(struct elf_sh_dyn_relocs): New.
	(struct elf_sh_link_hash_entry): Replace pcrel_relocs_copied
	field with dyn_relocs.
	(struct elf_sh_link_hash_table): Add short-cuts to get dynamic
	sections and sym_sec.
	(sh_elf_link_hash_newfunc): Clear dyn_relocs.
	(sh_elf_link_hash_table_create): Clear shorts-cuts and sym_sec.
	(sh_elf_create_dynamic_sections): Use create_got_section instead
	of _bfd_elf_create_got_section.
	(sh_elf_check_relocs): Likewise.
	(sh_elf_create_dynamic_sections): Use short-cuts to the dynamic
	sections.
	(sh_elf_adjust_dynamic_symbol, sh_elf_size_dynamic_sections,
	sh_elf_relocate_section, sh_elf_check_relocs,
	sh_elf_finish_dynamic_symbol, sh_elf_finish_dynamic_sections):
	Likewise.
	(sh_elf_adjust_dynamic_symbol): Handle nocopyreloc. Keep the
	dynamic relocations and avoiding the copy relocation when we
	didn't find any dynamic relocations in the section which has
	contents or is read-only.
	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
	(sh_elf_size_dynamic_sections): Don't reset the size of
	.rela.got section even if dynamic_sections_created flag is off.
	Don't use sh_elf_discard_copies. Scan all input bfd and use
	allocate_dynrelocs. Call readonly_dynrelocs to determine
	whether we need DT_TEXTREL.
	(sh_elf_adjust_dynamic_symbol): Use plt.refcount to determine
	whether the symbol was never referred to.
	(sh_elf_relocate_section): Use WILL_CALL_FINISH_DYNAMIC_SYMBOL.
	(sh_elf_gc_sweep_hook): Fill with the real sweep function.
	(sh_elf_check_relocs): Call create_got_section if the short-cut
	to .got is null. Increment reference counters only instead of
	allocating space on dynamic sections here. Don't conditionalize
	uninitialized got.offset value when marking the symbol as a
	global offset table entry. Keep relocations for symbols satisfied
	by a dynamic library to avoid copy relocations for the symbol.
	Set dynobj field of an elf hash table if needed.
	(sh_elf_finish_dynamic_sections): Handle null section pointer
	correctly.
	(elf_backend_copy_indirect_symbol): Defined.
	(elf_backend_can_refcount): Defined.
2002-08-24 01:44:56 +00:00
Alan Modra ee828e4278 daily update 2002-08-24 00:00:04 +00:00
Nick Clifton 7e326afc19 Undo previous delta. Add comment explaining why. 2002-08-23 09:42:21 +00:00
Alan Modra c8614e8e65 * elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le): Copy
contents of .got.plt[2] to tr0, not address of .got.plt.
	(sh_elf_finish_dynamic_symbol): Do not apply GOT_BIAS when
	patching absolute plt entry. For shmedia plt entry, set bottom bit
	of branch to plt0 as this is a branch to an shmedia instruction.
	* elf64-sh64.c (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le):
	Copy contents of .got.plt[2] to tr0, not address of .got.plt.
	(elf_sh64_plt_entry_be, elf_sh64_plt_entry_le): Use ptrel to
	branch to plt0.
	(sh64_elf64_finish_dynamic_symbol): Do not apply GOT_BIAS when
	patching absolute plt entry. For shmedia plt entry, branch to
	plt0 is now ptrel, so use relative offset.  Set bottom bit of
	branch target as it is a branch to an shmedia instruction.
2002-08-23 08:26:13 +00:00
Alan Modra 3b587c71d7 * elf32-sh.c (sh_elf_finish_dynamic_sections): Set LSB of DT_INIT
value if .init is an SHmedia function.  Similarly for DT_FINI.
	* elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
2002-08-23 08:13:12 +00:00
Alan Modra 957dcaa8ef * bfd/elf32-sh.c (sh_elf_size_dynamic_sections): Zero initialize
dynamic section.
	* bfd/elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
2002-08-23 04:23:37 +00:00
Alan Modra 355ac37b68 daily update 2002-08-23 00:00:05 +00:00
Nick Clifton a4263c47c0 Use a simple byte read when reading the return address register column. 2002-08-22 20:00:14 +00:00
Nick Clifton db4ed12147 Add powerpc64-*-*bsd* target. 2002-08-22 17:45:36 +00:00
Nick Clifton ed71e1110d Add sh-nto support 2002-08-22 17:27:20 +00:00
Nick Clifton 75c8328346 Updated Turkish translation. 2002-08-22 16:22:03 +00:00
Nick Clifton 0ab72ee2fd Set bfd_error to no_symbols if the symbols could not be read. 2002-08-22 16:12:00 +00:00
Alan Modra 56780f18c5 * elf32-m68hc11.c: Formatting fixes.
(elf32_m68hc11_gc_mark_hook): Correct params.  Remove unnecessary test.
	* elf32-m68hc12.c: Formatting fixes.
	(elf32_m68hc11_gc_mark_hook): Correct params.  Remove unnecessary test.
2002-08-22 05:41:53 +00:00
Alan Modra a7c71b0c65 * coff-rs6000.c (rs6000coff_vec <object_flags>): Add SEC_CODE and
SEC_DATA.
	(pmac_xcoff_vec): Likewise.
	* coff64-rs6000.c (rs6000coff64_vec): Likewise.
	(aix5coff64_vec): Likewise.
2002-08-22 05:13:04 +00:00
Alan Modra b48fa14c86 * elf-bfd.h (struct elf_backend_data): Add struct elf_backend_data
param to elf_backend_copy_indirect_symbol.
	(_bfd_elf_link_hash_copy_indirect): Likewise.
	* elflink.h (elf_add_default_symbol, elf_fix_symbol_flags): Adjust
	calls to copy_indirect_symbol.
	* elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
	* elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
	* elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
	* elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
	* elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
	* elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
	* elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise.
	* elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Likewise.
	* elf.c (_bfd_elf_link_hash_copy_indirect): Likewise.  Properly
	test refcounts for "used" values.
2002-08-22 01:27:20 +00:00
Alan Modra 2edac2bef7 daily update 2002-08-22 00:00:04 +00:00
Alan Modra 6e8c230eaf daily update 2002-08-21 00:00:03 +00:00
Alan Modra 8c2ab17d27 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Add PARAMS to
argument declaration.
2002-08-20 23:45:41 +00:00
Alan Modra 09b244933d daily update 2002-08-20 00:00:05 +00:00
Elena Zannoni d62b1198f8 2002-08-19 Elena Zannoni <ezannoni@redhat.com>
* archures.c (bfd_mach_ppc_e500): Added.
        * bfd-in2.h: Rebuilt.
        * cpu-powerpc.c (bfd_powerpc_archs): Added e500.
2002-08-19 21:12:34 +00:00
Alan Modra 9f88ba0968 * elf32-m68hc12.c (elf_backend_can_gc_sections): False. 2002-08-19 06:38:43 +00:00
Alan Modra 0c528862c5 daily update 2002-08-19 00:00:05 +00:00
Alan Modra 7012f1189c daily update 2002-08-18 00:00:05 +00:00
Andrew Cagney df622259f2 * elf.c (bfd_elf_get_elf_syms): Change type of `esym' to
`bfd_byte'.
2002-08-17 16:09:02 +00:00
Stan Cox 44c410de10 * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Use the
IRIX 6 segment layout for NEWABI.
2002-08-17 15:31:29 +00:00
Alan Modra e3612cba02 daily update 2002-08-17 00:00:04 +00:00
Stephen Clarke 4972a8e93e * bfd/elf32-sh.c (sh_elf_gc_mark_hook): For sh64, skip indirect
symbols when looking for section referred to by a relocation.
	* bfd/elf64-sh.c (sh_elf64_gc_mark_hook): Likewise.
2002-08-16 18:40:54 +00:00
Alan Modra 74b31c6634 daily update 2002-08-16 00:00:03 +00:00
Alan Modra 805f24315d Remove bfd/ prefix from files. 2002-08-15 23:19:28 +00:00
Alan Modra c5cd6d6226 * elf32-i370.c: Move reloc enum to include/elf/i370.h. 2002-08-15 12:21:39 +00:00
Hans-Peter Nilsson 0741c7bed7 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add
missing check for whether the symbol is referenced by DSO before
	unexporting it as an unneeded dynamic symbol.
2002-08-15 05:20:54 +00:00
Alan Modra 6e314fd27d daily update 2002-08-15 00:00:04 +00:00
H.J. Lu e8d5d1796f 2002-08-14 H.J. Lu <hjl@gnu.org>
* libbfd.h: Regenerate.
2002-08-14 16:42:56 +00:00
H.J. Lu 691120ec30 Add "want64=yes" to 32bit Linux/mips. 2002-08-14 15:18:54 +00:00
H.J. Lu e92290077e Always enable 64bit targets for 32bit Linux/mips. 2002-08-14 15:05:41 +00:00
Stephane Carrez 1fd03b5ab2 * elf32-m68hc11.c (m68hc11_relax_group): New to relax group of
instructions.
	(m68hc11_direct_relax): New to define table of relaxable instructions.
	(find_relaxable_insn): New, find a relaxable insn.
	(compare_reloc): New to compare two relocs.
	(m68hc11_elf_relax_section): New, relax text sections.
	(m68hc11_elf_relax_delete_bytes): New, delete bytes and adjust branchs.
	(elf32_m68hc11_check_relocs): New function for GC support.
	(elf32_m68hc11_relocate_section): New function for GC support.
	(bfd_elf32_bfd_relax_section): Define to support linker relaxation.
	(elf_backend_check_relocs): Likewise.
	(elf_backend_relocate_section): Likewise.
2002-08-14 08:14:30 +00:00
H.J. Lu c828c7718e 2002-08-13 H.J. Lu <hjl@gnu.org>
* elflink.h (NAME(bfd_elf,size_dynamic_sections): Don't count
	definitions in shared objects when checking symbol with
	undefined version.
2002-08-14 03:25:48 +00:00
Alan Modra c98b039214 daily update 2002-08-14 00:00:06 +00:00
Stephane Carrez 9b701e4403 * elf32-m68hc11.c (elf32_m68hc11_gc_mark_hook): New for section GC.
(elf32_m68hc11_gc_sweep_hook): Likewise.
	(elf_backend_gc_mark_hook): Define for GC section support.
	(elf_backend_gc_sweep_hook): Likewise.
	(elf_backend_can_gc_sections): Likewise.

	* elf32-m68hc12.c: Likewise.
2002-08-13 21:15:47 +00:00
Stephane Carrez 7a897be4b1 Fix integration pb for:
* elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs;
    fix masks for PC-rel relocs.
    (m68hc11_elf_ignore_reloc): New function.
2002-08-13 21:04:21 +00:00
Stephane Carrez 96405e3cc3 * elf32-m68hc11.c (_bfd_m68hc11_elf_print_private_bfd_data): New.
(_bfd_m68hc11_elf_merge_private_bfd_data): New function.
	(_bfd_m68hc11_elf_set_private_flags): New function.
	Use them to set/check/print ELF flags specific to 68HC11.

	* elf32-m68hc12.c (_bfd_m68hc12_elf_print_private_bfd_data): New.
	(_bfd_m68hc12_elf_merge_private_bfd_data): New function.
	(_bfd_m68hc12_elf_set_private_flags): New function.
	Use them to set/check/print ELF flags specific to 68HC12.
2002-08-13 20:56:59 +00:00
Stephane Carrez dae78fb09d * elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs;
fix masks for PC-rel relocs.
	(m68hc11_elf_ignore_reloc): New function.

	* elf32-m68hc12.c (m68hc12_elf_special_reloc): New to handle specific
	68HC12 banked addressing relocs.
	(m68hc12_phys_addr): New to compute physical address of banked memory.
	(m68hc12_phys_page): Likewise for page.
	(m68hc12_addr_is_banked): New to see if address is in banked area.
	(elf_m68hc12_howto_table): Add new relocs and rename to xx12.
2002-08-13 20:43:01 +00:00
Stephane Carrez 3dbfec8644 * reloc.c (BFD_RELOC_M68HC11_RL_JUMP, BFD_RELOC_M68HC11_RL_GROUP,
BFD_RELOC_M68HC11_LO16, BFD_RELOC_M68HC11_PAGE,
	BFD_RELOC_M68HC11_24): New relocs for 68HC11/68HC12.
	* bfd-in2.h: Regenerate.
2002-08-13 20:08:49 +00:00
Alan Modra bed69f0439 * header.sed: Strip tabs. 2002-08-13 02:37:47 +00:00
Alan Modra 0707b49f5a daily update 2002-08-13 00:00:06 +00:00
H.J. Lu 871da94f03 2002-08-12 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_add_default_symbol): Preserve section across
	elf_merge_symbol.
2002-08-12 19:23:33 +00:00
Alan Modra b20f52778d daily update 2002-08-12 00:00:04 +00:00
Alan Modra ef02b960a4 daily update 2002-08-11 00:00:04 +00:00
Alan Modra a846ca52c4 daily update 2002-08-10 00:00:04 +00:00
Nick Clifton 80200e448d Oops - omitted from previous delta 2002-08-09 15:39:19 +00:00
Nick Clifton 59bc061d4b Add QNX Neutrino PowerPC support and common up QNX functions 2002-08-09 15:38:24 +00:00
Nick Clifton 2b692c5912 Updated Swedish translation 2002-08-09 15:07:57 +00:00
Thiemo Seufer d0c7ff072c * elfxx-mips.c (mips_elf_global_got_index): Avoid segfault if
g->global_gotsym is NULL.
2002-08-09 05:35:26 +00:00
H.J. Lu d8bbe7789d 2002-08-08 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_add_default_symbol): Don't warn a defintion
	overrides an indirect versioned symbol.
2002-08-09 04:40:29 +00:00
Alan Modra 9bf279ebdd daily update 2002-08-09 00:00:04 +00:00
Jakub Jelinek c366c25e10 * elf32-i386.c (elf_i386_relocate_section): Fill in proper addend
for R_386_TLS_TPOFF32 relocs against symndx 0.
2002-08-08 21:38:27 +00:00
H.J. Lu 3194163592 Check symbols with undefine version. 2002-08-08 03:50:18 +00:00
Alan Modra 7330fb86f2 * elflink.h (elf_link_output_extsym): Don't output symbols from
SEC_EXCLUDE sections.
2002-08-08 00:20:16 +00:00
Alan Modra 0f3bd64fc5 * aoutx.h (aout_link_write_symbols): Correct handling of warning syms. 2002-08-08 00:11:37 +00:00
Alan Modra ac0f9ca57d daily update 2002-08-08 00:00:04 +00:00
Alan Modra a4aa0fb7d0 * elf64-ppc.c (edit_opd): Arrange to drop symbols for discarded .opd
entries.
2002-08-07 05:23:09 +00:00
Thiemo Seufer 34ea4a364d * elfxx-mips.c (mips_elf_create_dynamic_relocation): Cast signedness
mismatch.
2002-08-07 04:44:14 +00:00
Thiemo Seufer 141ff9705a * elfxx-mips.c (ABI_64_P): Remove superfluous check. 2002-08-07 04:37:24 +00:00
Thiemo Seufer 28458e7e44 * elf32-mips.c (mips_reloc_map): Fix typo. 2002-08-07 04:32:14 +00:00
Alan Modra ca2045c1f6 daily update 2002-08-07 00:00:04 +00:00
Alan Modra 0121a3da9e * xcofflink.c (xcoff_write_global_symbol): Set n_scnum for abs_section. 2002-08-06 11:24:40 +00:00
Alan Modra d006db6c06 * elf64-ppc.c (ppc64_elf_howto_raw): Zero all src_mask entries. 2002-08-06 09:09:08 +00:00
Alan Modra 2a52da5326 * libxcoff.h: Use PARAMS on function declarations.
* coff-rs6000.c (xcoff_generate_rtinit): Simplify size calc.
	* coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
2002-08-06 08:59:34 +00:00
Alan Modra 8ea80f0843 * coff-rs6000.c: (xcoff_rtype2howto): Don't place reloc address in
addend.
	* coff64-rs6000.c: (xcoff64_rtype2howto): Likewise.
2002-08-06 08:51:42 +00:00
Alan Modra cf9ab45bc0 * coff-rs6000.c: Formatting fixes.
(xcoff_calculate_relocation): Use PARAMS in declaration.
	(xcoff_complain_overflow): Likewise.
	(xcoff_ppc_relocate_section): Use old-style function pointer call.
	(bfd_xcoff_backend_data): Remove useless comments.
	(rs6000coff_vec): Likewise.
	(bfd_pmac_xcoff_backend_data): Likewise.
	(pmac_xcoff_vec): Likewise.
	* coff64-rs6000.c: Formatting fixes.
	(xcoff64_calculate_relocation): Use PARAMS in declaration.
	(xcoff64_ppc_relocate_section): Use old-style function pointer call.
	(bfd_xcoff_backend_data): Remove useless comments.
	(rs6000coff64_vec): Likewise.
	(bfd_xcoff_aix5_backend_data): Likewise.
	(aix5coff64_vec): Likewise.
2002-08-06 05:52:29 +00:00
Alan Modra a78eab4eaf * coff-rs6000.c (xcoff_howto_table): Revert some of last change to
mask entries.  Use complain_overflow_dont for R_REF.
	(xcoff_reloc_type_ba): Revert last change.
	(xcoff_reloc_type_br): Likewise.
	(xcoff_reloc_type_crel): Likewise.
	(xcoff_ppc_relocate_section): Likewise.
	* coff64-rs6000.c (xcoff64_reloc_type_br): Likewise.
	(xcoff64_ppc_relocate_section): Likewise.
	(xcoff64_howto_table): Revert some of last change to mask entries.
	Use complain_overflow_dont for R_REF.
2002-08-06 03:18:25 +00:00
Alan Modra 48bfecdd71 * coff-rs6000.c (xcoff_howto_table): Fix src_mask entries. Make all
relocs with bitsize == 16 have size = 1.
	(xcoff_reloc_type_ba): Correct src_mask and dst_mask adjustment.
	(xcoff_reloc_type_br): Likewise.
	(xcoff_reloc_type_crel): Likewise.
	(xcoff_ppc_relocate_section): Set up src_mask and dst_mask correctly.
	* coff64-rs6000.c (xcoff64_reloc_type_br): Correct src_mask and
	dst_mask adjustment.
	(xcoff64_ppc_relocate_section): Set up src_mask and dst_mask correctly.
	(xcoff64_howto_table): Fix src_mask entries.  Make all relocs with
	bitsize == 16 have size = 1.
2002-08-06 02:29:25 +00:00
Alan Modra aed3c06f62 daily update 2002-08-06 00:00:08 +00:00
Alan Modra 7dcf061196 daily update 2002-08-05 00:00:04 +00:00
Alan Modra d48f1a6304 daily update 2002-08-04 00:00:06 +00:00
Alan Modra 52799c296c daily update 2002-08-03 00:00:05 +00:00
Alan Modra cc5b2fb930 daily update 2002-08-02 00:00:04 +00:00
Denis Chertykov fd13ed0cdd * elf32-ip2k.c: Processor manufacturer changed to Ubicom.
(struct misc): New field isymbuf. All free_* fields removed.
	(symbol_value): Pass in internal syms. No need to swap syms in.
	(ip2k_elf_relax_section): Use bfd_elf_get_elf_syms. Properly free
	possibly cached info.
	(tidyup_after_error): Removed.
	(ip2k_elf_relax_section_pass1): Don't use removed fields of struct
	misc. Use new field.
	(adjust_all_relocations): Use internal syms. No need to swap syms
	in and out.
	(add_page_insn): Don't use removed fields of struct misc.
2002-08-01 18:29:09 +00:00
Nick Clifton 24a1ba0f48 Revert Adam Nemet's THUMB PLT patch 2002-08-01 14:03:01 +00:00
Nick Clifton a6903459eb Bump version number. 2002-08-01 06:47:58 +00:00
H.J. Lu 39a2a3eb35 Enable x86-64 for Linux/i386 if 64bit BFD is selected. 2002-08-01 06:24:53 +00:00
Alan Modra 658cc59256 daily update 2002-08-01 00:00:06 +00:00
H.J. Lu a0dfa6a805 Enable 64bit emulations for Linux/mips if 64bit BFD is selected. 2002-07-31 22:26:53 +00:00
Nick Clifton 4eb6b71c65 Fix bugs and remove compile time warnings for N"32K port. 2002-07-31 16:23:29 +00:00
Jakub Jelinek cd67d26656 * elf32-i386.c (elf_i386_copy_indirect_symbol): Swap tls_type
if _bfd_elf_link_hash_copy_indirect will swap got.refcount.
2002-07-31 15:04:06 +00:00
Nick Clifton f7c33884fa Add new field to bfd_link structure and use it to control how common symbols
are extracted from archives.
2002-07-31 12:50:09 +00:00
Nick Clifton 8f64befb29 Add support for Thumb PLT entries with interworking 2002-07-31 12:04:47 +00:00
Nick Clifton 47badb7be6 Rename function arguments to avoid shadowing global symbols of the same name. 2002-07-31 09:38:04 +00:00
Thiemo Seufer 8a397dadf0 * Makefile.am: Add n32 ABI support.
* Makefile.in: Regenerate.
	* config.bfd: Add n32 vectors to mips64*-*-linux* targets. Treat 64
	bit vectors for mips*-*-linux targets as optional.
	* configure.in: Add n32 ABI vectors.
	* configure: Regenerate.
	* elf32-mips.c (mips_elf32_object_p): Reject n32 ABI files.
	* elfn32-mips.c: New file, n32 ABI support.
	* targets.c: Add n32 ABI vectors.
2002-07-31 00:32:10 +00:00
Alan Modra 3edd64ea86 daily update 2002-07-31 00:00:04 +00:00
Nick Clifton 7e392df659 Add arm-*-nto port. 2002-07-30 17:32:30 +00:00
Nick Clifton 83e1617e06 Updated Translations 2002-07-30 15:53:18 +00:00
Jakub Jelinek 704afa601f * elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type.
* ldlang.c (lang_add_section): Don't turn .tbss into normal sections
	for relocatable link.
	(lang_size_sections_1): Don't make .tbss zero size for relocatable
	link.
2002-07-30 14:28:55 +00:00
Alan Modra 487e54f29a * aoutx.h (some_aout_object_p): Clean up tdata properly on error.
* archive.c (bfd_generic_archive_p): Likewise.
	* coff-rs6000.c (_bfd_xcoff_archive_p): Likewise.
	(_bfd_xcoff_archive_p): Use bfd_scan_vma in place of strtol.
	* coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
	(xcoff64_archive_p): Likewise.
	(xcoff64_openr_next_archived_file): Likewise.
	(xcoff64_archive_p): Clean up tdata properly on error.
	* coffgen.c (coff_real_object_p): Likewise.
	(coff_object_p): Release filehdr and opthdr.
	* ecoff.c (_bfd_ecoff_archive_p): Clean up tdata properly on error.
	* ieee.c (ieee_archive_p): Likewise.
	* ihex.c (ihex_object_p): Likewise.
	(ihex_mkobject): Always allocate tdata.
	* peicode.h (pe_ILF_object_p): Release bfd_alloc'd buffer on error.
	* srec.c (srec_mkobject): Always allocate tdata.
	(srec_object_p): Clean up tdata properly on error.
	(symbolsrec_object_p): Likewise.
	* versados.c (versados_object_p): Likewise.
	* vms-misc.c (_bfd_vms_get_record): Use bfd_malloc instead of malloc,
	and bfd_realloc instead of realloc.
	(add_new_contents): Use bfd_alloc instead of bfd_malloc for sections.
	* vms.c (vms_initialize): Always allocate tdata.  Use bfd_alloc in
	place of bfd_malloc, simplifying error freeing.  Free hash table too.
	(vms_object_p): Clean up tdata on error.
	(vms_mkobject): Don't complain on stderr if vms_initialize fails.
	(vms_close_and_cleanup): Adjust for bfd_alloc use.
2002-07-30 05:49:24 +00:00
Alan Modra 9d46020e53 * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set e_flags. 2002-07-30 05:40:20 +00:00
Alan Modra 082818011f daily update 2002-07-30 00:00:05 +00:00
Alan Modra c5075d8a7b daily update 2002-07-29 00:00:05 +00:00
Alan Modra f580f40790 daily update 2002-07-28 00:00:06 +00:00
Alan Modra 7be965d994 daily update 2002-07-27 00:00:04 +00:00
Richard Sandiford fb39dac1ef [bfd/]
* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE
	flags into resulting BFD.

[ld/testsuite/]
	* ld-mips-elf/mips16-1.d,
	* ld-mips-elf/mips16-1[ab].s: New test.
	* ld-mips-elf/mips-elf.exp: Run it.
2002-07-26 18:56:25 +00:00
Alan Modra 7a624474ee * elf32-i386.c (elf_i386_link_hash_table_create): Clear
tls_ldm_got.refcount.
2002-07-26 05:32:05 +00:00
Alan Modra 47d7baedf9 daily update 2002-07-26 00:00:05 +00:00
Thiemo Seufer a4382ec6f5 * elf64-mips.c: Update TODO comment.
(mips_elf64_higher_reloc,mips_elf64_highest_reloc,
	mips_elf64_gprel16_reloca): Remove prototypes.
	(mips16_jump_reloc,mips16_gprel_reloc): Add functions.
	(UNUSED_RELOC): Replace by EMPTY_RELOC.
	(mips_elf64_howto_table_rel): Use special R_MIPS_HI16 handling. Remove
	wrong comments. Remove disfunctional support of R_MIPS_HIGHER and
	R_MIPS_HIGHEST.
	(mips_elf64_howto_table_rela): Fix handling of R_MIPS_GPREL16 and
	R_MIPS_GOT16. Remove wrong comments.
	(elf_mips16_jump_howto,elf_mips16_gprel_howto,
	elf_mips_gnu_vtinherit_howto,elf_mips_gnu_vtentry_howto): New, code
	from elf32-mips.c.
	(mips_elf64_hi16_reloc): Fix formatting.
	(mips_elf64_higher_reloc,mips_elf64_highest_reloc): Remove.
	(mips_elf64_got16_reloc): Fix formatting. Remove superfluous code.
	Better comment. Fall back to R_MIPS_GOT_DISP instead of abort().
	(mips_elf64_gprel16_reloc): Make static. Add check for
	partial_inplace.
	(mips_elf64_gprel16_reloca): Remove.
	(mips_elf64_literal_reloc): New function.
	(mips_elf64_gprel32_reloc): Fix formatting.
	(mips_elf64_shift6_reloc): Fix comment. Make static.
	(mips16_jump_reloc,mips16_gprel_reloc): New functions, code from
	elf32-mips.c.
	(elf_reloc_map,mips_reloc_map): New mapping table, similiar as in
	elf32-mips.c
	(bfd_elf64_bfd_reloc_type_lookup): Use the mapping table. Enable GNU
	specific relocations.
	(mips_elf64_rtype_to_howto): Enable GNU specific relocations.
	(mips_elf64_object_p): Invert logic to check for SGI-ish ABI.
	(ELF_MAXPAGESIZE): Add comment.
2002-07-25 15:35:14 +00:00
Nick Clifton 219576a4db New translations 2002-07-25 10:31:28 +00:00
Alan Modra 8c58d23b6d * elf-bfd.h (_bfd_elf32_link_record_local_dynamic_symbol): Define
as elf_link_record_local_dynamic_symbol.
	(_bfd_elf64_link_record_local_dynamic_symbol): Likewise.
	(elf_link_record_local_dynamic_symbol): Declare.  Now returns int.
	* elflink.h (elf_link_record_local_dynamic_symbol): Move to..
	* elflink.c: .. here.  Use bfd_elf_get_elf_syms.  Check whether an
	attempt is made to record a symbol in a discarded section, and
	return `2' in that case.
2002-07-25 06:54:51 +00:00
Alan Modra 493329900c daily update 2002-07-25 00:00:05 +00:00
Nick Clifton ff3063f557 Update Spanish and Swedish translations 2002-07-24 09:34:08 +00:00
Alan Modra f345c7910f daily update 2002-07-24 00:00:04 +00:00
Nick Clifton 4455705d76 fix typo introduced in previous delta 2002-07-23 18:02:32 +00:00
Alan Modra c1fb5f8a73 Regenerate. 2002-07-23 12:37:37 +00:00
Alan Modra de2d743ed8 missed 'em from the last delta 2002-07-23 12:34:35 +00:00
Alan Modra f0fe0e16e1 * elf-hppa.h (elf_hppa_relocate_section): If relocatable, return
immediately.  Remove code handling relocatable linking.
	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
	* elf32-cris.c (cris_elf_relocate_section): Likewise.
	* elf32-fr30.c (elf32_frv_relocate_section): Likewise.
	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
	* elf32-v850.c (v850_elf_relocate_section): Likewise.
	* elf32-vax.c (elf_vax_relocate_section): Likewise.
	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
	* elf32-avr.c (elf_backend_rela_normal): Define.
	* elf32-cris.c: Likewise.
	* elf32-fr30.c: Likewise.
	* elf32-h8300.c: Likewise.
	* elf32-hppa.c: Likewise.
	* elf32-ip2k.c: Likewise.
	* elf32-sparc.c: Likewise.
	* elf32-v850.c: Likewise.
	* elf32-vax.c: Likewise.
	* elf64-hppa.c: Likewise.
	* elf64-sparc.c: Likewise.
	* elf32-fr30.c (elf32_frv_relocate_section): Edit comment.
	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
	* elf-m10200.c (USE_RELA): Don't define.
	* elf-m10300.c: Likewise.
	* elf32-i370.c: Likewise.
	* elf32-ip2k.c: Likewise.
	* elf32-m68k.c: Likewise.
	* elf32-mcore.c: Likewise.
	* elf32-ppc.c: Likewise.
	* elf32-s390.c: Likewise.
	* elf32-vax.c: Likewise.
	* elf64-ppc.c: Likewise.
	* elf64-s390.c: Likewise.
	* elf64-x86-64.c: Likewise.
	* elfxx-ia64.c: Likewise.
	* elf32-avr.c (USE_REL): Don't undef.
	* elf32-ip2k.c: Likewise.
2002-07-23 12:29:33 +00:00
Nick Clifton 5e8d754953 Add new bitfield 'want_p_paddr_set_to_zero'.
Set this field for HPUX IA64 port.
Test this field when setting p_paddr.
2002-07-23 11:15:06 +00:00
Nick Clifton 9e12c7db7f Swapped the order of the MeSsAgEs and CoPyRiGhT tags to make >=NW4.x NLM
loaders to show the Copyright string.
2002-07-23 10:25:34 +00:00
Nick Clifton 0461a601af update translations. 2002-07-23 09:58:05 +00:00
Alan Modra fad2542d0f * elflink.h (elf_link_input_bfd): Don't change internal symbols
when outputting relocs.
2002-07-23 04:38:17 +00:00
Alan Modra 6bef05105d daily update 2002-07-23 00:00:05 +00:00
Alan Modra c71d3cb363 daily update 2002-07-22 00:00:09 +00:00
Alan Modra 1e95bb00e0 daily update 2002-07-21 00:00:05 +00:00
Jason Thorpe c0647bfc65 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only insert
DT_PLTGOT into the dynamic section if there is a PLT.
2002-07-20 04:09:30 +00:00
Alan Modra a1f67b5860 daily update 2002-07-20 00:00:05 +00:00
Thiemo Seufer d01414a501 * elfxx-mips.c (_bfd_mips_elf_discard_info): New function, code from
elf32-mips.c.
	(_bfd_mips_elf_write_section): Likewise.
	* elfxx-mips.h (_bfd_mips_elf_discard_info): New prototype.
	(_bfd_mips_elf_write_section): Likewise.
	* elf32-mips.c (elf32_mips_discard_info): Move to elfxx-mips.c.
	(elf32_mips_write_section): Likewise.
	* elf64-mips.c (_bfd_mips_elf_ignore_discarded_relocs): Use it.
	(_bfd_mips_elf_write_section): Likewise.
2002-07-19 21:34:02 +00:00
Alan Modra 40c97fc6d1 * elfxx-ia64.c: (elfNN_ia64_modify_segment_map): Properly scan
PT_IA_64_UNWIND segments for a given section.
2002-07-19 01:10:28 +00:00
Alan Modra 9e8c6684f1 daily update 2002-07-19 00:00:05 +00:00
Alan Modra 4b3aa33818 daily update 2002-07-18 00:00:04 +00:00
H.J. Lu 58378160bb 2002-07-17 H.J. Lu <hjl@gnu.org>
* Makefile.am: Fix a typo.
	* Makefile.in: Regenerate.
2002-07-17 17:53:28 +00:00
Nick Clifton cf88bb9f09 Add IP2k support to BFD and LD 2002-07-17 14:15:52 +00:00
Richard Earnshaw 0dafd5f6a9 From: Ian Rickards <irickard@arm.com>
* dwarf2.c (concat_filename): If we can't establish the directory
just return the filename.
2002-07-17 12:17:18 +00:00
Alan Modra 28de3fce21 daily update 2002-07-17 00:00:05 +00:00
Alan Modra 36b08f12d1 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Correct order of memset args. 2002-07-16 13:35:58 +00:00
Alan Modra 58821868a5 * elflink.h: Formatting fixes, tidy prototypes.
(elf_link_assign_sym_version): Move common code out of loop.
2002-07-16 12:31:35 +00:00
Alan Modra c89583f83f * elflink.h (elf_link_input_bfd): Don't call reloc_emitter when
reloc section size is zero.  Correct reloc output location.
2002-07-16 09:00:42 +00:00
Alan Modra ba94744e3b * elf-hppa.h (elf_hppa_reloc_final_type): Use R_PARISC_PCREL16F as
the final type for the e_fsel selector when generating PA2.0W code.
	(elf_hppa_relocate_insn): Provide support for PA2.0W 16-bit format 1
	relocations.
2002-07-16 02:26:30 +00:00
Alan Modra 923ffb13fd daily update 2002-07-16 00:00:04 +00:00
H.J. Lu 96a94295f2 bfd/
2002-07-14  H.J. Lu <hjl@gnu.org>

	* elflink.h (elf_link_assign_sym_version): Hide the default
	definition if there is a hidden versioned definition.

ld/
2002-07-14  H.J. Lu <hjl@gnu.org>

	* ld.texinfo: Document a .symver takes precedence over a
	version script.
2002-07-15 02:23:26 +00:00
Alan Modra e4c35ea24e daily update 2002-07-15 00:00:05 +00:00
Alan Modra f971e29ff1 daily update 2002-07-14 00:00:05 +00:00
Alan Modra a9d9051eab daily update 2002-07-13 00:00:04 +00:00
Hans-Peter Nilsson 6849c52f0a * elf32-cris.c (cris_elf_relocate_section): Drop nonsensical
dynamic reference test in assertion when initializing GOT with
	static contents.  Just assert that there are either no dynamic
	sections, the symbol is defined in the regular objects or that the
	symbol is undef weak.  Tweak comment.
	(elf_cris_finish_dynamic_symbol): Emit .got reloc for a program
	only if the symbol isn't defined in the program and isn't undef
	weak.
	(elf_cris_adjust_dynamic_symbol): Simplify condition for getting
	rid of PLT entry: only do it if the symbol isn't defined in a DSO.
	When doing so, clear ELF_LINK_HASH_NEEDS_PLT.  Tweak comments.
	(elf_cris_discard_excess_program_dynamics): Don't consider
	ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs.
2002-07-12 15:54:57 +00:00
Alan Modra ce66b72326 daily update 2002-07-12 00:00:03 +00:00
Alan Modra 239e1f3afa * elf32-i386.c (elf_i386_relocate_section): Don't complain about
unresolved debugging relocs in dynamic applications.
	* elf32-s390.c (elf_s390_relocate_section): Likewise.
	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
	* elf64-s390.c (elf_s390_relocate_section): Likewise.
	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
2002-07-11 05:33:28 +00:00
Alan Modra 6cce648081 daily update 2002-07-11 00:00:05 +00:00
Alan Modra f5e87a1da3 * elf64-ppc.c (ONES): Define.
(ppc64_elf_howto_table): Use ONES here to avoid warnings.  Fill in
	missing src_mask fields.  Tweak R_PPC64_NONE, R_PPC64_COPY.  Fill
	in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32.
2002-07-10 11:46:19 +00:00