Commit Graph

2599 Commits

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

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

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

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

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

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

	* elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set
	DF_STATIC_TLS if shared.
gas/
	* config/tc-i386.c (tc_i386_fix_adjustable): Add x86-64 TLS relocs.
	Define them if not BFD_ASSEMBLER.
	(lex_got): Handle @tlsgd, @dtpoff and @tpoff in 64-bit mode, add
	@tlsld.
	(md_apply_fix3): No addend for BFD_RELOC_X86_64_TLSGD,
	BFD_RELOC_X86_64_TLSLD and BFD_RELOC_X86_64_GOTTPOFF.
	(tc_gen_reloc): Handle x86-64 TLS relocs.
include/
	* elf/x86-64.h: Add TLS relocs.
ld/testsuite/
	* lib/ld-lib.exp (run_ld_link_tests): Add.
	* ld-sh/sh64/sh64.exp (run_ld_link_tests, regexp_diff,
	file_contents): Remove.
	(sh64tests): Add 6th field to the tests array.
	* ld-i386/i386.exp (run_ld_link_tests): Remove.
	* ld-x86-64/x86-64.exp: New.
	* ld-x86-64/tlsbin.dd: New test.
	* ld-x86-64/tlsbinpic.s: New test.
	* ld-x86-64/tlsbin.rd: New test.
	* ld-x86-64/tlsbin.s: New test.
	* ld-x86-64/tlsbin.sd: New test.
	* ld-x86-64/tlsbin.td: New test.
	* ld-x86-64/tlslib.s: New test.
	* ld-x86-64/tlspic1.s: New test.
	* ld-x86-64/tlspic2.s: New test.
	* ld-x86-64/tlspic.dd: New test.
	* ld-x86-64/tlspic.rd: New test.
	* ld-x86-64/tlspic.sd: New test.
	* ld-x86-64/tlspic.td: New test.
2002-09-27 19:29:18 +00:00
Alan Modra 1b29edd56e daily update 2002-09-27 00:00:03 +00:00
Thiemo Seufer 1436646065 * elfxx-mips.c (_bfd_mips_elf_fake_sections): Don't emit unneeded
empty relocation sections.
2002-09-26 09:10:57 +00:00
Alan Modra 9f951329b6 * elf64-ppc.c (ppc_build_one_stub): Don't build glink stubs here.
(ppc64_elf_build_stubs): Build them here instead.
2002-09-26 05:19:38 +00:00
Alan Modra c8776d756a daily update 2002-09-26 00:00:05 +00:00
Alan Modra 0d945288dd daily update 2002-09-25 00:00:09 +00:00
Jakub Jelinek 6b3ac70943 * elf32-sparc.c (elf32_sparc_relocate_section): Put R_SPARC_RELATIVE
addend into r_addend, not *r_offset.
	(elf32_sparc_finish_dynamic_symbol): Likewise.
	* elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Clear xword at
	R_SPARC_RELATIVE's r_offset.
2002-09-24 15:54:22 +00:00
Nick Clifton a2ce5bdc13 Fix typo introduced with previous delta. 2002-09-24 07:11:16 +00:00
Alan Modra 30afc28bae daily update 2002-09-24 00:00:05 +00:00
Daniel Jacobowitz 10f469bf06 Add missing ChangeLog entry 2002-09-23 21:29:27 +00:00
Nick Clifton e2f6d27741 Update to correctly decode (non-standard DWARF2) out-of-order address sequences. 2002-09-23 16:13:52 +00:00
DJ Delorie f3961b2b3d * config.bfd: For DJGPP targets, match with any cpu and any machine. 2002-09-23 11:59:34 +00:00
Alan Modra ad34bc37c1 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Zero relocs
for discarded FDEs.  Remove redundant assignment.
	* elflink.h (elf_bfd_discard_info): Save edited relocs.
2002-09-23 10:52:03 +00:00
Alan Modra 59810fca36 daily update 2002-09-23 00:00:09 +00:00
H.J. Lu 82988bffc5 2002-09-22 H.J. Lu <hjl@gnu.org>
* elf64-alpha.c (elf64_alpha_merge_ind_symbols): Don't merge
	the relocation count between different .reloc sections.
2002-09-22 22:32:49 +00:00
Alan Modra e7edbbdb57 daily update 2002-09-22 00:00:05 +00:00
Alan Modra 5f81912811 * elf32-ppc.c (ppc_elf_relocate_section): Allow ".sbss.*" and
".sdata.*" for R_PPC_SDAREL16, ".sbss2*" and ".sdata2*" for
	R_PPC_EMB_SDA2REL.  Similarly for R_PPC_EMB_SDA21 and
	R_PPC_EMB_RELSDA.
