Commit Graph

3519 Commits

Author SHA1 Message Date
Ian Lance Taylor
3baa24adb1 * config.bfd: Change #if 0 around uses of host_aout_vec to #if
HAVE_host_aout_vec.
1997-05-09 21:40:42 +00:00
Michael Meissner
aba5cc8b9d Do not abort if coff has no debug information for bfd_find_nearest_line 1997-05-06 13:51:01 +00:00
Ian Lance Taylor
6a2922d501 * config.bfd: cope with '*-*-linux-gnuaout' targets. 1997-05-05 22:20:46 +00:00
Ian Lance Taylor
9f4b686cb5 * targmatch.sed: Add explicit \n characters to work around bug in
HP/UX 10.20 sed program.
1997-05-01 15:32:09 +00:00
Ian Lance Taylor
412dfaedc8 * elf.c (copy_private_bfd_data): Cast csecs to avoid sign
extension problems.
1997-04-30 16:28:53 +00:00
Ian Lance Taylor
3c8caeb720 revert Alpha/OpenBSD patches 1997-04-30 16:12:04 +00:00
Ian Lance Taylor
f4236094a0 Mon Apr 21 11:21:31 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf32-m68k.c: Follow the last changes in elf32-i386.c:
	(struct elf_m68k_pcrel_relocs_copied, struct
	elf_m68k_link_hash_entry, struct elf_m68k_link_hash_table,
	elf_m68k_link_hash_traverse, elf_m68k_hash_table,
	elf_m68k_link_hash_newfunc, elf_m68k_link_hash_table_create,
	elf_m68k_discard_copies, bfd_elf32_bfd_link_hash_table_create):
	New definitions.
	(elf_m68k_check_relocs): If linking with -Bsymbolic, don't copy
	PC relative relocs for a global symbol defined in a regular
	object, and count the number of PC relative relocs copied for any
	global symbol.
	(elf_m68k_size_dynamic_sections): If linking with -Bsymbolic,
	traverse with elf_m68k_discard_copies.
1997-04-21 15:22:42 +00:00
Ian Lance Taylor
9d71be7231 * elf32-i386.c (elf_i386_check_relocs): Only count PC relative
relocs.  From Jamie Lokier <jamie@rebellion.co.uk>.
1997-04-20 02:57:25 +00:00
Ian Lance Taylor
752eaefc85 * coffcode.h (coff_compute_section_file_positions): Force the
potential last byte in the file to be written out when
	COFF_IMAGE_WITH_PE.
1997-04-20 02:50:49 +00:00
Ian Lance Taylor
896d548cb1 * coff-alpha.c (bsd_alpha_howto_table): Cloned from alpha_howto_table
but with an added LITERALSLEAZY entry.
	(alpha_adjust_reloc_in): Add handling of LITERALSLEAZY relocs.  Use
	info on the howto_table gotten from the ecoff_backend data.
	(alpha_ecoff_get_relocated_section_contents): Ditto.
	(alpha_bfd_reloc_type_lookup): Ditto.
	(alpha_relocate_section): Ditto.  Also remove an assertion
	causing failures on *BSD/alpha systems.
	(alpha_ecoff_backend_data): Addition of fields to handle different
	howto tables as well as a has_literalseazy flag.
	(bsd_alpha_ecoff_backend_data): New backend data structure for *BSD.
	(bsd_ecoffalpha_little_vec): Define.
	* coff-mips.c (MIPS_HOWTO_COUNT): Removed, it's unused.
	(mips_adjust_reloc_in): Use new ecoff_backend data to get at the howto
	table.
	(mips_bfd_reloc_type_lookup): Ditto.
	(mips_relocate_section): Ditto.
	(mips_ecoff_backend_data): Addition of fields to handle different
	howto tables as well as a has_literalseazy flag.
	* config.bfd: (alpha-*-openbsd*): New target.
	* configure.in (alpha*-*-openbsd*): New target.
	(bsd_ecoffalpha_little_vec): New vector for *BSD/Alpha ECOFF.
	* ecoff.c (_bfd_ecoff_set_arch_mach_hook): Handle new magic.
	(ecoff_get_magic): Ditto.
	* libecoff.h (ecoff_backend_data): Addition of fields to handle
	different howto tables as well as a has_literalseazy flag.
	* reloc.c: BFD_RELOC_ALPHA_LITERALSLEAZY): New reloc.
	* targets.c (bsd_ecoffalpha_little_vec): Declare.
	(bfd_target_vector): Include the bsd_ecoffalpha_little_vec target.
	* configure, bfd-in2.h, libbfd.h: Rebuild.
1997-04-18 15:50:19 +00:00
Ian Lance Taylor
a041278519 x 1997-04-17 18:06:32 +00:00
Ian Lance Taylor
e066f244d5 Thu Apr 17 13:46:56 1997 Per Fogelstrom <pefo@openbsd.org>
* configure.host (mips*-*-openbsd*): New target.
1997-04-17 17:51:22 +00:00
Ian Lance Taylor
f02004e95a * elflink.h (elf_link_add_object_symbols): Only subtract the
section VMA from the symbol value if this is a fully linked file.
1997-04-17 16:29:43 +00:00
Ian Lance Taylor
6e2183b1a7 * elf32-i386.c (struct elf_i386_pcrel_relocs_copied): Define.
(struct elf_i386_link_hash_entry): Define.
	(struct elf_i386_link_hash_table): Define.
	(elf_i386_link_hash_traverse): Define.
	(elf_i386_hash_table): Define.
	(elf_i386_link_hash_newfunc): New static function.
	(elf_i386_link_hash_table_create): New static function.
	(elf_i386_check_relocs): If linking with -Bsymbolic, don't copy
	PC relative relocs for a global symbol defined in a regular
	object, and count the number of PC relative relocs copied for any
	global symbol.
	(elf_i386_size_dynamic_sections): If linking with -Bsymbolic,
	traverse with elf_i386_discard_copies.
	(elf_i386_discard_copies): New static function.
	(bfd_elf32_bfd_link_hash_table_create): Define.
1997-04-17 16:13:36 +00:00
Ian Lance Taylor
81f01dd538 From Gordon W. Ross <gwr@mc.com>:
* aoutf1.h (MY_entry_is_text_address): Define if not defined.
	(sunos4_aout_backend): Use MY_entry_is_text_address.
1997-04-17 15:12:09 +00:00
Ian Lance Taylor
a895901a15 From Gordon W. Ross <gwr@mc.com>:
* netbsd.h (N_SHARED_LIB): Define.
	(SEGMENT_SIZE): Don't define.
	* m68knetbsd.c (SEGMENT_SIZE): Don't define (revert change of
	April 11).
	* sparcnetbsd.c (TARGET_PAGE_SIZE): Define as 0x2000.
	(SEGMENT_SIZE): Don't define.
1997-04-16 22:02:56 +00:00
Martin Hunt
ebec2a6a21 Wed Apr 16 12:43:32 1997 Martin Hunt <hunt@cygnus.com>
* elf32-d30v.c (elf_d30v_howto_table): Changed size of
	R_D30V_32_NORMAL to 2 (4 bytes).
1997-04-16 19:50:24 +00:00
Ian Lance Taylor
10888f106a * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Set .rela.bss size
to sizeof Rela structure, not sizeof Rel structure.  From Gary
	Thomas <g.thomas@opengroup.org>.
1997-04-16 18:03:42 +00:00
Ian Lance Taylor
55aba3335b * aout-target.h (MY(callback)): If entry_is_text_address, adjust
whenever entry is larger than text address, but only by whole
	pages.  From Gordon W. Ross <gwr@mc.com>.
1997-04-15 19:47:45 +00:00
Ian Lance Taylor
9b31e6f533 * Makefile.in (install): Depend upon installdirs. Use
mkinstalldirs to build $(oldincludedir).
	(installdirs): New target.
1997-04-15 16:38:24 +00:00
Ian Lance Taylor
a0c807260c * elflink.h (elf_link_add_object_symbols): Don't call check_relocs
if this is a debugging section which we are stripping.
1997-04-15 15:54:24 +00:00
Ian Lance Taylor
e5d7e3df0d From Thomas Graichen <graichen@rzpd.de>:
* Makefile.in: Always use $(SHELL) when running move-if-change.
	* configure.in: Use ${CONFIG_SHELL} when running $ac_config_sub.
	* configure: Rebuild.
1997-04-14 15:47:24 +00:00
Ian Lance Taylor
3bc3351e05 * elfcode.h (elf_slurp_symbol_table): Only subtract the section
VMA if this is an executable file or a shared object.
1997-04-11 22:14:21 +00:00
Ian Lance Taylor
faa0b8db32 * targets.c (netbsd_core_vec): Declare. From Gordon W. Ross
<gwr@mc.com>.

	* libaout.h (struct aout_backend_data): Add entry_is_text_address
	field.
	* aout-target.h (SEGMENT_SIZE): Define to TARGET_PAGE_SIZE at the
	start of the file.  Remove uses later on which switch using
	ifdef.
	(MY(callback)): Handle entry_is_text_address.
	(MY_entry_is_text_address): Define if not defined.
	(MY(backend_data)): Initialize new field.
	* aoutf1.h (sunos4_aout_backend): Likewise.
	* i386aout.c (MY(backend_data)): Likewise.
	* i386mach3.c (MY(backend_data)): Likewise.
	* mipsbsd.c (MY(backend_data)): Likewise.
	* sparclynx.c (sparclynx_aout_backend): Likewise.
	* netbsd.h (SEGMENT_SIZE): Define if not defined.
	(MY_entry_is_text_address): Define.
	* m68knetbsd.c (SEGMENT_SIZE): Define as 0x20000
1997-04-11 20:27:40 +00:00
Ian Lance Taylor
4b8c8bb988 * xcofflink.c (bfd_xcoff_import_symbol): Handle importing a symbol
whose name starts with `.'.
PR 12061.
1997-04-11 19:44:15 +00:00
Ian Lance Taylor
3b1b0308a4 * config.bfd: (i[3456]86-*-openbsd*, m68*-*-openbsd*,
mips*el*-*-openbsd*, mips*-*-openbsd*, ns32k-*-openbsd*,
	powerpc-*-*bsd*, sparc-*-openbsd*): New targets.
	* configure.in (i[3456]86-*-openbsd*, mips*-*-openbsd*,
	m68*-*-openbsd*, ns32k-*-openbsd*, powerpc-*-*bsd*,
	sparc-*-openbsd*): New targets.
	* configure: Rebuild.
1997-04-11 15:59:02 +00:00
Ian Lance Taylor
57a3027b38 Tue Apr 8 18:09:29 1997 Jamie Lokier <jamie@rebellion.co.uk>
* stabs.c (struct stab_section_info): New field
	`cumulative_skips'.
	(_bfd_link_section_stabs): Fill the above array.
	(_bfd_stab_section_offset): Use `cumulative_skips' to
	speed up offset calculation.
1997-04-08 22:10:27 +00:00
Jeff Law
6944401473 * elf32-mn10300.c (mn10300_elf_relax_section): Don't forget the
addend for non pc-relative relocations.
Bug exposed by testing relaxing linker.
1997-04-08 13:52:51 +00:00
Jeff Law
a01362cc63 * elf-m10300.c (bfd_elf32_mn10300_reloc): Remove prototype
for non-existent function.
Just something I noticed.

        * elf-m10300.c (mn10300_elf_relax_section): New function.
        (mn10300_elf_relax_delete_bytes): Likewise.
        (mn10300_elf_symbol_address_p): Likewise.
        (mn10300_elf_get_relocated_section_contents): Likewise.
        (bfd_elf32_bfd_relax_section): Define.
        (bfd_elf32_bfd_get_relocated_section_contents): Likewise.
Basic relaxing linker.
1997-04-08 06:08:29 +00:00
Ian Lance Taylor
418d5b058a * configure.host: Set SHLIB_LIBS.
* configure.in: Substitute SHLIB_LIBS.
	* configure: Rebuild.
	* Makefile.in (SHLIB_LIBS): New variable.
	($(SHLIB)): Use $(SHLIB_LIBS).
1997-04-07 21:00:31 +00:00
Ian Lance Taylor
61e51cd730 * Makefile.in (distclean): Don't remove *.info files. 1997-04-07 19:24:32 +00:00
Michael Snyder
d9654a710e Mon Apr 7 10:53:52 1997 Michael Snyder <msnyder@cleaver.cygnus.com>
* bfd-in.h bfd-in2.h: add bfd_section_lma macro to correspond
        with bfd_section_vma.
1997-04-07 17:56:18 +00:00
Ian Lance Taylor
b872076e96 * configure.in: Update file names for bfd_elf32_mn10[23]00_vec.
Correct CPU file names for mn10[23]00.
	* configure: Rebuild.
1997-04-05 00:52:15 +00:00
Ian Lance Taylor
ac66474758 * bfd.c (bfd_record_phdr): Cast count to size_t before
subtraction.
1997-04-04 20:59:36 +00:00
Ian Lance Taylor
44fe6ab1e5 * coff-ppc.c (dump_toc): Add cast to avoid warning from SunOS cc.
* coff-rs6000.c (xcoff_read_ar_hdr): Likewise.
	(xcoff_write_archive_contents): LIkewise.
	* elf32-mips.c (_bfd_mips_elf_set_section_contents): Likewise.
	(mips_elf_create_procedure_table): Likewise.
	* peicode.h (pe_print_idata): Likewise.
	(pe_print_edata, pe_print_pdata, pe_print_reloc): Likewise.
	* xcofflink.c (xcoff_get_section_contents): Likewise.
	(_bfd_xcoff_canonicalize_dynamic_symtab): Likewise.
	(xcoff_link_add_symbols): Likewise.
	(xcoff_link_add_symbols): Likewise.
1997-04-04 19:35:32 +00:00
Ian Lance Taylor
0cea98f0c1 * ppcboot.c (ppcboot_set_arch_mach): Make static.
(ppcboot_bfd_print_private_bfd_data): Likewise.
1997-04-04 19:08:42 +00:00
Ian Lance Taylor
5641f23e6c * elf32-mips.c (elf_mips_ctor64_howto): Set complain_on_overflow
to complain_overflow_signed.
1997-04-04 16:38:02 +00:00
Ian Lance Taylor
58b4a8f344 * VERSION: Set to 2.8.1.
* Branched binutils 2.8.
1997-04-03 18:16:38 +00:00
Ian Lance Taylor
d0c45fcb75 tweak last patch 1997-04-03 16:27:28 +00:00
Ian Lance Taylor
ba254dc504 Revert last patch, and:
* elflink.h (elf_link_add_object_symbols): Let a common symbol
	override an uninitialized symbol from a shared library with a
	smaller size.
1997-04-02 22:47:29 +00:00
Ian Lance Taylor
f74e2365dd * elflink.h (elf_link_add_object_symbols): When there is a size
change, use the larger size.  From H.J. Lu <hjl@gnu.ai.mit.edu>.
1997-04-02 22:17:35 +00:00
Michael Meissner
acba322ed2 Undo part of 3/26 change and always create got section 1997-04-02 21:22:19 +00:00
Ian Lance Taylor
7a68d1f726 * elf-m10200.c: Rename from elf32-mn10200.c.
* elf-m10300.c: Rename from elf32-mn10300.c.
	* cpu-m10200.c: Rename from cpu-mn10200.c
	* cpu-m10300.c: Rename from cpu-mn10300.c
	* Makefile.in: Update accordingly.
1997-04-02 21:09:29 +00:00
Ian Lance Taylor
3072dce9e5 * elf32-mips.c (elf_mips_ctor64_howto): New static variable.
(elf_mips_isa): Move to earlier in file.
	(mips_reloc_map): Remove BFD_RELOC_CTOR entry.
	(bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_CTOR
	specially.
1997-04-02 16:57:43 +00:00
Ian Lance Taylor
ab66cc8d3d * elf32-mips.c (mips16_jump_reloc): Print a warning rather than
calling abort.
PR 11972.
1997-04-02 15:49:47 +00:00
Ian Lance Taylor
0f8545578e Tue Apr 1 16:18:05 1997 Klaus Kaempf <kkaempf@progis.de>
* configure.com: New file.
	* config.h-vms: Remove file.
	* makefile.vms: Update for new configure scheme.
1997-04-01 21:19:48 +00:00
Ian Lance Taylor
8faaff9e41 Mon Mar 31 23:28:39 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
* coffcode.h (coff_mkobject_hook): Declare if not a macro.
1997-04-01 04:30:38 +00:00
Ian Lance Taylor
3418d8c43d x 1997-03-31 21:35:19 +00:00
Ian Lance Taylor
5cfc99877f Mon Mar 31 16:29:50 1997 Joel Sherrill <joel@oarcorp.com>
* bfd/config.bfd (hppa*-*-rtems*): New target, like hppa-*-*elf*.
1997-03-31 21:30:49 +00:00
Ian Lance Taylor
34c6830141 * coff-a29k.c (coff_a29k_relocate_section): Don't use symndx as a
symbol index for a R_IHCONST reloc.
1997-03-31 21:12:54 +00:00
Ian Lance Taylor
774dc17cdc Mon Mar 31 15:40:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* targmatch.sed: Do not use \(\) recursively.
1997-03-31 20:41:59 +00:00
Ian Lance Taylor
5f792743f1 From David S. Miller <davem@caip.rutgers.edu> and H.J. Lu
<hjl@gnu.ai.mit.edu>:
	* sparclinux.c: New file.
	* config.bfd (sparc-*-linuxaout*, sparc-*-linux*): New targets.
	* configure.in (sparclinux_vec): Add to list of vectors.
	* configure: Rebuild.
	* targets.c (sparclinux_vec): Declare.
	(bfd_target_vector): Add sparclinux_vec.
	* Makefile.in: Rebuild dependencies.
	(BFD32_BACKENDS): Add sparclinux.o.
	(BFD32_BACKENDS_CFILES): Add sparclinux.c.
1997-03-28 20:24:08 +00:00
Ian Lance Taylor
9e55b695b2 Fri Mar 28 14:44:08 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
* m68klinux.c (MACHTYPE_OK): Define.
	* i386linux.c (MACHTYPE_OK): Define.
1997-03-28 19:47:20 +00:00
Ian Lance Taylor
bebe5fbfd8 * coff-mips.c (mips_ecoff_backend_data): Initialize new
bfd_coff_backend_data field.
	* coff-alpha.c (alpha_ecoff_backend_data): Likewise.
1997-03-28 19:01:48 +00:00
Ian Lance Taylor
f0315e65fa * config.bfd: Add bfd_elf64_{big,little}mips_vec to targ_selvecs
for mips*el*-*-linux* and mips*-*-linux*.  From H.J. Lu
	<hjl@lucon.org> and Ralf Baechle <ralf@gnu.ai.mit.edu>.
1997-03-28 17:39:23 +00:00
Ian Lance Taylor
f3f3b47503 * bfd.c: Include "libiberty.h".
(strerror): Don't declare.
	(bfd_errmsg): Call xstrerror rather than strerror.
1997-03-28 16:56:57 +00:00
Ian Lance Taylor
eb80d52a27 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Generate a COPY
reloc even if the symbol is in the .bss section.
	* elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
	* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
1997-03-27 18:45:20 +00:00
Ian Lance Taylor
f89adeb774 * coffcode.h (bfd_coff_backend_data): Add new field
_bfd_coff_default_section_alignment_power.
	(bfd_coff_default_section_alignment_power): Define.
	(bfd_coff_std_swap_table): Initialize new field.
	* libcoff.h: Rebuild.
	* cofflink.c (coff_link_add_symbols): Limit alignment of a common
	symbol to the default section alignment.
1997-03-27 18:01:55 +00:00
Ian Lance Taylor
013b249fef * COPYING: Update FSF address. 1997-03-27 17:56:03 +00:00
Martin Hunt
0e9c437767 Thu Mar 27 00:45:57 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
* elf32-d30v.c (elf_d30v_howto_table): Fix a typo in the
	21-bit absolute that made it act as a relative.
1997-03-27 08:48:14 +00:00
Ian Lance Taylor
537327bc62 * elf32-ppc.c (ppc_elf_check_relocs): Only create the got section
if it is needed.
1997-03-26 19:51:12 +00:00
Stu Grossman
60d1227a31 * aoutx.h (some_aout_object_p): Change executable test to fix
problems with embedded a.out systems.
1997-03-26 06:53:10 +00:00
Ian Lance Taylor
6717fb0de0 * stabs.c (_bfd_stab_section_offset): New function.
* libbfd-in.h (_bfd_stab_section_offset): Declare.
	* libbfd.h: Rebuild.
	* elf32-i386.c (elf_i386_relocate_section): Adjust the offset of a
	stab reloc.
	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
	* elf32-mips.c (mips_elf_relocate_section): Likewise.
	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
1997-03-25 20:49:31 +00:00
Ian Lance Taylor
3cd5cf3d40 * stabs.c (_bfd_link_section_stabs): Copy over the first header
symbol.  Check for memory allocation failure of *psinfo.
	(_bfd_write_section_stabs): Add psinfo parameter.  Change all
	callers.  Set the value of the header symbol.
	* libbfd-in.h (_bfd_write_section_stabs): Update declaration.
	* libbfd.h: Rebuild.
1997-03-25 19:46:12 +00:00
Fred Fish
67e87a1d4f * coff-tic80.c (tic80_howto_table): Add R_ABS entry.
(rtype2howto): Handle R_ABS reloc type.  Also abort on unhandled
	reloc types, rather than silently failing to generate an output file.
1997-03-25 03:07:35 +00:00
Ian Lance Taylor
e1ea3dd50b * targmatch.sed: Use the hold space to put the #ifdef around the
the string constant.
	* targets.c (UNSUPPORTED_TARGET): Don't define.
	(find_target): Don't check for UNSUPPORTED_TARGET.
	(bfd_set_default_target): Don't try to optimize by checking for
	default.
1997-03-24 21:22:00 +00:00
Ian Lance Taylor
032dc9edcb * Makefile.in: Rebuild dependencies.
(ALL_MACHINES_CFILES): Add cpu-m32r.c.
	(BFD32_BACKENDS_CFILES): Add elf32-m32r.c.
	(elf32-m32r.o): Remove explicit target.
1997-03-24 20:07:49 +00:00
Ian Lance Taylor
19d025765c * config.bfd: Don't set targ_underscore for i[3456]86-*-gnu* or
i[3456]86-*-linux*.
1997-03-24 19:52:42 +00:00
Ian Lance Taylor
e91487242e * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Don't
count section symbols for sections that were created by the
	linker, or are not allocatable or not loadable.
	(elf32_sparc_finish_dynamic_sections): Output output section
	symbols for section for which we made space for them.
1997-03-24 18:42:09 +00:00
David Edelsohn
37bdd624bd Remove m32r sanitization. 1997-03-21 20:59:30 +00:00
David Edelsohn
ff22a9dbf8 * elf32-m32r.c (m32r_elf_howto_table): Use special function for LO16.
(m32r_hi16_list): New static local.
	(m32r_elf_hi16_reloc): Don't perform reloc, just queue it up.
	(m32r_elf_do_hi16_reloc): Delete.
	(m32r_elf_relocate_hi16): New function.
	(m32r_elf_lo16_reloc): New function.
	(m32r_elf_relocate_section): For HI16 relocs, scan for corresponding
	LO16 reloc.

	* elf32-m32r.c (m32r_elf_create_linker_section): Delete.
	(m32r_elf_add_symbol_hook): Rewrite _SDA_BASE_ support.
	(m32r_elf_final_sda_base): New function.
	(m32r_elf_relocate_section): Rewrite sdata support.
	(m32r_elf_finish_dynamic_sections): Delete.
Bring over from m32r-970131 branch.
1997-03-21 20:51:17 +00:00
Ian Lance Taylor
0727fe1023 * elf32-sparc.c (elf32_sparc_size_dynamic_sections): If there is
no .rela.plt section, don't output a DT_PLTGOT dynamic entry.
Handles the case of a shared library with no function calls.
1997-03-21 18:09:12 +00:00
Ian Lance Taylor
ac388f2a39 Based on patches from Philippe De Muyter <phdm@info.ucl.ac.be>.
* coff-svm68k.c: New file.  Just defines some macros and includes
	coff-m68k.c.
	* coff-m68k.c: Add functions to handle common addends, moved in
	from cf-m68klynx.c.  Control them using COFF_COMMON_ADDEND macro.
	Control whether relocs are visible using STATIC_RELOCS.
	* cf-m68klynx.c: Simplify greatly: just define macros to control
	coff-m68k.c.
	* coff-aux.c: Likewise.  Just leave add_one_symbol routine.
	* targets. (m68ksysvcoff_vec): Declare.
	(bfd_target_vector): Add m68ksysvcoff_vec.
	* config.bfd (m68*-motorola-sysv*): New target.
	* configure.in (m68ksysvcoff_vec): New vector.
	* configure: Rebuild.
	* Makefile.in: Rebuild dependencies.
 	(BFD32_BACKENDS): Add coff-svm68k.o.
	(BFD32_BACKENDS_CFILES): Add coff-svm68k.c.
1997-03-20 21:23:10 +00:00
Ian Lance Taylor
b9576d75bc * binary.c (binary_set_section_contents): Don't get misled if the
first section is not loadable.  From Matthew L. Martin
 	<mlm@xedia.com>.
1997-03-20 18:33:44 +00:00
Ian Lance Taylor
34bc6ffca6 * elflink.h (elf_bfd_final_link): Set the value of a section
symbol to the section address unless doing a relocateable link.
1997-03-20 17:40:06 +00:00
Ian Lance Taylor
7197adc414 * Makefile.in: Rebuild dependencies. 1997-03-19 04:02:00 +00:00
Ian Lance Taylor
303e725723 Tue Mar 18 22:40:09 1997 H.J. Lu <hjl@lucon.org>
* Many files: Add function prototypes.
	* cpu-m68k.c (bfd_default_scan_num_mach): Don't declare.
	* ecofflink.c: Include "libcoff.h" and "libecoff.h".
	* elf32-ppc.c (ppc_elf_fake_sections): Make static.
	* opncls.c (bfd_openstreamr): Change stream parameter to PTR.
	* peicode.h: Change several void * parameters to PTR.
	* srec.c (srec_get_symbol_info): Make static.
	* syms.c (bfd_symbol_is_absolute): Remove.
1997-03-19 03:58:45 +00:00
Ian Lance Taylor
e76386d24b start-sanitize-m32r
* elf32-m32r.c (m32r_elf_is_local_label_name): Remove.
	(bfd_elf32_bfd_is_local_label): Don't define.

end-sanitize-m32r
1997-03-19 03:01:27 +00:00
Ian Lance Taylor
939b216956 * xcofflink.c (_bfd_xcoff_bfd_final_link): Call bfd_malloc rather
than malloc.
1997-03-18 17:58:48 +00:00
Ian Lance Taylor
724a4c0d46 fix tipo in comment 1997-03-18 16:39:38 +00:00
Ian Lance Taylor
508539ab8b * bfd-in.h: Don't include obstack.h.
(struct bfd_hash_table): Change memory field to PTR.
	* bfd.c (struct _bfd): Change memory field to PTR.
	* bfd-in2.h: Rebuild.
	* libbfd-in.h (bfd_release): Declare as function, don't define as
	macro.
	* libbfd.h: Rebuild.
	* opncls.c: Include "objalloc.h" rather than "obstack.h".  Use
	objalloc routines rather than obstack routines.
	(obstack_chunk_alloc, obstack_chunk_free): Don't define.
	(getpagesize): Don't define.
	(_bfd_new_bfd): Don't set _bfd_chunksize.
	(bfd_openr): Free new bfd and objalloc on failure.
	(bfd_fdopenr, bfd_openstreamr, bfd_openw): Likewise.
	(bfd_alloc_size): Remove.
	(bfd_release): New function.
	* hash.c: Include "objalloc.h" rather than "obstack.h".  Use
	objalloc routines rather than obstack routines.
	(obstack_chunk_alloc, obstack_chunk_free): Don't define.
	* ecofflink.c: Include "objalloc.h" rather than "obstack.h".  Use
	objalloc routines rather than obstack routines.
	(obstack_chunk_alloc, obstack_chunk_free): Don't define.
	(struct accumulate): Change memory to struct objalloc *.
	* liboasys.h (oasys_data_type): Remove oasys_obstack field.
	* dep-in.sed: Don't remove obstack.h from dependency list.
	* Makefile.in: Rebuild dependencies.
	(BFD_H_DEPS): Remove obstack.h.
	(install): Don't install obstack.h.
	* Many files: Don't include "obstack.h".
	* VERSION: Bump.
1997-03-18 00:47:04 +00:00
Ian Lance Taylor
0103b44764 * srec.c (srec_scan): Rewrite to not use obstack_1grow. 1997-03-17 20:14:55 +00:00
Ian Lance Taylor
062a1b96e0 * opncls.c (bfd_alloc_grow, bfd_alloc_finish): Remove.
* libbfd-in.h (bfd_alloc_grow, bfd_alloc_finish): Don't declare.
	* libbfd.h: Rebuild.
	* ieee.c (ieee_archive_p): Rewrite to not use bfd_alloc_grow.
	* sunos.c (sunos_add_dynamic_symbols): Likewise.
1997-03-17 17:51:20 +00:00
Ian Lance Taylor
50ede03d76 * opncls.c (bfd_alloc): Rename from bfd_alloc_by_size_t. Remove
old version of bfd_alloc.
	* libbfd-in.h (bfd_alloc_by_size_t): Don't declare.
	* libbfd.h: Rebuild.
	* Several files: Call bfd_alloc rather than bfd_alloc_by_size_t.
1997-03-17 16:36:08 +00:00
Ian Lance Taylor
5e67a3c601 * elf32-mips.c (mips_elf_is_local_label_name): Accept the generic
ELF local label syntax as well.
1997-03-15 20:27:16 +00:00
Fred Fish
7305cacd49 * config.bfd (powerpc-*-beos*): New target.
* configure.in (powerpc-*-beos*): Add case that explicitly
	does not set COREFILE for now.  A future BeOS version is
	expected to support core files.
	* configure: Regenerate with autoconf.
1997-03-15 17:27:45 +00:00
Ian Lance Taylor
4813bbed2b * elf32-mips.c (mips_elf_check_relocs): Give an error if CALL16 is
seen with a local symbol, rather than crashing.
1997-03-15 02:16:30 +00:00
Ian Lance Taylor
f56d634e29 * elfcode.h (elf_slurp_symbol_table): Don't try to read the
version symbols if there aren't any.
1997-03-14 21:46:39 +00:00
Fred Fish
4507d85857 * coff-tic80.c (coff_rtype_to_howto): Define
(coff_tic80_rtype_to_howto): Clone generic coff version and
	add code to handle the funky TI "internal relocations".
1997-03-13 23:40:30 +00:00
Ian Lance Taylor
37897db02c * elflink.h (elf_link_add_object_symbols): Don't warn about type
or size changes because of a weak symbol.
PR 11827.
1997-03-13 19:24:20 +00:00
Ian Lance Taylor
94ba939aae * cisco-core.c (SIGEMT): Define if not defined. 1997-03-13 19:11:06 +00:00
Ian Lance Taylor
e549b1d2a3 * elflink.h (elf_link_add_object_symbols): Use extsymoff when
setting ever.  Sanity check the version number.  Sort out copying
	flags and other information when adding an indirect symbol.
	(NAME(bfd_elf,size_dynamic_sections)): Preserve any dynamic
	symbols added by the backend.  Clear the entire contents of the
	versym section.
	(elf_export_symbol): Ignore indirect symbols.
	(elf_link_output_extsym): Accept a section without an owner in an
	assert.
	* elfcode.h (elf_slurp_symbol_table): Add a sanity check on the
	version count.  Correct the allocation of x_versymp.
1997-03-13 02:41:44 +00:00
Ian Lance Taylor
7d996a75d2 * elf32-mips.c (mips_elf_add_symbol_hook): Don't set the owner of
the magic sections used for SHN_MIPS_TEXT and SHN_MIPS_DATA.
	Don't return bfd_und_section_ptr when info->shared.
	(mips_elf_final_link): Set the alignment of .rtproc to 4, not 12.
	(mips_elf_create_dynamic_sections): Correct type: ^= for &=.
	(mips_elf_check_relocs): Resolve an indirect symbol in
	sym_hashes.
	(mips_elf_finish_dynamic_symbol): Don't change SHN_ABS into
	SHN_MIPS_TEXT or SHN_MIPS_DATA.
1997-03-13 02:41:08 +00:00
Ian Lance Taylor
52c92c7f75 From Eric Youngdale <eric@andante.jic.com>:
* elf-bfd.h (ELF_LINK_FORCED_LOCAL): Define.
	* elf.c (bfd_elf_print_symbol): Correct errors in last change.
	* elflink.h (elf_link_add_object_symbols): Handle cases in which a
	versioned symbol appears in both a regular and a shared object.
	(elf_link_assign_sym_version): Set ELF_LINK_FORCED_LOCAL when
	appropriate.  Improve error message.
	(struct elf_outext_info): Rename from elf_finfo_failed.  Change
	all uses.  Add localsyms field.
	(elf_bfd_final_link): When generating a shared library, call
	elf_link_output_extsym to output all local symbols.
	(elf_link_output_extsym): Handle symbols which were forced to
	become local.
1997-03-11 06:46:46 +00:00
Ian Lance Taylor
d6bfcdb505 From Eric Youngdale <eric@andante.jic.com>:
* elf-bfd.h (elf_symbol_type): Add version field.
	* elfcode.h (elf_slurp_symbol_table): Set version field.
	* elflink.h (elf_link_add_object_symbols): When creating an
 	indirect symbol for a default version symbol, set DEF_DYNAMIC if
 	appropriate.  Set up an indirection from the nondefault version of
	the symbol as well.
	(NAME(bfd_elf,size_dynamic_sections)): Call
	elf_link_assign_sym_version before checking whether there are any
	versions.  Always record the version name as a dynamic symbol.
	Initialize counters.
	(elf_link_assign_sym_version): After finding a version, see if a
	symbol should be forced to local scope.  Create a new version
	definition if appropriate.
	(elf_link_output_extsym): Correct indirect symbol handling.
	* elf.c (bfd_elf_print_symbol): Print version information.
	(bfd_section_from_shdr): Turn version sections into BFD sections.
	(elf_fake_sections): Only copy cverdefs and cverrefs into sh_info
	if sh_info is not already set.
	(_bfd_elf_copy_private_section_data): Copy sh_info for version
	sections.
	* elflink.c (_bfd_elf_link_record_dynamic_symbol): Tell
	_bfd_stringtab_add to copy the name into permanent memory if
	appropriate.
1997-03-10 04:43:42 +00:00
Ian Lance Taylor
ccd0e5e29d * coffcode.h (bfd_coff_backend_data): Change
_bfd_coff_compute_section_file_positions to return a boolean
	value.  Change all callers.
	(coff_compute_section_file_positions): Change return type to
	boolean.  If the size of the last section changed, then output a
	zero byte at the end of the file.
	* libcoff.h: Rebuild.
PR 11806.
1997-03-07 17:45:43 +00:00
Ian Lance Taylor
7debe20cf7 Fri Mar 7 11:55:31 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
* elf64-alpha.c (alpha_elf_dynamic_symbol_p): Fully parenthesize.
1997-03-07 16:57:21 +00:00
Ian Lance Taylor
e8c4696e1b * xcofflink.c (_bfd_xcoff_bfd_final_link): Always allocate space
for at least 6 output symbols.
	(xcoff_write_global_symbol): When emitting TOC entry relocs, also
	emit a TC csect to represent the space they take up.  For an XO
	symbol, just emit a reference, not a csect.
PR 11793.
1997-03-07 16:50:22 +00:00
Jeff Law
a98a3061a6 Update copyrights. 1997-03-07 16:11:48 +00:00
Ian Lance Taylor
5bd7c941e3 x 1997-03-07 15:51:28 +00:00
Ian Lance Taylor
4104dff66f * Makefile.in ($(SHLINK)): Just use ln -s, not ln -sf, since
Solaris doesn't like the combined options, and the -f is
	unnecessary.
1997-03-07 15:50:33 +00:00
Ian Lance Taylor
358bb592ee * elf32-mips.c (mips_elf_relocate_section): Correct R_MIPS16_26
handling when little endian.
1997-03-07 15:38:12 +00:00
Jeff Law
8821be29aa Update copyright dates. 1997-03-07 00:00:09 +00:00
Jeff Law
5847e6dd37 * elf32-mn10300.c (mn10300_elf_final_link_relocate): New function.
(mn10300_elf_relocate_section): Likewise.
        (elf_backend_relocate_section): Define.
New style linker for the mn10300.
1997-03-06 21:17:49 +00:00
Jeff Law
77bf22e653 * elf32-mn10300.c (reloc_type): Remove PCREL{8,16,32}_{1,2}BYTE
relocs.  Replace them with generic PCREL_{8,16,32} relocs.
        (elf32_mn10300_howto_table): Likewise.
        (elf32_mn10300_reloc_map): Likewise.
        (bfd_elf32_mn10300_reloc): Delete unused function.
Simplify the mn10300 port.  Stuff I noticed while working on the mn10200.
1997-03-06 20:55:44 +00:00
Fred Fish
13b58694fb start-sanitize-tic80
* coff-tic80.c (rtype2howto): If passed a relocation type we don't
	understand, just set the howto field to NULL, and the caller will
	print an appropriate error message.
end-sanitize-tic80
	* coffcode.h (coff_slurp_reloc_table): Pull duplicate declarations and
	code fragment out of both legs of #ifdef RELOC_PROCESSING ... #endif
	block.  Use NULL for initializations of "ptr" rather than bare 0.
	* coff-h8300.c: Fix typo in comment.
	* coff-h8500.c: Ditto.
	* coff-w65.c: Ditto
	* coff-z8k.c: Ditto.
1997-03-06 19:53:29 +00:00
David Edelsohn
da1714618a * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc): Fix overflow calc.
(m32r_elf_relax_section, m32r_elf_relax_delete_bytes,
	m32r_elf_get_relocated_section_contents): First pass at relax support.
1997-03-05 22:13:46 +00:00
Ulrich Drepper
d2f0374f23 (elf_link_add_object_symbols): Use correct sh_size
entry for reading verdef records.
Use correct braces for computing increments of extverdaux and
exteverdef record pointers.
1997-03-03 21:32:39 +00:00
Fred Fish
4b4ac3aec2 * coff-tic80.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Set this to 2
instead of 4.
1997-03-03 05:51:52 +00:00
Jim Wilson
a3c5b9a4a1 Correct d10v sanitization errors. 1997-03-03 00:35:40 +00:00
Ian Lance Taylor
a48ef404c7 * elflink.h (elf_link_find_version_dependencies): Check that
DEF_REGULAR is not set as well as checking that DEF_DYNAMIC is
	set.
1997-03-03 00:27:52 +00:00
Fred Fish
84fd6e7ed2 * coffcode.h (coff_set_flags): Add case for TIC80_ARCH_MAGIC. 1997-02-28 23:59:26 +00:00
Ian Lance Taylor
73769e1f01 * targets.c (bfd_default_vector): Make non-const.
(find_target): New static function, broken out of
	bfd_find_target.
	(bfd_set_default_target): New function.
	(bfd_find_target): Call find_target.  When defaulting, use
	bfd_default_vector[0] if it is not NULL.
	* libbfd-in.h (bfd_default_vector): Adjust declaration.
	* bfd-in2.h, libbfd.h: Rebuild.
1997-02-28 22:16:45 +00:00
Ian Lance Taylor
af4dffffc8 * syms.c (bfd_is_local_label): Return false if the symbol has no
name.
	* coff-i960.c (coff_i960_is_local_label_name): New function.
	(coff_bfd_is_local_label_name): Define.
	* coff-m68k.c (m68k_coff_is_local_label_name): New function.
	(coff_bfd_is_local_label_name): Define.
	* coff-rs6000.c (xcoff_is_local_label_name): New function.
	(coff_bfd_is_local_label_name): Define.
	* elf.c (_bfd_elf_is_local_label_name): Treat symbols beginning
	with .. or _.L_ as local.
	* elf32-i386.c (elf_i386_is_local_label_name): New function.
	(bfd_elf32_bfd_is_local_label_name): Define.
	* evax-alpha.c (evax_bfd_is_local_label_name): Treat symbols
	beginning with $ as local.
1997-02-28 20:10:49 +00:00
Ian Lance Taylor
e316f51498 * aoutx.h (aout_link_write_symbols): Use bfd_is_local_label_name
rather than comparing against info->lprefix.
	* cofflink.c (_bfd_coff_link_input_bfd): Likewise.
	* elflink.h (elf_link_input_bfd): Likewise.
	* linker.c (_bfd_generic_link_output_symbols): Likewise.
	* xcofflink.c (xcoff_link_input_bfd): Likewise.
1997-02-28 04:12:07 +00:00
Ian Lance Taylor
a66a61a0a2 * elfxx-target.h (bfd_elfNN_bfd_is_local_label_name): Define as
_bfd_elf_is_local_label_name if not already defined.
	* elf.c (_bfd_elf_is_local_label_name): New function.
	* elf-bfd.h (_bfd_elf_is_local_label_name): Declare.
1997-02-28 04:11:09 +00:00
Ian Lance Taylor
551f302cc8 * coffcode.h (coff_bfd_is_local_label_name): Define as
_bfd_coff_is_local_label_name if not already defined.
	* coffgen.c (_bfd_coff_is_local_label_name): New function.
	* libcoff-in.h (_bfd_coff_is_local_label_name): Declare.
	* libcoff.h: Rebuild.
1997-02-28 04:10:14 +00:00
Ian Lance Taylor
35a3e78edb * targets.c (BFD_JUMP_TABLE_SYMBOLS): Change _bfd_is_local_label
to _bfd_is_local_label_name.
	(bfd_target): Likewise.
	* syms.c (bfd_is_local_label): Define as function, not macro.
	(bfd_is_local_name): Define.
	* libbfd.c (bfd_generic_is_local_label_name): Rename from
	bfd_generic_is_local_label, and take a string rather than a
	symbol.
	* libbfd-in.h (_bfd_nosymbols_bfd_is_local_label): Don't define.
	(_bfd_nosymbols_bfd_is_local_label_name): Define.
 	(bfd_generic_is_local_label): Don't declare.
	(bfd_generic_is_local_label_name): Declare.
	* bfd-in2.h, libbfd.h: Rebuild.
	* All backends: Change local_label to local_label_name.
1997-02-28 02:07:54 +00:00
Ian Lance Taylor
85d6f0b476 * elf32-mips.c (struct mips_got_info): Add assigned_gotno field.
(mips_elf_relocate_got_local): Change return type to boolean.
	Don't assume that the first zero entry is unassigned; instead, use
	assigned_gotno.
	(mips_elf_relocate_section): Check return value of
	mips_elf_relocate_got_local.
	(mips_elf_create_got_section): Initialize assigned_gotno field.
1997-02-27 23:38:19 +00:00
Martin Hunt
56819c99a1 Wed Feb 26 15:19:51 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
* elf32-d30v.c (bfd_elf_d30v_reloc): Add code to do 32-bit
	relocations.
1997-02-26 23:22:00 +00:00
Stan Shebs
55ef0d903c * targets.c (bfd_target_vector): Add ecoff_biglittle_vec. 1997-02-26 23:07:19 +00:00
Ian Lance Taylor
fa802cb057 * elflink.h (elf_link_input_bfd): Don't skip symbols from sections
that have no contents merely because linker_mark is not set.
1997-02-26 18:35:56 +00:00
Ian Lance Taylor
b08f5ac27a * elf.c (elf_fake_sections): Use SHT_NOTE for any section whose
name begins with ".note".
	(map_sections_to_segments): Add a PT_NOTE segment for any loadable
	section whose name begins with ".note".
	(get_program_header_size): Corresponding change.
1997-02-25 21:07:13 +00:00
Ian Lance Taylor
7b4be6688c * elf32-mips.c (mips_elf_relocate_section): Check for misaligned
jal and for jal overflow.
1997-02-25 05:33:28 +00:00
Ian Lance Taylor
d044b40a40 From Eric Youngdale <eric@andante.jic.com>:
* elflink.h (elf_link_add_archive_symbols): If a default symbol is
	not found, try looking it up again without the version name.
	(elf_link_add_object_symbols): Always link against the dynamic
	symbol table of a dynamic object.  When linking against a dynamic
	object, include version strings in symbol names, and set up
	version information.  Add indirect symbols for default versions.
	(elf_link_create_dynamic_sections): Add special version sections.
	(struct elf_assign_sym_version_info): Define.
	(struct elf_find_verdep_info): Define.
	(NAME(bfd_elf,size_dynamic_sections)): Add verdefs parameter.  Set
	up version sections.
	(elf_adjust_dynamic_symbol): Ignore indirect symbols.
	(elf_link_find_version_dependencies): New static function.
	(elf_link_assign_sym_version): New static function.
	(elf_link_renumber_dynsyms): New static function.
	(struct elf_final_link_info): Add symver_sec field.
	(elf_bfd_final_link): Initialize finfo.symver_sec.  Don't count
	local symbols of a dynamic object.  Handle DT_VER* constants.
	(elf_link_output_extsym): Simplify BFD_ASSERT checking for a
	dynamic object.  Skip indirect symbols from ELF objects.  Remove
	the version name before choosing a hash bucket.  Write out the
	version information if appropriate.
	(elf_link_input_bfd): Check for DYNAMIC, not ET_DYN.
	* bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration.
	(bfd_elf64_size_dynamic_sections): Likewise.
	* bfd-in2.h: Rebuild.
	* elf-bfd.h (struct elf_link_hash_entry): Add verinfo field.
	Change elf_link_hash_flags to unsigned short.
	(ELF_LINK_HIDDEN): Define.
	(struct elf_obj_tdata): Add fields dynversym_hdr, dynverref_hdr,
	dynverdef_hdr, dynversym_section, dynverdef_section,
	dynverref_section, cverdefs, cverrefs, verdef, verref.
	(elf_dynversym, elf_dynverdef, elf_dynverref): Define.
	(_bfd_elf_swap_verdef_in, _bfd_elf_swap_verdef_out): Declare.
	(_bfd_elf_swap_verdaux_in, _bfd_elf_swap_verdaux_out): Declare.
	(_bfd_elf_swap_verneed_in, _bfd_elf_swap_verneed_out): Declare.
	(_bfd_elf_swap_vernaux_in, _bfd_elf_swap_vernaux_out): Declare.
	(_bfd_elf_swap_versym_in, _bfd_elf_swap_versym_out): Declare.
	(_bfd_elf_slurp_version_tables): Declare.
	* elf.c (_bfd_elf_swap_verdef_in): New function.
	(_bfd_elf_swap_verdef_out): Likewise.
	(_bfd_elf_swap_verdaux_in, _bfd_elf_swap_verdaux_out): Likewise.
	(_bfd_elf_swap_verneed_in, _bfd_elf_swap_verneed_out): Likewise.
	(_bfd_elf_swap_vernaux_in, _bfd_elf_swap_vernaux_out): Likewise.
	(_bfd_elf_swap_versym_in, _bfd_elf_swap_versym_out): Likewise.
	(_bfd_elf_print_private_bfd_data): Add DT_VER* constants.  Print
	version information if there is any.
	(_bfd_elf_link_hash_newfunc): Initialize verinfo field.
	(bfd_section_from_shdr): Handle SHT_GNU_ver* section types.
	(elf_fake_sections): Handle .gnu.version* section names.
	(assign_section_numbers): Handle SHT_GNU_ver* section types.
	(_bfd_elf_slurp_version_tables): New function.
	* elflink.c (_bfd_elf_link_record_dynamic_symbol): Don't include
	version name in string entered in dynamic hash table.
	* elfcode.h: Include fnmatch.h.
	* elf32-i386.c (elf_i386_relocate_section): Handle a dynamic
	symbol which was forced to become local.
	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
	* elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
1997-02-24 23:13:07 +00:00
Jeff Law
af2903b4f0 Update some comments to reflect current reality. 1997-02-24 18:13:23 +00:00
Jeff Law
7b951eed4d * elf32-mn10200.c (mn10200_elf_final_link_relocate): Simplify
somewhat.
        (mn10200_elf_relax_section): Correctly compute a symbol's value
        when the symbol is local, but not in the same section as we are
        relaxing.  Implement abs24 -> abs16, imm24 -> imm16 and d24 -> d16
        relaxing.
Another 1.3% size reduction for hello world.  Only relaxing left todo is
imm16 -> imm8 and d16 -> d8 where applicable.
1997-02-21 23:19:34 +00:00
David Edelsohn
77dd1a25d8 * elf32-m32r.c: Rewrite to use ELF backend linker.
Store lower 16 bits of addend in R_M32R_HI16_[SU]LO insns.
	Add small data area support (R_M32R_SDA16).
	* reloc.c: Document BFD_RELOC_M32R_SDA16.
	* bfd-in2.h,libbfd.h: Regenerated.
1997-02-21 22:09:40 +00:00
Jeff Law
7c49f021ca Twiddle some comments to more accurately reflect reality. 1997-02-21 07:21:32 +00:00
Jeff Law
c17db7cfb4 Remove debugging printf. 1997-02-21 07:18:35 +00:00
Jeff Law
fd39566111 * elf32-mn10200.c (mn10200_elf_relax_section): New function.
(mn10200_elf_relax_delete_bytes): Likewise.
        (mn10200_elf_symbol_address_p): Likewise.
        (mn10200_elf_get_relocated_section_contents): Likewise.
        (bfd_elf32_bfd_relax_section): Define.
        (bfd_elf32_bfd_get_relocated_section_contents): Likewise.
First cut at relaxing linker for the mn10200:

	jsr:24 -> jsr:16
	jmp:24 -> jmp:16
	jmp:16 -> bra:8
	bCC .+4;bra:8 -> bCC':8


Reduces code size by about 2.5% for hello world.
1997-02-21 07:14:30 +00:00
Ian Lance Taylor
db986c6049 fix with make headers 1997-02-20 22:49:40 +00:00
Jeff Law
64af667971 * elf32-mn10200.c (mn10200_elf_final_link_relocate): New function.
(mn10200_elf_relocate_section): Likewise.
        (elf_backend_relocate_section): Define.
New style linker for the mn10200.
1997-02-20 20:54:28 +00:00
Michael Meissner
c6c7035cfb Since d10v is public now, remove all sanitization statements 1997-02-20 16:05:18 +00:00
Martin Hunt
fd8d7c31c0 Tue Feb 18 17:22:59 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
* Makefile.in, archures.c, config.bfd, configure.in, elf.c,
	reloc.c, targets.c: New target, elf-*-D30V.

	* bfd-in2.h, configure, libbfd.h: Rebuilt.

	* cpu-d30v.c, elf32-d30v.c: New files.
1997-02-19 01:29:29 +00:00
Fred Fish
92a956e87d * reloc.c (struct reloc_howto_struct): Fix typo in comment.
* bfd-in2.h: Regenerated.
start-sanitize-tic80
	* coff-tic80.c (RTYPE2HOWTO): Replace abort with real function.
	(rtype2howto): Add function.
	(tic80_howto_table): Add.
end-sanitize-tic80
1997-02-18 23:01:02 +00:00
Jeff Law
8d1ba96ecc * elf32-v850.c (v850_elf_relocate_section): Make sure r_symndx
is initialized before it is used.
Something Doug noticed.
1997-02-18 17:06:20 +00:00
Ian Lance Taylor
8ceca98345 * hp300hpux.c (convert_sym_type): Don't convert a secondary common
symbol into a weak undefined symbol; leave it as a common symbol.
1997-02-17 16:29:21 +00:00
Ian Lance Taylor
54626f1aa4 * elflink.h (elf_link_add_object_symbols): Don't issue a warning
about a symbol defined in a dynamic object if it has already been
	defined in a regular object.
1997-02-15 00:12:47 +00:00
Ian Lance Taylor
8696b2db70 Thu Feb 13 20:53:22 1997 Klaus Kaempf (kkaempf@progis.de)
* reloc.c (BFD_RELOC_ALPHA_CODEADDR): New relocation for
	openVMS/Alpha.
	* evax.h (ALPHA_R_CODEADDR): New relocation.
	* evax-alpha.c (ALPHA_R_CODEADDR): 64 bit procedure relocation for
	openVMS/Alpha.
	* evax-etir.c (ALPHA_R_CODEADDR): Output object code for this
	relocation.
	* bfd-in2.h, libbfd.h: Rebuild.

	Restrict symbol length to 64 bytes, case preserving:
	* evax-emh.c (_bfd_evax_write_emh): Remove case hacking.
	* evax-misc.c (_bfd_evax_case_hack_symbol): Remove.
	(_bfd_evax_length_hash_symbol): Added.
	* evax-etir.c (_bfd_evax_write_etir): Call
	_bfd_evax_length_hash_symbol before output of symbol.
	* evax-egsd.c (_bfd_evax_write_egsd): Likewise.
	* evax.h (flag_hash_long_names, flag_show_after_trunc): Remove.

	* evax-emh.c: Output filename to object file without path.

	* evax-egsd.c: New sections for local and global commons.

	* evax-alpha.c, evax-emh.c, evax-egsd.c, evax-etir.c,
	evax-misc.c, evax.h: Remove 8 bit characters from copyright
	notices.  Replace AXP with Alpha.
1997-02-14 02:13:19 +00:00
Ian Lance Taylor
236969ac80 Thu Feb 13 20:53:22 1997 Klaus Kaempf (kkaempf@progis.de)
* makefile.vms: Add gcc flags to allow compiling with current gcc
	snapshot
	(targmatch.h): New dependency.
1997-02-14 01:54:51 +00:00
Ian Lance Taylor
3a8dddb286 Thu Feb 13 20:50:02 1997 Klaus Kaempf (kkaempf@progis.de)
* makefile.vms: New file.
1997-02-14 01:50:50 +00:00
Ian Lance Taylor
62332d05fd * sunos.c (sunos_create_dynamic_sections): We need the dynamic
sections if we are creating a shared library.
1997-02-12 23:14:36 +00:00
David Edelsohn
3883007ed1 * configure.host (i386-windows): Don't set host64=true. 1997-02-11 23:46:10 +00:00
Ian Lance Taylor
a4183ba5c9 * elf32-mips.c (reloc_type): Add R_MIPS16_GPREL.
(elf_mips16_gprel_howto): New static variable.
	(mips16_gprel_reloc): New static function.
	(bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS16_GPREL.
	(mips_info_to_howto_rel): Handle R_MIPS16_GPREL.
	(mips_elf_relocate_section): Handle R_MIPS16_GPREL.
	* reloc.c (BFD_RELOC_MIPS16_GPREL): Define.
	* bfd-in2.h, libbfd.h: Rebuild.
1997-02-11 20:30:12 +00:00
David Edelsohn
b9c5ee689d * elf32-m32r.c (elf_m32r_howto_table): Change partial_inplace to true
for R_M32R_{16,32,24,HI16_ULO,HI16_SLO,LO16}.
1997-02-11 19:45:51 +00:00
Gavin Romig-Koch
276c2d7dc8 Add r5900 1997-02-11 13:26:34 +00:00
Ian Lance Taylor
ba4a45946c * elflink.h (elf_link_input_bfd): If we've discarded a section,
the output section will be the absolute section; don't print an
	assertion message for that case when doing a relocateable link.
PR 11647.
1997-02-07 17:40:24 +00:00
Ian Lance Taylor
e900e695a2 * elf32-mips.c (FN_STUB, CALL_STUB, CALL_FP_STUB): Define.
(struct mips_elf_link_hash_entry): Add new fields fn_stub,
	need_fn_sub, call_stub, and call_fp_stub.
	(struct mips_elf_link_hash_table): Add field mips16_stubs_seen.
	(mips_elf_link_hash_newfunc): Initialize new fields.
	(mips_elf_link_hash_table_create): Likewise.
	(mips_elf_relocate_section): Redirect relocations to use mips16
	stubs when appropriate.
	(mips_elf_check_relocs): Attach stub sections to the appropriate
	symbol.  Set need_fn_stub when appropriate.
	(mips_elf_always_size_sections): New static function.
	(mips_elf_check_mips16_stubs): New static function.
	(elf_backend_always_size_sections): Define.
	* elf-bfd.h (struct elf_obj_tdata): Add local_stubs field.
1997-02-06 22:15:37 +00:00
Ian Lance Taylor
258b1f5d18 * elflink.h (elf_link_input_bfd): Discard local symbols that are
attached to sections which are not being included in the link.
1997-02-06 22:02:51 +00:00
Ian Lance Taylor
5b61a02aae * cofflink.c (_bfd_coff_generic_relocate_section): Ignore the
symbol value when computing the addend for a pc_relative
	pcrel_offset reloc.
1997-02-05 18:21:08 +00:00
Ian Lance Taylor
5a50eec623 * cofflink.c (_bfd_coff_generic_relocate_section): If doing a
relocateable link, just skip pc_relative pcrel_offset relocs.
	* coff-arm.c (coff_arm_rtype_to_howto): Return a different howto
	structure for an ARM26 reloc which can be resolved.
	(coff_arm_adjust_symndx): Only convert ARM26 to ARM26D if the
	reloc can be resolved.
PR 11599.
1997-02-03 20:31:39 +00:00
Ian Lance Taylor
bcb686ca09 * coff-h8300.c (h8300_reloc16_extra_cases): Correct off by one
error in overflow check for R_RELBYTE.
PR 11591.
1997-02-03 16:54:36 +00:00
Ian Lance Taylor
e9797c8ae5 comment fix 1997-01-31 23:15:42 +00:00
Ian Lance Taylor
6c58561e7a * ieee.c (ieee_slurp_section_data): Pick up the start address.
From Mark Rasin <mark.rasin@telrad.co.il>.
1997-01-31 19:15:40 +00:00
Ian Lance Taylor
167dc907f2 * aoutx.h (aout_link_write_symbols): Don't apply discard_l to
debugging symbols.
Mentioned in PR 11540.
1997-01-31 19:08:31 +00:00
Jeff Law
1a2faf1f1e * elf32-mn10200.c (reloc_type): Add 16bit pc-relative reloc.
(elf_mn10200_howto_table): Likewise.
        (mn10200_reloc_map): Likewise.
How did I miss the 16bit pc-relative relocs?!?
1997-01-29 07:02:22 +00:00
David Edelsohn
1d5c6cfdf0 * reloc.c: Add relocs BFD_RELOC_M32R_{HI16_[US]LO,LO16}.
* bfd-in2.h, libbfd.h: Regenerated.
	* elf32-m32r.c: Add support for them.
1997-01-27 20:35:24 +00:00
Ian Lance Taylor
54aa1deab3 * aout-arm.c (MY_swap_std_reloc_in): Remove unused r_length.
* elf32-ppc.c (ppc_elf_check_relocs): Remove unused plt.
start-sanitize-v850
	* elf32-v850.c (v850_elf_final_link_relocate): Remove used
	r_format and r_pcrel.  Always return a value.
end-sanitize-v850
	* riscix.c (MY_final_link_callback): Define to dummy value.
1997-01-27 18:22:54 +00:00
Ian Lance Taylor
9950f925f7 * elf32-i386.c (elf_i386_size_dynamic_sections): When checking for
relocations against the text segment, look up the output name of
	the reloc section.
	* elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
	* elf32-mips.c (mips_elf_size_dynamic_sections): Likewise.
	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
	* elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
	* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
1997-01-27 18:13:01 +00:00
Fred Fish
8c00b01dee * coff-tic80.c (tic80coff_vec): Use correct data put/get
routines for little endian data.
	* coffcode.h (coff_write_object_contents): Set magic to
 	TIC80_ARCH_MAGIC for TIc80.
1997-01-23 03:09:05 +00:00
Fred Fish
0716c2e910 * coff-tic80.c (tic80coff_vec): Change to little endian data
as the default.
1997-01-21 20:15:46 +00:00
Ian Lance Taylor
db109ca2d8 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Change type of
auxiliary_filters parameter to be const char * const *.  Accept a
	NULL terminated array.
	* bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration.
	(bfd_elf32_size_dynamic_sections): Update declaration.
	* bfd-in2.h: Rebuild.
1997-01-16 22:48:57 +00:00
Ian Lance Taylor
c7f8d0a524 update copyright 1997-01-16 22:48:24 +00:00
David Edelsohn
e1616e16d8 * libaout.h (machine_type): Reserve several values for sparclet. 1997-01-14 16:47:40 +00:00
Michael Meissner
91eb4378ee Fix sanitize string 1997-01-14 03:45:40 +00:00
Michael Meissner
4af93ad0dc Allow tic80-*-*, not just tic80-*-coff 1997-01-14 03:45:03 +00:00
Michael Meissner
0ce71ebd3d Cleanup; fix some aborts 1997-01-14 00:41:55 +00:00
Jeff Law
09a7bde377 Fix typo. 1997-01-06 22:23:08 +00:00
Jeff Law
4013169286 * elf32-mn10200.c (elf_mn10200_howto): Don't ever set partial-inplace.
Use bfd_elf_generic_reloc as special function for all relocs.
        (bfd_elf32_mn10200_reloc): Remove unnecessary function.
Working on relocs for the mn10200.
1997-01-06 22:20:38 +00:00
Jeff Law
483e1b9161 * elf32-mn10200.c (elf_mn10200_howto): Set partial_inplace for
24bit pc-relative reloc.
1997-01-06 20:33:53 +00:00
Fred Fish
28eb95aa33 * Makefile.in (coff-tic80.o): Add coffcode.h to dependency list.
* coff-tic80.c (tic80coff_vec): Data byte order is big endian and
	header byte order is little endian.  Use correct bfd_get and
	bfd_put routines for little endian headers.
	* coffcode.h (coff_set_arch_mach_hook): Set arch to
	bfd_arch_tic80 for TIC80_ARCH_MAGIC number.
1997-01-04 01:24:50 +00:00
Jeff Law
b3ef389468 * reloc.c: Add BFD_RELOC_24.
* elf32-mn10200.c (enum reloc_type): Add 24bit and pcrel relocs.
        (elf_mn10200_howto, mn10200_reloc_map): Corresponding changes.
        * bfd-in2.h, libbfd.h: Rebuilt.
Starting on relocs for the mn10200.
1997-01-04 00:02:12 +00:00
Ian Lance Taylor
56f3b62cf5 fix copyrights 1997-01-03 22:17:57 +00:00
Ian Lance Taylor
ff12f30335 Fri Jan 3 16:58:31 1997 Richard Henderson <rth@tamu.edu>
elf64-alpha multiple .got rewrite:

	* elf-bfd.h (struct elf_backend_data): Add always_size_sections entry.
	(bfd_elf*_mkobject): Don't define here ...
	* elfxx-target.h: ... but rather here.  Default always_size_sections
	hook to NULL.
	* elf.c (elf_mkobject): Rename to bfd_elf_mkobject, since that was
	what the #defines in elf-bfd.h transmuted it to anyway.

	* section.c: Add SEC_LINKER_CREATED flag.
	* bfd-in2.h: Rebuild.
	* elf32-i386.c (elf_i386_check_relocs): Add SEC_LINKER_CREATED to
	relocation section flags.
	(elf_i386_size_dynamic_sections): Use SEC_LINKER_CREATED instead of
	SEC_IN_MEMORY to recognize generated bits.
	* elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_size_dynamic_sections):
	Likewise.
	* elf32-mips.c (mips_elf_final_link, mips_elf_create_dynamic_sections,
	mips_elf_create_compact_rel_section, mips_elf_create_got_section,
	mips_elf_check_relocs, mips_elf_size_dynamic_sections): Likewise.
	* elf32-ppc.c (ppc_elf_create_linker_section,
	ppc_elf_size_dynamic_sections): Likewise.
	* elf32-sparc.c (elf32_sparc_check_relocs,
	elf32_sparc_size_dynamic_sections): Likewise.
	* elflink.c (_bfd_elf_create_got_section): Add SEC_LINKER_CREATED to
	section flags.
	(_bfd_elf_create_dynamic_sections): Likewise.
	(_bfd_elf_make_linker_section_rela): Likewise.
	* elflink.h (elf_link_create_dynamic_sections): Likewise.
	(bfd_elf,size_dynamic_sections): Call the always_size_sections hook.
	(elf_bfd_final_link): Use SEC_LINKER_CREATED instead of SEC_IN_MEMORY
	to identify generated bits.
	(elf_link_input_bfd): Likewise.

	* elf64-alpha.c: Rewrite everything touching relocations.
1997-01-03 22:09:40 +00:00
Michael Meissner
de224d6a49 Put common variables into the appropriate section, based on relocation types 1997-01-03 16:55:34 +00:00
Ian Lance Taylor
7c342fc5b0 * config.bfd (mips*el-*-linux*): New target.
(mips*-*-linux*): New target.
1996-12-31 21:27:05 +00:00
Ian Lance Taylor
99f1722b7c * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Clean up.
Return a useful value.
1996-12-31 21:26:27 +00:00
Ian Lance Taylor
6ded661565 * Makefile.in (ALL_CFLAGS): Add -D_GNU_SOURCE. 1996-12-31 20:43:28 +00:00
Ian Lance Taylor
ab98712ad0 * configure.host: Use ac_cv_func_mmap_fixed_mapped instead of
ac_cv_func_mmap in bfd/configure.host.
1996-12-31 20:30:36 +00:00
Michael Meissner
afaed5e906 Fix some spacing 1996-12-31 20:17:33 +00:00
Ian Lance Taylor
dda7af9f14 * configure.in: Check ac_cv_func_mmap_fixed_mapped, not
ac_cv_func_mmap.
	* configure: Rebuild.
1996-12-31 19:56:49 +00:00
Ian Lance Taylor
148437ec14 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Add
filter_shlib and auxiliary_filter_shlib parameters.
	* elf.c (_bfd_elf_print_private_bfd_data): Handle DT_AUXILIARY and
	DT_FILTER.
	* bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration.
	(bfd_elf64_size_dynamic_sections): Likewise.
	* bfd-in2.h: Rebuild.
1996-12-31 19:46:37 +00:00
Ian Lance Taylor
1eeccb2271 * xcofflink.c (xcoff_build_ldsyms): When exporting all defined
symbols, don't export a symbol which is defined by an object in an
	archive which contains shared objects.
PR 11379.
1996-12-30 23:50:56 +00:00
Fred Fish
fc46a9ec7a * archures.c (enum bfd_architecture): Add bfd_arch_tic80
for TI TMS320c80 (MVP).
	(bfd_archures_list): Add bfd_tic80_arch.
	* bfd-in2.h: Regenerate by running "make headers".
1996-12-30 23:25:26 +00:00
Fred Fish
60b2671252 * cpu-tic80.c (bfd_tic80_arch): Add struct.
* configure.in (case $vec): Correct typo, "tb" not "tp".
	Also add cofflink.o for tic80coff_vec.
	* configure: Regenerate with autoconf.
1996-12-30 22:09:39 +00:00
Ian Lance Taylor
412f8c9336 * libbfd.c: Patch up the mmap code so that it is only built if BFD
is configured with --with-mmap.
1996-12-30 16:56:05 +00:00
Fred Fish
5a608f5bf1 * Makefile.in (BFD32_BACKENDS): Add coff-tic80.o
(ALL_MACHINES): Add cpu-tic80.o
	(cpu-tic80.o, coff-tic80.o): Add dependencies.
	* coff-tic80.c: Add skeleton, cloned from another coff config.
	* coffcode.h (coff_write_object_contents): Set magic to TIC80MAGIC
 	for TIc80.
1996-12-29 17:56:24 +00:00
Fred Fish
2a0a42d300 Add TIc80 stuff keep/lose stuff. 1996-12-28 04:16:24 +00:00
Fred Fish
cd6213ffae (Lay some groundwork for TIc80 port that will be filled in incrementally.)
* TODO: Correct a misspelling.
start-sanitize-tic80
	* coff-tic80.c: New file for TI TMS320C80 (MVP).
	* cpu-tic80.c: New file for TI TMS320C80 (MVP).
	* configure.in (case $vec): Add tic80coff_vec entry.
	* configure: Regenerate with autoconf.
	* archures.c (bfd_tic80_arch): Declare.
	* bfd-in2.h (enum bfd_architecture): Add bfd_arch_tic80.
	* config.bfd (case ${targ}): Add tic80*-*-coff* target.
	* targets.c (tic80coff_vec): Add decl as extern bfd_target.
	(bfd_target_vector): Add tic80coff_vec entry.
end-sanitize-tic80
1996-12-28 04:09:34 +00:00
Ian Lance Taylor
2503987b96 fix typoo in comment 1996-12-27 17:24:12 +00:00
Ian Lance Taylor
6b8ec6f321 * elflink.h (elf_buckets): Add some more values for larger
binaries.
1996-12-27 16:51:27 +00:00
Ian Lance Taylor
78650abdef * Makefile.in (install): Move subdir_do out of conditional. From
Fred Fish <fnf@cygnus.com>.
1996-12-26 23:37:43 +00:00
Jeff Law
8d16fe5cdb * elf32-mn10200.c (enum reloc_type): Enable basic 8, 16, and
32 bit relocs.
        (elf_mn10200_howto_table): Likewise.
        (mn10200_reloc_map): Likewise.
To keep the assembler quiet.
1996-12-18 17:09:59 +00:00
Ian Lance Taylor
e4f4813f9c * elf32-mips.c (mips_elf_add_symbol_hook): Add 1 to the value of a
mips16 symbol during the link.
	(mips_elf_finish_dynamic_symbol): Subtract 1 from the value of a
	mips16 symbol.
	(mips_elf_link_output_symbol_hook): New static function.
	(elf_backend_link_output_symbol_hook): Define.
1996-12-17 18:58:59 +00:00
Ian Lance Taylor
69e2ff181d * elf.c (bfd_elf_print_symbol): Print the st_other field if it is
not zero.
1996-12-17 16:12:58 +00:00
Ian Lance Taylor
e85f2fbd15 * elf.c (bfd_section_from_shdr): Don't check for reloc sections
against SEC_DEBUGGING sections here (revert patch of December 5).
	* elfcode.h (elf_object_p): Check for them here, instead.
1996-12-16 19:39:39 +00:00
Ian Lance Taylor
e35765a9a2 * elfcode.h (elf_slurp_reloc_table): Add dynamic parameter.
* elf.c (_bfd_elf_canonicalize_reloc): Pass new argument to
	slurp_reloc_table.
	(_bfd_elf_get_dynamic_reloc_upper_bound): New function.
	(_bfd_elf_canonicalize_dynamic_reloc): New function.
	* elf-bfd.h (struct elf_size_info): Update declaration of
	slurp_reloc_table.
	(_bfd_elf_get_dynamic_reloc_upper_bound): Declare.
	(_bfd_elf_canonicalize_dynamic_reloc): Declare.
	* elfxx-target.h: Use new dynamic reloc routines by default.
	* elf64-mips.c (mips_elf64_slurp_reloc_table): Add dynamic
	parameter.
1996-12-15 19:59:18 +00:00
David Edelsohn
21e45f8225 * libaout.h (enum machine_type): Change M_SPARCLET from 142 to 131.
At the request of matra.
1996-12-13 19:17:46 +00:00
Ian Lance Taylor
6270adfb59 Fri Dec 13 13:18:49 1996 Dan Wilder <dan@gasboy.com>
* coffcode.h (coff_set_flags): Use MC68KBCSMAGIC for bfd_arch_m68k
	if NAMES_HAVE_UNDERSCORE is defined.
1996-12-13 18:21:03 +00:00
Ian Lance Taylor
440f391466 * elflink.h (elf_link_add_object_symbols): Only add a weak
symbol if the real definition is in the dynamic symbol table.
	After finding the real definition, then, if it is dynamic, add the
	weak symbol to the dynamic symbol table.
PR 11244.
1996-12-13 02:29:37 +00:00
Ian Lance Taylor
e5c3708d54 * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Make static.
PR 11253.
1996-12-12 20:27:49 +00:00
Michael Meissner
e7bab9df0f Support R_PPC_PLTREL24 1996-12-12 20:08:54 +00:00
Ian Lance Taylor
a5147005bb * ppcboot.c (ppcboot_set_arch_mach): Don't define; it's a
function.
	(ppcboot_bfd_print_private_bfd_data): Don't take the address of an
	array.
PR 11256.
1996-12-12 19:57:22 +00:00
Jeff Law
e14af8fc41 * elf32-mn10300.c (reloc_type): Remove big endian mn10300 reloc
variants.
        (elf32_mn10300_howto_table, mn10300_reloc_map): Likewise.
        (bfd_elf32_mn10300_reloc): Write data in little endian format.
        * reloc.c: Remove mn10300 big endian relocs.
        * bfd-in2.h, libbfd.h: Rebuilt.

        * elf32-mn10200.c: Update from elf32-mn10300.c.
1996-12-11 06:31:23 +00:00
Jeff Law
31cffd2ee6 * elf32-mn10300.c (elf_symbol_leading_char): Define. 1996-12-06 22:51:44 +00:00
Jeff Law
207e944c81 * elf32-mn10300.c: Add some comments.
Still cleaning up.
1996-12-06 22:23:37 +00:00
Ian Lance Taylor
6dcf1ef5de * ihex.c (ihex_scan): Always initialize buf before jumping to
error_return.
	(ihex_read_section): Likewise.
1996-12-06 22:20:24 +00:00
Jeff Law
d28f058e54 * elf32-mn10300.c (elf_mn10300_howto_table): Don't set partial-
inplace for most relocs.
1996-12-06 05:35:00 +00:00
Ian Lance Taylor
80be821d2e * elflink.h (elf_link_add_object_symbols): Calling check_relocs
even if SEC_ALLOC is not set.
	* elf32-i386.c (elf_i386_check_relocs): Don't check SEC_ALLOC
	when deciding whether to copy a reloc into a shared object.
	(elf_i386_relocate_section): Likewise.
	* elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
	(elf32_sparc_relocate_section): Likewise.
	* elf32-i386.c (elf_i386_check_relocs): Don't set SEC_ALLOC in a
	reloc section if it is not set in the source section.
	* elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
	* elf.c (bfd_section_from_shdr): Mark a reloc section associated
	with a SEC_DEBUGGING section as SEC_DEBUGGING.
PR 11174.
1996-12-05 18:47:03 +00:00
Michael Meissner
e5c4495c9e #if 0 some code that is not used yet 1996-12-04 19:19:15 +00:00
Ian Lance Taylor
5dda64611e * cofflink.c (_bfd_coff_generic_relocate_section): Print an error
message for bfd_reloc_outofrange, rather than aborting.  From
	Philippe De Muyter <phdm@info.ucl.ac.be>.
1996-12-02 18:18:33 +00:00
Ian Lance Taylor
179b58d949 * cofflink.c (_bfd_coff_final_link): If there aren't any relocs in
a relocateable link, don't try to process them.  From Heinz Wrobel
	<wrobel@lpr.e-technik.tu-muenchen.de>.
1996-12-02 17:15:05 +00:00
Jeff Law
943686fa04 * elf32-mn10300.c (mn10300_info_howto): Renamed from
mn10300-Info_howto_rel.  Tweak reloc argument to be an
        Elf32_Internal_Rela.
        (USE_RELA): Define instead of USE_REL.
        (elf_info_to_howto, elf_info_howto_rel): Corresponding changes.
1996-12-02 07:44:50 +00:00
Peter Schauer
0e0f410619 * configure.in, configure: Handle mips*-sgi-irix6*.
* irix-core.c (irix_core_core_file_p):  Accept CORE_MAGICN32
	core files.
1996-12-01 08:31:05 +00:00
Ian Lance Taylor
15aafe49cc * elf32-i386.c (elf_i386_relocate_section): Warn about a
relocation against a symbol defined in a section with no output
	section.
PR 11174.
1996-11-27 17:11:05 +00:00
Ian Lance Taylor
dfc7020d17 * aclocal.m4 (BFD_CC_FOR_BUILD): Don't require AC_C_CROSS.
* configure, config.in: Rebuild with autoconf 2.12.
1996-11-26 21:53:58 +00:00
Ian Lance Taylor
6c02f1a02c * elf-bfd.h (struct elf_link_hash_entry): Add other field.
* elf.c (_bfd_elf_link_hash_newfunc): Initialize other field.
	(swap_out_syms): Set st_other from existing st_other field.
	* elflink.h (elf_link_add_object_symbols): Store st_other in hash
	table other field.
	(elf_link_output_extsym): Set the other field from the global hash
	table entry.
	* elf32-mips.c (enum reloc_type): Add R_MIPS16_26.
	(elf_mips16_jump_howto): New static variable.
	(mips16_jump_reloc): New static function.
	(bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS16_JMP.
	(mips_info_to_howto_rel): Handle R_MIPS16_26.
	(mips_elf_relocate_section): Handle R_MIPS16_26.  Handle R_MIPS_26
	to a mips16 symbol.
	* reloc.c (BFD_RELOC_MIPS16_JMP): Add to list of relocs.
	* bfd-in2.h, libbfd.h: Rebuild.
	* cpu-mips.c (arch_info_struct): Add mips:16 entry.
1996-11-26 16:43:03 +00:00
Ian Lance Taylor
f082b5eaea * configure.host: Use long long for mips-sgi-irix6*. 1996-11-26 02:38:33 +00:00
Jeff Law
12fdaaf821 * elf32-mn10300.c (bfd_elf32_mn10300_reloc): New function.
(enum reloc_type): Add more reloc types.
        (elf32_mn10300_howto_table): Update for new reloc types.
        (elf32_mn10300_reloc_map): Update for new reloc types.
        * reloc.c: Add some new relocs for the mn10300 series.
        * bfd-in2.h, libbfd.h: Rebuilt.
Last week's reloc work.
1996-11-25 15:59:07 +00:00
Jeff Law
23def2765b * som.c (setup_sections): Don't lose for a space which has
no data, but some symbols.
binutils/11140
1996-11-23 20:30:54 +00:00
Ian Lance Taylor
a600a89e4f * sunos.c (struct sunos_link_hash_table): Add got_needed field.
(sunos_link_hash_table_create): Initialize got_needed.
	(sunos_create_dynamic_sections): Only set .got section size if it
	is not already set.  Set got_needed.
	(bfd_sunos_size_dynamic_sections): Check got_needed.  Only set
	sdynptr, and only handle dynamic sections, if dynamic sections are
	needed.
	(sunos_scan_std_relocs): Pass false to create_dynamic_sections.
	Initialize .got section.
	(sunos_scan_ext_relocs): Likewise.
	(sunos_write_dynamic_symbol): Set up PLT entry even if this is not
	a dynamic symbol.
	(sunos_finish_dynamic_link): Check got_needed.  Only set up
	dynamic linking information if needed.
PR 11074.
1996-11-22 16:39:17 +00:00
Rob Savoye
aa09d6b2fb * config.bfd: Added VersaDOS format to the Ericsson configuration. 1996-11-21 19:04:56 +00:00
Jeff Law
c3239e6693 * elf32-mn10300.c: Rough cut at relocs for the mn10300. 1996-11-20 23:31:13 +00:00
Dawn Perchik
cf13e3fc30 * filemode.c: Include sysdep.h.
* ihex.c: Add casts to eliminate compiler warnings.
    * sunos.c: Add casts to eliminate compiler warnings.
1996-11-12 23:28:49 +00:00
Michael Meissner
9e23db7616 Add more support for V.4 shared libs 1996-11-11 15:40:04 +00:00
David Edelsohn
affcfcf9af * elf32-m32r.c (elf_m32r_howto_table, R_M32R_24): Use
complain_overflow_unsigned.
1996-10-29 23:09:51 +00:00
Ian Lance Taylor
c0e8bfc01c add missing end-sanitize-v850 1996-10-29 22:04:56 +00:00
Martin Hunt
421a2956fe Tue Oct 29 12:53:46 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* elf32-d10v.c (elf_d10v_howto_table): Don't complain on
	overflows for R_D10V_16 and R_D10V_18.
1996-10-29 20:55:52 +00:00
Ian Lance Taylor
061cc10b03 * ieee.c (ieee_write_section_part): Use LMA rather than VMA.
(do_with_relocs): Likewise.
	(do_as_repeat): Likewise.
	(copy_expression): Likewise.
PR 10946.
1996-10-29 18:26:11 +00:00
Stu Grossman
27c7e9077d * aclocal.m4, configure: Set USE_BINARY_FOPEN for *-*-windows. 1996-10-24 16:10:11 +00:00
Jeff Law
90ffe48b18 * elf32-v850.c: Add comments about assumptions about
char, short & long sizes.
        (elf32_v850_bfd_final_link_relocate): Fix sign extension
        problems for several relocs.
Still fixing sda/tda/zda stuff.
1996-10-23 21:10:55 +00:00
Ian Lance Taylor
84be2a8fa2 * xcofflink.c (bfd_xcoff_import_symbol): Don't allocate ldsym.
Store import file index in ldindx.
	(xcoff_build_ldsyms): Assume that ldsym was not previously
	allocated.  For an imported symbol, copy ldindx into l_ifile.
1996-10-23 04:22:34 +00:00
Jeff Law
c322f1b523 * elf32-v850.c (elf_v850_howto_table): Fix ordering of
R_V850_ZDAOFFSET and R_V850_TDAOFFSET.  Fix various
        fields in R_V850_TDAOFFSET.
        (elf32_v850_bfd_final_link_relocate): Tweak pc-relative
        relocs to work more like other relocs.  Handle R_V850_TDAOFF
        relocations.
v850 tda, sda & zda stuff.
1996-10-23 04:10:41 +00:00
Jeff Law
725b96f599 * elf32-v850.c: Include bfdlink.h.
(bfd_elf32_v850_reloc): Return an error if we get a reloc
        we can't handle.
        (elf32_v850_bfd_final_link_relocate): New function.
        (v850_elf_relocation_section): Likewise.
        (elf_backend_relocate_section): Define.
New-style linker for the v850 (necessary to handle zda, sda & tda).
sda & tda relocs seem to be working.  No tda reloc support yet.
1996-10-23 01:24:24 +00:00
Ian Lance Taylor
40c0ea5ad6 * binary.c (binary_set_section_contents): Ignore sections which
don't have SEC_LOAD and SEC_ALLOC set.
PR 10914.
1996-10-22 21:23:50 +00:00
Ian Lance Taylor
68553b6361 * elf32-mips.c (elf_mips_howto_table): Describe R_MIPS_64.
(mips32_64bit_reloc): New static function.
	(mips_reloc_map): Add entry for BFD_RELOC_64.
	(mips_elf_relocate_section): Handle R_MIPS_64.
1996-10-21 23:56:13 +00:00
Jeff Law
9c52f4b2f7 * linker.c (_bfd_generic_final_link): Avoid losing static
symbols in the .bss section.
Something Stu noticed.
1996-10-21 18:15:24 +00:00
Ian Lance Taylor
bd4dd3d011 * linker.c (default_indirect_link_order): Print an error message
when attempting to do a relocateable link with different object
	file formats, rather than calling abort.
1996-10-21 14:56:17 +00:00
David Edelsohn
5691054491 * reloc.c (m32r relocs): Rename them.
* bfd-in2.h, libbfd.h: Regenerated.
	* elf32-m32r.c: Update.
	(m32r_elf_10_pcrel_reloc): New function.
	(elf_m32r_howto_table, R_M32R_10_PCREL entry): Use it.
	(elf_m32r_howto_table, R_M32R_24 entry): Fix {src,dst}_masks.
1996-10-17 17:46:53 +00:00
Jeff Law
b6d08fce22 * elf32-v850.c (enum reloc_type): Add R_V850_SDA_OFFSET,
R_V850_TDA_OFFSET and R_V850_ZDA_OFFSET.
        (elf_v850_howto_table): Corresponding changes.
        (elf_v850_reloc_map): Corresponding changes.
        * reloc.c: Add additional V850 relocations.
        * bfd-in2.h, libbfd.h: Rebuilt.
1996-10-17 04:45:29 +00:00
Jeff Law
4948949ea2 * linker.c (_bfd_generic_final_link): Set "linker_mark" for
all sections that will be included in the output file.
        (_bfd_generic_link_output_symbols): Discard symbols in sections
        which are being discarded.
Fixes 4 failures in the g++ testsuite on the v850.
1996-10-16 20:27:18 +00:00
Jeff Law
e1d98a0a65 * elf32-v850.c (bfd_elf32_v850_reloc): Mask out bits we
no longer want in pc-relative relocs.
Fixing some g++ testsuite failures.
1996-10-16 17:26:50 +00:00
Jeff Law
05f1baaa20 * elf32-v850.c (bfd_elf32_v850_reloc): Don't silently
accept a reloc against an undefined sybmol!
jeez.  I'm going to go sit in the corner and hide.
1996-10-16 04:18:51 +00:00
Stu Grossman
1336da39bd * elf32-v850.c: Define elf_symbol_leading_char to be '_'. 1996-10-15 23:19:29 +00:00
Ian Lance Taylor
ede836b9aa * VERSION: Bump for new relocation. 1996-10-15 20:58:52 +00:00
Ian Lance Taylor
c24453fece * hosts/i386bsd.h: If NBPG is not defined, define it as
PAGE_SIZE, for recent versions of FreeBSD.
1996-10-15 16:41:38 +00:00
Ian Lance Taylor
e7a5045867 * configure.host: Use `long long' as the 64 bit type on a Solaris
host, since both gcc and the SunPRO compilers support it.
1996-10-14 16:38:13 +00:00
Ian Lance Taylor
6b31fd3af3 Mon Oct 14 11:17:24 1996 Richard Henderson <rth@tamu.edu>
* reloc.c: Create a new BFD_RELOC_ALPHA_ELF_LITERAL.  It was a
	mistake to have reused the ECOFF LITERAL for ELF since they have
	different semantics.
	* elf64-alpha.c (elf_reloc_map): Map from ELF_LITERAL.
	* bfd-in2.h, libbfd.h: Rebuild.

	* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Trap .got
	section overflow.

	* elf64-alpha.c (elf64_alpha_relocate_section): Do not emit a
	dynamic relocation for an undefweak symbol when we are building
	a static executable.
1996-10-14 15:21:54 +00:00
Stan Shebs
f20f247499 * mpw-make.sed (config.bfd, targmatch.sed): Edit references to
point explicitly to srcdir.
	(targmatch.h): Edit references to point explicitly to objdir.
1996-10-10 18:21:37 +00:00