2002-09-21 10:09:13 +00:00
Alan Modra 5ad8645cf8 * elfcode.h (elf_slurp_reloc_table_from_section): Make "symcount"
unsigned.  Move "symcount" assignment out of loop.
	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* po/SRC-POTFILES.in: Regnerate.
2002-09-21 09:59:19 +00:00
Alan Modra 608707ac84 daily update 2002-09-21 00:00:04 +00:00
Nick Clifton 759365550a (_bfd_dwarf2_find_nearest_line): If address length is zero, set it to 8 for
(non-standard) 64-bit DWARF2 formats (e.g. IRIX64).
2002-09-20 07:28:54 +00:00
H.J. Lu 2243deae67 2002-09-19 Jakub Jelinek <jakub@redhat.com>
* elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Clear .got word
	even if generating R_PPC_RELATIVE reloc.
	(ppc_elf_relocate_section): Make sure relocation is performed
	if skip == -2.  Clear memory at r_offset when creating dynamic
	relocation.
2002-09-20 05:54:41 +00:00
Alan Modra 055d38886f daily update 2002-09-20 00:00:04 +00:00
Jakub Jelinek 37e55690c4 bfd/
* reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE,
	BFD_RELOC_386_TLS_GOTIE): Add.
	* bfd-in2.h, libbfd.h: Rebuilt.
	* elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE
	and R_386_TLS_GOTIE.
	(elf_i386_reloc_type_lookup): Handle it.
	(struct elf_i386_link_hash_entry): Change tls_type type to unsigned
	char instead of enum, change GOT_* into defines.
	(GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define.
	(elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
	(elf_i386_check_relocs): Likewise.  Avoid crash if local symbol is
	accessed both as normal and TLS symbol.  Move R_386_TLS_LDM and
	R_386_PLT32 cases so that R_386_TLS_IE can fall through.
	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
	(elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
	(allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if
	tls_type is GOT_TLS_IE_BOTH.
	(elf_i386_size_dynamic_sections): Likewise.
	(elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
	(elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch
	all 4 GOT_TLS_* TLS types.
gas/
	* config/tc-i386.c (tc_i386_fix_adjustable): Handle
	BFD_RELOC_386_TLS_IE and BFD_RELOC_386_TLS_GOTIE.
	(BFD_RELOC_386_TLS_IE, BFD_RELOC_386_TLS_GOTIE): Define to 0
	if not defined.
	(lex_got): Handle @GOTNTPOFF and @INDNTPOFF.
	(md_apply_fix3, tc_gen_reloc): Handle BFD_RELOC_386_TLS_IE and
	BFD_RELOC_386_TLS_GOTIE.
gas/testsuite/
	* gas/i386/tlspic.s: Add tests.
	* gas/i386/tlspic.d: Regenerated.
	* gas/i386/tlsnopic.s: Add tests.
	* gas/i386/tlsnopic.d: Regenerated.
include/
	* elf/i386.h (R_386_TLS_TPOFF, R_386_TLS_IE, R_386_TLS_GOTIE):
	Define.
ld/testsuite/
	* ld-i386/i386.exp: New.
	* ld-i386/tlsbin.dd: New test.
	* ld-i386/tlsbinpic.s: New test.
	* ld-i386/tlsbin.rd: New test.
	* ld-i386/tlsbin.s: New test.
	* ld-i386/tlsbin.sd: New test.
	* ld-i386/tlsbin.td: New test.
	* ld-i386/tlslib.s: New test.
	* ld-i386/tlsnopic1.s: New test.
	* ld-i386/tlsnopic2.s: New test.
	* ld-i386/tlsnopic.dd: New test.
	* ld-i386/tlsnopic.rd: New test.
	* ld-i386/tlsnopic.sd: New test.
	* ld-i386/tlspic1.s: New test.
	* ld-i386/tlspic2.s: New test.
	* ld-i386/tlspic.dd: New test.
	* ld-i386/tlspic.rd: New test.
	* ld-i386/tlspic.sd: New test.
	* ld-i386/tlspic.td: New test.
2002-09-19 19:01:18 +00:00
Nick Clifton 8e67855b57 When examining weak symbols, follow indirect links. 2002-09-19 16:34:14 +00:00
Nick Clifton 0e327d91fa Fix error reading ECOFF information: 'ioptMax' refers to the actual *size*
of the optimization symtab, not the number of entries.
2002-09-19 15:38:36 +00:00
Nick Clifton 1c59ba3fd5 Update to correctly sign-extend 32-bit ECOFF null values (0xffffffff, -1) 2002-09-19 15:31:30 +00:00
Nick Clifton 9d7404b762 (elf32_arm_adjust_dynamic_symbol): Update ELF_LINK_HASH_NEEDS_PLT logic. 2002-09-19 14:59:51 +00:00
Jakub Jelinek ca1eb0ba30 Fix the ChangeLog entry for my last commit. 2002-09-19 11:38:22 +00:00
Alan Modra ca4855e6f1 daily update 2002-09-19 00:00:03 +00:00
Stan Cox 47293a4ce4 * elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3. 2002-09-18 17:28:37 +00:00
Daniel Jacobowitz 05a487dc8c * elfcode.h (elf_slurp_reloc_table_from_section): Check
correct relocation count.
2002-09-18 13:25:35 +00:00
Daniel Jacobowitz 1f70368c21 * bfd-in.h (bfd_get_dynamic_symcount): Define.
* bfd.c (struct _bfd): Add dynsymcount.
        * bfd-in2.h: Regenerated.
        * elf.c (_bfd_elf_canonicalize_dynamic_symtab): Set
        abfd->dynsymcount.
        * elfcode.h (elf_slurp_reloc_table_from_section): Check
        for overflow.
2002-09-18 02:39:43 +00:00
Stan Cox a902ee94b7 * elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3.
(mips_elf64_final_gp): Don't make up gp value.
	* elfn32-mips.c (mips_elf_final_gp): Likewise.
	* elfxx-mips.c (_bfd_mips_elf_final_link): Always create
	.MIPS.options/.options section.
2002-09-18 01:38:20 +00:00
Alan Modra 6a99f81305 daily update 2002-09-18 00:00:05 +00:00
David O'Brien 290062cce3 2002-09-17 David O'Brien <obrien@FreeBSD.org>
* elf32-i386-fbsd.c: Always label using the EI_OSABI method.
	It is benign for FreeBSD < 4.1.  Minor reformatting.
	* elf64-alpha-fbsd.c: Likewise.

Approved by:  Alan Modra <amodra@bigpond.net.au>
              Message-ID: <20020917182339.B14457@bubble.sa.bigpond.net.au>
2002-09-17 19:49:04 +00:00
Jakub Jelinek c5c1f40c26 * elf_i386_relocate_section (R_386_TLS_TPOFF32): Negate addend. 2002-09-17 09:52:41 +00:00
Alan Modra a6588c3004 * coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
* cpu-tic4x.c: Ditto.
2002-09-17 08:59:11 +00:00
Alan Modra 562ace6b79 * elf64-alpha.c (alpha_elf_size_info): Make static. 2002-09-17 08:48:54 +00:00
Alan Modra 5af6ead675 * coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
* cpu-tic4x.c: Ditto.
2002-09-17 08:33:13 +00:00
Thiemo Seufer cb9512fc2f * elf64-mips.c (define elf_backend_ignore_discarded_relocs): Remove
duplicate define.
2002-09-17 07:48:30 +00:00
David O'Brien 4ada7262d0 2002-09-16 Bruno Haible <bruno@clisp.org>
* elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included
	by a target variant implementation.
	* elf64-alpha.c: Likewise.
	* elf32-i386-fbsd.c: New file.
	* elf64-alpha-fbsd.c: New file.
	* targets.c: Support bfd_elf32_i386_freebsd_vec and
	bfd_elf64_alpha_freebsd_vec.
	* configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec,
	bfd_elf64_alpha_freebsd_vec.
	* Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo.
	(BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c.
	(BFD64_BACKENDS): Add elf64-alpha-fbsd.lo.
	(BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c.
	(elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies.
	* config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD
	specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate.

	* config/tc-i386.h (ELF_TARGET_FORMAT): New macro.
	(TARGET_FORMAT): Use ELF_TARGET_FORMAT instead of "elf32-i386".
	* config/tc-i386.c (i386_target_format): Likewise.
	* config/tc-alpha.h (ELF_TARGET_FORMAT): New macro.
	(TARGET_FORMAT): Use ELF_TARGET_FORMAT instead of "elf64-alpha".

	* emulparams/elf_i386_fbsd.sh: Set OUTPUT_FORMAT to
	elf32-i386-freebsd.
	* emulparams/elf64alpha_fbsd.sh: Set OUTPUT_FORMAT to
	elf64-alpha-freebsd.

Approved by:  Alan Modra <amodra@bigpond.net.au>
              Message-ID: <20020715021113.GJ30362@bubble.sa.bigpond.net.au>
2002-09-17 02:24:40 +00:00
Alan Modra f184d8167c daily update 2002-09-17 00:00:05 +00:00
Alan Modra e213f11339 daily update 2002-09-16 00:00:05 +00:00
Alan Modra af6efa2927 daily update 2002-09-15 00:00:04 +00:00
Alan Modra 94202ba54e daily update 2002-09-14 00:00:04 +00:00
Alan Modra 4cfa75e2b2 daily update 2002-09-13 00:00:05 +00:00
Jakub Jelinek 6a30718d0e * elf32-i386.c (dtpoff_base, tpoff): Don't crash if tls_segment is
NULL.
	(elf_i386_relocate_section): Return false after printing error about
	unresolvable relocation.
2002-09-12 14:01:20 +00:00
Nick Clifton 6cf9e9fe1d Fix handling of R_ARM_THM_PC11 2002-09-12 13:18:57 +00:00
Alan Modra b2e57ccbb6 daily update 2002-09-12 00:00:05 +00:00
Jeff Law 32ac2c9a75 * elf32-h8300.c (elf32_h8_relax_section): Fix typo. 2002-09-11 19:19:11 +00:00
Nick Clifton dc43ada5bf Check functionname_ptr and line_ptr before deciding we've found a symbol. 2002-09-11 14:30:53 +00:00
Nick Clifton e09f439535 Update translations 2002-09-11 13:52:17 +00:00
Alan Modra 470903d0b0 daily update 2002-09-11 00:00:04 +00:00
Nick Clifton b3018b5f70 Call new functions do_sections, do_sections64, depending on corefile (32-bit
or 64-bit).
2002-09-10 10:39:03 +00:00
Alan Modra 4a386c0bd2 daily update 2002-09-10 00:00:05 +00:00
Richard Henderson 2f21f25e2b * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M
and PCREL21F like PCREL21B.
2002-09-09 17:34:07 +00:00
Alan Modra 0b42ccd55f daily update 2002-09-09 00:00:08 +00:00
Alan Modra 78c87cb7e6 daily update 2002-09-08 00:00:04 +00:00
Alan Modra 041386aa43 daily update 2002-09-07 00:00:04 +00:00
Alan Modra dbbfa733b4 daily update 2002-09-06 00:00:04 +00:00
Alan Modra 8f8429869e daily update 2002-09-05 00:00:03 +00:00
Kevin Buettner 28b94e7ce2 * config.bfd (mips*-*-irix6*): Add new ABI vectors. Make n32 default
vector.
2002-09-04 23:10:59 +00:00
Alan Modra 5731205c28 daily update 2002-09-04 00:00:05 +00:00
Alan Modra b8bb248ad6 daily update 2002-09-03 00:00:04 +00:00
Nick Clifton 5cec694196 Use helpful names instead of cryptically overloaded bfd_reloc error codes.
Replace caching of external symbols with caching of internal symbols obtained
from calling bfd_elf_get_elf_syms().
Fixup problems with freeing cached allocated memory blocks.
2002-09-02 14:23:43 +00:00
Alan Modra 638524b534 * cpu-pj.c (scan_mach, compatible, arch_info_struct): Remove.
(bfd_pj_arch): Use bfd_default_scan.
	* cpu-v850.c (scan): Remove.
	(N): Use bfd_default_scan.
	* cpu-z8k.c (scan_mach): Remove.
	(arch_info_struct, bfd_z8k_arch): Reorganize so that the default is
	first.  Use bfd_default_scan.
2002-09-02 11:52:01 +00:00
Alan Modra 250d94fd4b * ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded
bfd_mach constants.
	(ecoff_get_magic): Likewise.
	* elf32-v850.c (v850_elf_object_p): Likewise.
	(v850_elf_final_write_processing): Likewise.
	* mipsbsd.c (MY(set_arch_mach)): Likewise.
	(MY(write_object_contents)): Likewise.
	* coff64-rs6000.c (xcoff64_write_object_contents): Likewise.
	* coffcode.h (coff_write_object_contents): Likewise.
	(coff_set_arch_mach_hook): Add comment describing machine == 0.
	Remove unnecessary "machine" assignments.
	(coff_write_relocs): Test for the absolute section sym by testing
	section and flags.

	* pdp11.c (NAME(aout,machine_type)): Like aoutx.h.
2002-09-02 11:47:42 +00:00
Alan Modra 3b77b1d509 * aoutx.h (NAME(aout,machine_type)): Recognize bfd_mach_i386_i386
and bfd_mach_i386_i386_intel_syntax.
2002-09-02 05:58:55 +00:00
Alan Modra 2fc2fd0100 daily update 2002-09-02 00:00:06 +00:00
Alan Modra c73618fa9c daily update 2002-09-01 00:00:07 +00:00
Alan Modra 6b9e33ce06 daily update 2002-08-31 00:00:08 +00:00
Dave Anglin e5b45b8395 * bfd-in.h (align_power): Cast constants to bfd_vma type.
* bfd-in2.h (align_power): Likewise.
2002-08-30 18:36:18 +00:00
Alan Modra 37f45cf898 * Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.

	* cpu-avr.c (compatible): Don't use hard-coded mach constants.
	* cpu-powerpc.c (powerpc_compatible): Likewise.
	* cpu-rs6000.c (rs6000_compatible): Likewise.
2002-08-30 08:11:44 +00:00
Alan Modra 80977a89c9 daily update 2002-08-30 00:00:04 +00:00
Dave Anglin 51240b8d93 * chew.c (paramstuff, outputdots, perform, bang and usage): Remove
void from function definitions.
2002-08-29 14:37:19 +00:00
Nick Clifton 86aba9dbfa Add linker relaxation to v850 toolchain 2002-08-29 06:49:35 +00:00
Alan Modra 6ba3d7ed59 daily update 2002-08-29 00:00:05 +00:00
Nick Clifton 026df7c5e6 Add TMS320C4x support 2002-08-28 10:38:51 +00:00
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
Alan Modra 2f6d9989b7 * elf64-ppc.c (ppc64_elf_get_symbol_info): Delete.
(ppc64_elf_set_private_flags): Delete.
	(ppc64_elf_section_from_shdr): Delete.
	(ppc64_elf_merge_private_bfd_data): Remove flag checking/merging code.
	(ppc64_elf_fake_sections): Delete.
	(bfd_elf64_bfd_set_private_flags): Don't define.
	(bfd_elf64_get_symbol_info): Likewise.
	(elf_backend_section_from_shdr): Likewise.
	(elf_backend_fake_sections): Likewise.
2002-07-10 10:28:44 +00:00
Alan Modra 0594c12d8e * elf.c: (assign_section_numbers) Set sh_entsize for .stab only
when not already set.
	* elf64-sparc.c: (sparc64_elf_fake_sections): New function.
	(elf_backend_fake_sections): Define.
2002-07-10 04:59:42 +00:00
Alan Modra e59b4d067a daily update 2002-07-10 00:00:04 +00:00
Alan Modra 699cb9b870 * merge.c (_bfd_merge_section): Remove redundant output_section check.
Formatting.
	(_bfd_merge_sections): Don't set SEC_EXCLUDE on unused sections.
2002-07-09 23:47:22 +00:00
Hans-Peter Nilsson 0a4787a081 * elf32-cris.c (cris_elf_relocate_section): Move sanity-check for
NULL sym_hashes to just before use.
	<case R_CRIS_32_GOTREL>: In test for local symbol, accept also
	symbol with non-default visibility.
	<case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto.
	<case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
	Ditto.
	(cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for
	symbol with non-default visibility.
	(cris_elf_check_relocs): At tests for local symbol before
	increasing h->plt.refcount, also check for non-default
	visibility.  Ditto when checking for local symbol to eliminate
	pc-relative runtime relocs.
2002-07-09 03:49:27 +00:00
Alan Modra 2b8f7433db daily update 2002-07-09 00:00:06 +00:00
Alan Modra aecc8f8acd * elf.c: Formatting.
(IS_SOLARIS_PT_INTERP): Add p_paddr and p_memsz checks.
	(INCLUDE_SECTION_IN_SEGMENT): Remove IS_SOLARIS_PT_INTERP.
	(copy_private_bfd_data): Set p_vaddr on broken Solaris PT_INTERP
	segments.
2002-07-08 08:13:37 +00:00
Mark Mitchell e9168c1e2b * cofflink.c (_bfd_coff_final_link): On PE COFF systems, take into
account the impact of relocation count overflow when computing
	section offsets.
	* coffcode.h (coff_write_relocs): Use obj_pe when deciding whether
	or not to apply the PE COFF reloc overflow handling.  Fix a
	fencepost error in deciding whether or not to use that technique.
2002-07-08 05:34:08 +00:00
Alan Modra d1e122bd6a daily update 2002-07-08 00:00:06 +00:00
Alan Modra 6cdc0ccc12 * elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx,
change type of locsyms.
	(bfd_elf_get_elf_syms): Declare.
	* elf.c (bfd_elf_get_elf_syms): New function.
	(group_signature): Use bfd_elf_get_elf_syms.
	(bfd_section_from_r_symndx): Likewise.
	* elfcode.h (elf_slurp_symbol_table): Likewise.
	* elflink.h (elf_link_is_defined_archive_symbol): Likewise.
	(elf_link_add_object_symbols): Likewise.  Reorganise to increase
	locality of various data structures.  Properly free internal relocs.
	(elf_bfd_final_link): Properly free internal relocs.
	(elf_link_check_versioned_symbol): Use bfd_elf_get_elf_syms.
	(elf_link_input_bfd): Likewise.
	(elf_gc_mark): Likewise.  Properly free internal relocs.
	(elf_gc_sweep): Properly free internal relocs.
	(elf_reloc_symbol_deleted_p): No need to swap syms in.
	(elf_bfd_discard_info): Use bfd_elf_get_elf_syms.  Properly free
	internal relocs.
	* elf-m10200.c (mn10200_elf_relax_section): Use bfd_elf_get_elf_syms.
	Properly free possibly cached info.
	(mn10200_elf_relax_delete_bytes): Remove symbol swapping code.
	(mn10200_elf_symbol_address_p): Pass in internal syms.  Remove
	symbol swapping code.
	(mn10200_elf_get_relocated_section_contents): Use bfd_elf_get_elf_syms.
	Properly free possibly cached info.
	* elf-m10300.c (mn10300_elf_relax_section): As above for elf-m10200.c.
	(mn10300_elf_relax_delete_bytes): Likewise.
	(mn10300_elf_symbol_address_p): Likewise.
	(mn10300_elf_get_relocated_section_contents): Likewise.
	* elf32-h8300.c (elf32_h8_relax_section): As above for elf-m10200.c.
	(elf32_h8_relax_delete_bytes): Likewise.
	(elf32_h8_symbol_address_p): Likewise.
	(elf32_h8_get_relocated_section_contents): Likewise.
	* elf32-m32r.c (m32r_elf_relax_section): As above for elf-m10200.c.
	(m32r_elf_relax_delete_bytes): Likewise.
	(m32r_elf_get_relocated_section_contents): Likewise.
	* elf32-sh.c (sh_elf_reloc_loop): Free section contents using
	elf_section_data to determine whether cached.
	(sh_elf_relax_section): As above for elf-m10200.c.
	(sh_elf_relax_delete_bytes): Likewise.
	(sh_elf_get_relocated_section_contents): Likewise.
	* elf32-xstormy16.c (xstormy16_elf_relax_section): As above.
	* elf64-alpha.c (elf64_alpha_relax_section): As above.  Also delay
	reading of local syms.
	* elf64-mmix.c (mmix_elf_relax_section): Likewise.
	* elf64-sh64.c (sh_elf64_get_relocated_section_contents): As above.
	* elfxx-ia64.c (elfNN_ia64_relax_section): As above.
	* elfxx-mips.c (_bfd_mips_elf_check_relocs): Properly free internal
	relocs.
	* elf32-arm.h (bfd_elf32_arm_process_before_allocation): Properly
	free internal relocs and section contents.  Don't read symbols.
	* elf32-hppa.c (get_local_syms): Use bfd_elf_get_elf_syms.
	(elf32_hppa_size_stubs): Don't free local syms.
	* elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Delay
	reading of local syms.  Use bfd_elf_get_elf_syms.  Properly free
	possibly cached info.
	* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
	* elf64-hppa.c (elf64_hppa_check_relocs): Use bfd_elf_get_elf_syms.
	* elf64-ppc.c (struct ppc_link_hash_table): Delete bfd_count and
	all_local_syms.
	(get_local_syms): Delete function.
	(edit_opd): Use bfd_elf_get_elf_syms.  Free on error exit.  Cache
	on exit.
	(ppc64_elf_size_stubs): Use bfd_elf_get_elf_syms.  Free/cache on exit.
2002-07-07 09:10:41 +00:00
Alan Modra fcb95fb109 daily update 2002-07-07 00:00:06 +00:00
Alan Modra f558386d13 daily update 2002-07-06 00:00:05 +00:00
Jim Wilson b3212001ca This makes gprof work with non-standard text sections.
* syms.c (decode_section_type): New.
	(bfd_decode_symclass): Call decode_section_type.
2002-07-05 20:29:38 +00:00
Alan Modra 6d0d2cd21e daily update 2002-07-05 00:00:05 +00:00
Jakub Jelinek 894bb1ee03 * merge.c (_bfd_merged_section_offset): Avoid accessing byte before
section content start.
	Reported by Michael Schumacher <mike@hightec-rt.com>.
2002-07-04 15:57:24 +00:00
Alan Modra bc0ba53708 * section.c (_bfd_strip_section_from_output): Remove unnecessary
link order code.  Don't actually remove the output section here;
	Just set a flag for the linker to do so.
	* elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed
	sections when setting up output section dynsyms.
2002-07-04 14:40:25 +00:00
Alan Modra 797fc050a0 * elflink.h (elf_link_add_object_symbols): Revert 1999-09-02 hpux
fudge.
	* elf.c (bfd_section_from_shdr): Work around broken hpux shared
	libs here instead.
2002-07-04 13:26:30 +00:00
Alan Modra d82fc7fa84 daily update 2002-07-04 00:00:04 +00:00
Alan Modra a2f65c535c daily update 2002-07-03 00:00:05 +00:00
Martin Schwidefsky 99881371eb 2002-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
* elf64-s390.c (create_got_section): Set .got section alignment to
	8 bytes.
	(elf_s390_check_relocs): Set .rela.dyn section alignment to 8 bytes.
2002-07-02 09:05:51 +00:00
Alan Modra 47d9a59134 * elf.c (_bfd_elf_reloc_type_class): Fix comment grammar. 2002-07-02 04:31:22 +00:00
Alan Modra 319fb920c5 daily update 2002-07-02 00:00:05 +00:00
Jason Thorpe 179d3252e3 include/elf:
2002-07-01  Matt Thomas  <matt@3am-software.com>

* Rename EF_* to EF_VAX_*.

bfd:

2002-07-01  Matt Thomas  <matt@3am-software.com>

* elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_*
to EF_VAX_*.

binutils:

2002-07-01  Matt Thomas  <matt@3am-software.com>

* readelf.c: Include "elf/vax.h".
(guess_is_rela): Move EM_VAX from unknown to RELA case.
(dump_relocations): Handle VAX relocations.
(get_machine_flags): Handle VAX machine flags.
2002-07-01 16:43:38 +00:00
Thiemo Seufer 4a14403c9f * elfxx-mips.c (ABI_64_P): Fix comment.
(MIPS_ELF_OPTIONS_SECTION_NAME,MIPS_ELF_STUB_SECTION_NAME): Use the
	new section names for N64 ABI.
	(mips_elf_output_extsym): No special _gp_disp handling for NewABI.
	(mips_elf_calculate_relocation): Code formatting.
	(mips_elf_create_dynamic_relocation): Likewise.
	(_bfd_mips_elf_fake_sections): IRIX6 needs this hack, too.
	(_bfd_mips_elf_size_dynamic_sections): Handle GOT_PAGE for any NewABI.
	(_bfd_mips_elf_relocate_section): No special handling for R_MIPS_64
	in any NewABI.
	(_bfd_mips_elf_finish_dynamic_symbol): No special _gp_disp handling
	for NewABI.
	(_bfd_mips_elf_modify_segment_map): Handle any N64 ABI.
	(_bfd_mips_elf_gc_sweep_hook): NewABI GOT relocs should be handled
	here, too.
2002-07-01 10:01:01 +00:00
Andreas Schwab 607c0e0944 * elf64-x86-64.c (elf64_x86_64_relocate_section): Only convert
R_X86_64_64 to R_X86_64_RELATIVE.
2002-07-01 08:47:13 +00:00
Alan Modra ba26fd966c * vaxbsd.c: New BFD backend for VAX BSD and Ultrix.
* Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend.
	Run "make dep-am".
	* config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of
	host_aout_vec.
	* configure.in (vaxbsd_vec): Add.
	* targets.c (vaxbsd_vec): Add.
	* Makefile.in: Rebuild.
	* configure: Rebuild.
	* po/SRC-POTFILES.in: Rebuild.
2002-07-01 08:31:53 +00:00
Alan Modra 1e2f5b6e6b * elflink.h (elf_gc_mark): Pass in the section whose relocs we are
examining to gc_mark_hook, rather than the bfd.
	(elf_gc_sections): Adjust.
	* elf-bfd.h (struct elf_backend_data <gc_mark_hook>): Likewise.
	* elf-m10300.c (mn10300_elf_gc_mark_hook): Likewise.
	* elf32-arm.h (elf32_arm_gc_mark_hook): Likewise.
	* elf32-avr.c (elf32_avr_gc_mark_hook): Likewise.
	* elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
	* elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise.
	* elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise.
	* elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
	* elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
	* elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
	* elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
	* elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
	* elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise.
	* elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
	* elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
	* elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
	* elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise.
	* elf32-v850.c (v850_elf_gc_mark_hook): Likewise.
	* elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
	* elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise.
	* elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
	* elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
	* elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
	* elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
	* elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
	* elfxx-mips.h (_bfd_mips_elf_gc_mark_hook): Likewise.
	* elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
	* elf32-frv.c (elf32_frv_gc_mark_hook): Likewise.  Also remove
	redundant local sym tests.
	* elf64-ppc.c (struct ppc_link_hash_entry): Add is_entry.
	(link_hash_newfunc): Init is_entry.
	(ppc64_elf_copy_indirect_symbol): Copy is_entry.
	(ppc64_elf_link_hash_table_create): Init all_local_syms.
	(create_linkage_sections): Use bfd_make_section_anyway rather than
	bfd_make_section.
	(ppc64_elf_mark_entry_syms): New function.
	(ppc64_elf_check_relocs): Don't bother testing elf_bad_symtab.  Set
	up opd entry to function section map.
	(ppc64_elf_gc_mark_hook): Special case opd section relocs, and
	relocs that reference the opd section.
	(edit_opd): New function.
	(ppc64_elf_size_dynamic_sections): Call get_local_syms and edit_opd.
	(ppc64_elf_setup_section_lists): Don't calculate htab->bfd_count here.
	(get_local_syms): Do so here.  Exit if we already have local syms.
	Remove bogus comment imported from elf32-hppa.c.  Don't attempt to
	read local syms on non-ELF input.
	(ppc64_elf_size_stubs): Call _bfd_elf64_link_read_relocs rather
	than duplicating it's function here.  Adjust free of internal
	relocs to suit.
	(ppc64_elf_relocate_section): Adjust local syms in opd section.
	* elf64-ppc.h (ppc64_elf_mark_entry_syms): Declare.
	* elf32-hppa.c (elf32_hppa_size_stubs): Call
	_bfd_elf32_link_read_relocs rather than duplicating it's function
	here.  Adjust free of internal relocs to suit.
2002-07-01 08:06:47 +00:00
Andreas Jaeger 1b71fb54e3 * elf64-x86-64.c (elf64_x86_64_check_relocs): Certain relocations
are not allowed in shared libs code, enforce -fPIC.
2002-07-01 06:42:27 +00:00
Alan Modra 8c8c7ed1df daily update 2002-07-01 00:00:06 +00:00
Alan Modra b16575a2ea daily update 2002-06-30 00:00:05 +00:00
Hans-Peter Nilsson 8d28f606dc * mmo.c (mmo_write_loc_chunk): Don't eliminate leading and
trailing zero-sequences when there's previous left-over data.
2002-06-29 21:45:09 +00:00
Alan Modra 42c15cc220 daily update 2002-06-29 00:00:06 +00:00
Alan Modra 9e2dd5dcde daily update 2002-06-28 00:01:04 +00:00
Jeff Law 5ac81c745e * elf64-hppa.c (elf64_hppa_reloc_type_class): New function.
(elf64_hppa_finish_dynamic_sections): Check other_rel_sec, dlt_rel_sec
        and opd_rel_sec in order for starting rela section.  Check _raw_size.
        (elf_backend_reloc_type_class): Define.
2002-06-27 22:57:02 +00:00
Alan Modra 91a4d5692a 2002-06-27 Kevin Buettner <kevinb@redhat.com>
* dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit
	DWARF2 formats.
2002-06-27 11:51:42 +00:00
Alan Modra feee612b24 * cpu-powerpc.c: Comment on ordering of arch_info.
* elf32-ppc.c (ppc_elf_object_p): New function.
	(elf_backend_object_p): Define.
	* elf64-ppc.c (ppc64_elf_object_p): New function.
	(elf_backend_object_p): Define.
2002-06-27 11:29:15 +00:00