Commit Graph

3047 Commits

Author SHA1 Message Date
Jeff Law
57289b5c5d * coffcode.h: Allow specific backends to override the
bfd_link_add_symbols routine.
Not used yet, but it will be soon for hmse.
1996-03-14 23:17:50 +00:00
Jeff Law
4e05424729 * coff-h8300.c: Include genlink.h.
(howto_table): Add R_MEM_INDIRECT.
        (rtype2howto): Support R_MEM_INDIRECT.
        (h8300_reloc16_extra_cases): Handle R_MEM_INDIRECT like R_RELBYTE
        for now.
hmse
1996-03-14 23:06:51 +00:00
Ian Lance Taylor
8881b321e0 * linker.c (bfd_wrapped_link_hash_lookup): New function.
(_bfd_generic_link_add_one_symbol): Remove BFD_ASSERT on hash
	table string.  Use bfd_wrapped_link_hash_lookup.
	(_bfd_generic_link_write_global_symbol): Remove BFD_ASSERT on hash
	table string.
	* aoutx.h (aout_link_write_symbols): Use the name from the hash
	table, if any, when writing out symbols.
	(aout_link_input_section_std): Use the name from the hash table,
	if any, when reporting undefined symbols.
	(aout_link_input_section_ext): Likewise.
	(aout_link_reloc_link_order): Use bfd_wrapped_link_hash_lookup.
	* bout.c (get_value): Likewise.
	* cofflink.c (_bfd_coff_reloc_link_order): Likewise.
	* ecoff.c (ecoff_reloc_link_order): Likewise.
	* elflink.h (elf_link_add_object_symbols): Likewise.
	(elf_reloc_link_order): Likewise.
	* linker.c (_bfd_generic_link_output_symbols): Likewise.
	(_bfd_generic_reloc_link_order): Likewise.
	(default_indirect_link_order): Likewise.
	* reloc16.c (bfd_coff_reloc16_get_value): Likewise.
	* sunos.c (sunos_add_one_symbol): Likewise.
	* xcofflink.c (xcoff_link_add_symbols): Likewise.
	(bfd_xcoff_link_count_reloc): Likewise.
	(xcoff_reloc_link_order): Likewise.
1996-03-12 23:14:58 +00:00
Ian Lance Taylor
a10d3dec45 Tue Mar 12 12:41:17 1996 David Mosberger-Tang <davidm@koala.azstarnet.com>
* coff-alpha.c (alpha_relocate_section): Use
	info->callbacks_warning, rather than _bfd_error_handler, for
	"multiple gp" warning.
1996-03-12 17:42:19 +00:00
Ian Lance Taylor
ea2488ad2e * configure: Rebuild with autoconf 2.8. 1996-03-12 17:22:07 +00:00
Ian Lance Taylor
c189fdfb8e * stab-syms.c (__define_stab_duplicate): Define.
(bfd_get_stab_name): Rename from aout_stab_name.  Rewrite to use a
	switch.
	* bfd-in.h (bfd_get_stab_name): Declare.
	* bfd-in2.h: Rebuild.
	* Makefile.in: Rebuild dependencies.
	(BFD_LIBS): Add stab-syms.o.
	(BFD_LIBS_CFILES): Add stab-syms.c.
	(BFD32_BACKENDS): Remove stab-syms.o.
	(BFD32_BACKENDS_CFILES): Remove stab-syms.c.
	* configure.in: Don't list stab-syms.o in bfd_backends.
	* configure: Rebuild.
	* libaout.h (aout_stab_name): Don't declare.
	* aoutx.h (NAME(aout,get_symbol_info)): Call bfd_get_stab_name,
	not aout_stab_name.
1996-03-11 17:33:43 +00:00
Ian Lance Taylor
8f218e05fc * configure.in: Don't set SHLIB or SHLINK to an empty string,
since they appear as targets in Makefile.in.
	* configure: Rebuild.
1996-03-05 20:52:52 +00:00
Ian Lance Taylor
c5bde1ef85 * sunos.c (sunos_scan_ext_relocs): If not making a shared library,
don't fiddle with a symbol which is not defined anywhere.
1996-03-05 17:03:18 +00:00
Ian Lance Taylor
4e59f52302 * xcofflink.c (xcoff_mark): Treat undefined imported symbols as
though they are defined in a shared library.
	(xcoff_build_ldsyms): Likewise.
1996-03-05 01:01:11 +00:00
Ian Lance Taylor
ea2504d592 * coffgen.c (coff_find_nearest_line): Don't look at the line
numbers for the section if section->lineno is NULL.
1996-03-04 23:42:12 +00:00
Ian Lance Taylor
cb84f0284f * elf.c (_bfd_elf_symbol_from_bfd_symbol): Print a useful error
message rather than calling BFD_ASSERT.
	* elfcode.h (write_relocs): Check return value of
	_bfd_elf_symbol_from_bfd_symbol.
1996-03-04 17:50:38 +00:00
Michael Meissner
6e036cf7f6 When putting common items in .sdata, make sure SEC_LOAD flag is cleared 1996-03-01 14:47:46 +00:00
Jeff Law
d08435de5e * libhppa.h (hppa_reloc_field_selector_type): Add R_HPPA_NLSEL
and R_HPPA_NLRSEL.
        (e_nsel, e_nlsel, e_nlrsel): Undefine.  Add to
        hppa_reloc_field_selector_type_alt.
        (hppa_field_adjust): Handle e_nlsel, e_nlrsel.  Fix e_nsel handling.
        * som.c (hppa_som_gen_reloc_type): Handle N', NL' NLR' field
        selectors.
        (som_write_fixups): Finish handling of R_N0SEL and R_N1SEL.
More hpux10 crud.
1996-02-28 18:27:51 +00:00
Ian Lance Taylor
0960941513 * elf.c (assign_file_positions_for_segments): Adjust the segment
memory size for the alignment of a SEC_ALLOC section, not just a
	SEC_LOAD section.
1996-02-28 16:01:04 +00:00
Ian Lance Taylor
55626bf086 Tue Feb 27 14:17:31 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* m68klinux.c: New file.
	* hosts/m68klinux.h: New file.
	* config.bfd (m68*-*-linuxaout*, m68*-*-linux*): New targets.
	* configure.in (m68*-*-linux*): New native host.
	(m68klinux_vec): New vector.
	* configure: Rebuild.
	* targets.c (m68klinux_vec): Declare.
	* i386linux.c (bfd_i386linux_size_dynamic_sections): Renamed from
	bfd_linux_size_dynmic_sections to avoid clash with m68klinux.c.
	* bfd-in.h (bfd_i386linux_size_dynamic_sections): Rename
	declaration from bfd_linux_size_dynamic_sections.
	(bfd_m68klinux_size_dynamic_sections): Declare.
	* bfd-in2.h: Rebuild.
	* Makefile.in: Rebuild dependencies.
	(BFD32_BACKENDS): Add m68klinux.o.
	(BFD32_BACKENDS_CFILES): Add m68klinux.c.
1996-02-27 19:31:29 +00:00
Jeff Law
6c7b309055 * libhppa.h (pa_arch): Add pa20.
(hppa_reloc_field_selector_type): Add R_HPPA_NSEL.
        (e_nsel): Undefine.  Add to hppa_reloc_field_selector_type_alt.
        (hppa_field_adjust): Handle e_nsel.
        * som.c: Provide default definitions for many new relocs found only
        in hpux10 include files.
        (som_fixup_formats): Add several new relocs from hpux10.
        (som_hppa_howto_table): Add hpux10 relocs.
        (som_write_fixups): Handle R_N0SEL and R_N1SEL hpux10 relocs.
Quick stab at handling some of the new hpux10 features.
1996-02-27 18:50:42 +00:00
Ian Lance Taylor
8835846954 * cofflink.c (_bfd_coff_link_input_bfd): When merging, skip names
starting with '$' the way we skip names starting with '.'.  When
	updating x_endndx, don't be fooled by an index which has been
	merged.
PR 9024.
1996-02-26 22:27:30 +00:00
Stan Shebs
14fd46168d * mpw-make.sed: Edit out recent shared library support, and
rules to rebuild .h files using doc/chew.
1996-02-26 20:59:24 +00:00
Ian Lance Taylor
3d9f042ca8 Mon Feb 26 14:48:39 1996 David Mosberger-Tang <davidm@AZStarNet.com>
* ecoff.c (ecoff_compute_section_file_positions): Adjust the file
	size even of sections with no contents.
1996-02-26 19:54:58 +00:00
Ian Lance Taylor
bdec62283a * cofflink.c (_bfd_coff_link_input_bfd): Don't try to optimize a
struct/union/enum type with no elements.
PR 9024.
1996-02-26 19:01:53 +00:00
Ian Lance Taylor
15f4406cf8 * bfd.c (bfd_errmsg): Handle a NULL return from strerror. 1996-02-24 23:58:44 +00:00
Ian Lance Taylor
c843513316 * archive.c (bfd_generic_archive_p): If the first file in the
archive can not be recognized as an object, don't assume that this
	is the wrong format.
PR 9082.
1996-02-24 20:45:20 +00:00
Ian Lance Taylor
053ae1d77a * elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the
format is not bfd_object.
	(bfd_elf_get_dt_soname): Likewise.
1996-02-24 20:03:55 +00:00
Ian Lance Taylor
ea74d97907 * coff-sh.c (sh_relax_delete_bytes): Correct range of R_SH_USES
reloc.
PR 9043.
1996-02-21 18:59:56 +00:00
Ian Lance Taylor
fe6fc35fdb * sunos.c (SUNOS_CONSTRUCTOR): Define.
(sunos_add_one_symbol): Don't let a symbol from a dynamic object
	override a constructor symbol.  Set SUNOS_CONSTRUCTOR when
	appropriate.
1996-02-21 02:51:02 +00:00
J.T. Conklin
871a3f3b24 * bfd.c (tdata): Add netbsd_core_data.
* bfd-in2.h: Regenerated.
1996-02-21 00:29:38 +00:00
Fred Fish
d378530148 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
Remove duplicate definition of gp.
1996-02-20 16:31:32 +00:00
Ian Lance Taylor
81bdcecf63 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Don't
assume that we can set the GP value and then get the same value,
	since it won't be true if the output file is neither ELF nor
	ECOFF.
	* coff-mips.c (mips_adjust_reloc_in): Don't bother to use
	_bfd_get_gp_value here.
	(mips_gprel_reloc): Don't assume we can set and get the GP value.
	* elf32-mips.c (mips_elf_hi16_reloc): Get gp value from
	mips_elf_final_gp.
	(mips_elf_lo16_reloc): Likewise.
	(mips_elf_final_gp): Add pgp parameter.  Set it to the GP value.
	Don't require that the BFD be ELF.
	(mips_elf_gprel16_reloc): Get gp value from mips_elf_final_gp.
	(mips_elf_gprel32_reloc): Likewise.
	(mips_elf_relocate_section): Don't assume we can set and get the
	GP value.
	(mips_elf_finish_dynamic_symbol): Don't bother to use
	_bfd_get_gp_value here.

	* elf32-mips.c (mips_elf_create_procedure_table): Initialize sv.
	Don't change epdr between malloc and free.  Be careful not to free
	NULL pointers.  Zero out the first RPDR.
1996-02-19 21:12:48 +00:00
Ian Lance Taylor
7b61165adc * configure.host: On Linux, only pass -rpath option if $(libdir)
is neither /lib nor /usr/lib.  From Alan Modra
	<alan@mullet.Levels.UniSA.Edu.Au>.
1996-02-19 17:45:28 +00:00
Ian Lance Taylor
60a49e7f8a * elf-bfd.h (struct elf_obj_tdata): Rename dt_needed_name to
dt_name.
	(elf_dt_name): Rename from elf_dt_needed_name.
	* elf.c (bfd_elf_set_dt_needed_name): Use elf_dt_name, not
	elf_dt_needed_name.
	(bfd_elf_get_dt_soname): New function.
	* elflink.h (elf_link_add_object_symbols): Use elf_dt_name, not
	elf_dt_needed_name.  Save the SONAME back in elf_dt_name.
	* bfd-in.h (bfd_elf_get_dt_soname): Declare.
	* bfd-in2.h: Rebuild.
1996-02-19 17:41:04 +00:00
David Edelsohn
b268e26104 * elf32-sparc.c (elf32_sparc_reloc_type_lookup): Renamed from
_bfd_sparc_elf_reloc_type_lookup.
	(bfd_elf32_bfd_reloc_type_lookup): Update.
	* elf64-sparc.c (SPARC64_OLD_RELOCS): Define.
	(sparc64_elf_howto_table): Define.
	(sparc_reloc_map): Define.
	(sparc64_elf_reloc_type_lookup): New function.
	(sparc_elf_wdisp16_reloc): New function.
	(elf_info_to_howto): Use sparc64_elf_howto_table.
	(sparc64_elf_relocate_section): Likewise.
	(bfd_elf64_bfd_reloc_type_lookup): Update.
1996-02-19 10:58:20 +00:00
Ian Lance Taylor
9e2ef09802 * configure.host: Check for 'do not mix' from native linker before
trying to use -rpath.
1996-02-18 20:06:40 +00:00
Ian Lance Taylor
cba3f8a9be * bfd.c (_bfd_get_gp_value): New function.
(_bfd_set_gp_value): New function.
	* libbfd-in.h (_bfd_get_gp_value): Declare.
	(_bfd_set_gp_value): Declare.
	* libbfd.h: Rebuild.
	* coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Use
	_bfd_get_gp_value and _bfd_set_gp_value rather than referring
	directly to the fields in the tdata information.
	(alpha_relocate_section): Likewise.
	* coff-mips.c (mips_adjust_reloc_in): Likewise.
	(mips_gprel_reloc): Likewise.
	(mips_relocate_section): Likewise.
	* elf32-mips.c (mips_elf_hi16_reloc): Likewise.
	(mips_elf_lo16_reloc): Likewise.
	(mips_elf_final_gp): Likewise.
	(mips_elf_gprel16_reloc): Likewise.
	(mips_elf_gprel32_reloc): Likewise.
	(mips_elf_relocate_section): Likewise.
	(mips_elf_finish_dynamic_symbol): Likewise.
PR 8449.
1996-02-16 19:29:01 +00:00
Ian Lance Taylor
4c70373f84 * bout.c (b_out_set_arch_mach): Recognize bfd_mach_i960_jx. 1996-02-16 17:48:04 +00:00
Ian Lance Taylor
f54c748237 modify last change 1996-02-15 22:09:10 +00:00
Ian Lance Taylor
65eed09595 * configure.in: Call AC_PROG_CC before configure.host. Don't
substitute CFLAGS.
	* configure: Rebuild.
	* configure.host: Don't set information which autoconf should
	figure out, namely CC, CFLAGS, LDFLAGS, AR, and RANLIB.
	* Makefile.in (CFLAGS): Set to -g, not @CFLAGS@.
1996-02-15 22:05:32 +00:00
Ian Lance Taylor
1429341983 * configure.host: Remove go32 and win32 host information, since it
should no longer be needed.
1996-02-15 21:28:48 +00:00
Ian Lance Taylor
edf3fe4885 * elf.c (map_sections_to_segments): If we have a .dynamic section,
then start a new segment rather than put a writable section in a
	readonly segment.
1996-02-15 20:27:29 +00:00
Ian Lance Taylor
b5e4f36959 * configure.host: Set RPATH_ENVVAR. 1996-02-15 18:56:03 +00:00
Ian Lance Taylor
f2e33e27a1 * Makefile.in: Rebuild dependencies. 1996-02-15 17:48:14 +00:00
Ian Lance Taylor
a0a2dd54fd * elflink.c (_bfd_elf_create_linker_section): Remove unused
zero_section variable.
1996-02-15 16:32:47 +00:00
Ian Lance Taylor
52c6bc4d97 Thu Feb 15 10:39:17 1996 H.J. Lu <hjl@zoom.com>
* Makefile.in ($(srcdir)/bfd-in2.h): Rename target from bfd-in2.h.
	($(srcdir)/libbfd.h): Rename from libbfd.h.
	($(srcdir)/libcoff.h): Rename from libcoff.h.
1996-02-15 15:42:10 +00:00
Ian Lance Taylor
cb50baeab0 Wed Feb 14 16:29:07 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de>
* ieee.c (ieee_write_expression): Only use an R variable for a
	local symbol.  Don't output a zero offset.  Handle a zero address.
	(SRC_MASK, PCREL_OFFSET): Define based on KEEPMINUSPCININST.
	(rel32_howto, rel16_howto, rel8_howto): Use SRC_MASK and
	PCREL_OFFSET.
	(parse_expression): Don't try to handle multiple occurrences of a
	P variable.  Handle I variables differently from X variables.  Fix
	the order of minus expressions.
	(ieee_slurp_external_symbols): Generate an I variable for an NN
	record.  Fix handling of ATI and ATX records.
	(ieee_slurp_sections): Only set minimal section attributes.
	Adjust them later, based on the section contents.
	(ieee_object_p): Read in the file until just after the ME record.
	Call ieee_slurp_section_data to set the section flags.
	(do_one): Add iterations parameter.  Only repeat the first load
	item.  Set the section and file reloc flags.
	(ieee_slurp_section_data): Set section flags.  Pass iterations to
	do_one.
	(ieee_canonicalize_reloc): Handle I variables.
	(do_with_relocs): Only emit relocation size when necessary.
	Increase MAXRUN to 127.  Change ov to be assigned, and take
	src_mask and pcrel_offset into account.
	(ieee_write_data_part): Skip sections that are not loaded.
	(ieee_write_external_part): Don't output optional last entry of WX
	records.
	(ieee_write_me_part): Make setting of me_record neater.
	(ieee_generic_stat_arch_elt): Get the size of an archive element.
1996-02-14 22:40:17 +00:00
Ian Lance Taylor
c9e5279f23 Wed Feb 14 16:29:07 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de>
* syms.c (stt): Add entries for zerovars, vars, and code.

	* elfcode.h (validate_reloc): New static function.
	(write_relocs): Call validate_reloc for non ELF relocs.

	* elfxx-target.h (elf_symbol_leading_char): Define if not defined.
	(TARGET_BIG_SYM): Use elf_symbol_leading_char.
	(TARGET_LITTLE_SYM): Likewise.

	* config.bfd (m68*-*-psos*): New target.
1996-02-14 21:32:24 +00:00
Ian Lance Taylor
b7384d226b Add reloc.c entries MIPS_CALL_HI16/MIPS_CALL_LO16. 1996-02-14 01:36:01 +00:00
Ian Lance Taylor
e9f03cd450 * reloc.c (BFD_RELOC_MIPS_GOT_HI16): Define.
(BFD_RELOC_MIPS_GOT_LO16): Define.
	* bfd-in2.h, libbfd.h: Rebuild.
	* elf32-mips.c (mips_reloc_map): Map new relocs.
1996-02-13 22:08:52 +00:00
Ian Lance Taylor
d9d65be670 Tue Feb 13 15:56:22 1996 Bryan Ford <baford@snake.cs.utah.edu>
* i386msdos.c: Remove some #if 0 code.
	(msdos_write_object_contents): Don't include empty sections in the
	size computation, regardless of their address.
1996-02-13 21:00:00 +00:00
Ian Lance Taylor
fe7c066a10 * configure.host: Set HDLFLAGS for *-*-hpux with --enable-shared. 1996-02-13 20:24:10 +00:00
Ian Lance Taylor
1ab628e46b * Makefile.in ($(SHLINK)): Check ts against $(SHLIB), not
$(SHLINK).
1996-02-13 20:14:54 +00:00
Ian Lance Taylor
db5970c7cc * ieee.c (get_symbol): Set the section to bfd_abs_section.
(do_with_relocs): If EXEC_P is set and there are no relocs, use a
	simple number for the section address, rather than an expression.
	Limit the number of bytes between relocs to MAXRUN.
	(ieee_write_me_part): Set me_record to the file offset after the
	start address.
	(ieee_write_processor): New static function.
	(ieee_write_object_contents): Use ieee_write_processor.
1996-02-13 19:37:40 +00:00
Ian Lance Taylor
318b7c1833 * coff-aux.c: Change include of aux.h was to aux-coff.h. 1996-02-09 15:53:53 +00:00
Ian Lance Taylor
56b6469038 Thu Feb 8 14:01:03 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf32-m68k.c (elf_m68k_relocate_section): For a R_68K_RELATIVE
	relocation put the addend both in the reloc entry and the data.
	(elf_m68k_finish_dynamic_symbol): Likewise.  Mask out marker in
	GOT offset value.

	* elf32-m68k.c (elf_m68k_relocate_section): If -Bsymbolic, resolve
	a R_68K_PCxx reloc against a defined global symbol directly.
	(elf_m68k_check_relocs): Don't count such a reloc.

	* elf32-m68k.c (elf_m68k_check_relocs): Don't record a symbol with
	a PLTxx reloc as dynamic.  Disallow PLTxxO reloc against a local
	symbol for now, otherwise always record the symbol as dynamic.
	(elf_m68k_adjust_dynamic_symbol): If a symbol with a PLTxx reloc
	is not referenced by a dynamic object, and we are not making a
	shared object, then don't make a PLT entry.  If we do make a PLT
	entry, make sure the symbol has been recorded as dynamic.
1996-02-08 19:07:20 +00:00
Ian Lance Taylor
5d649ca82a * configure.host: When making a shared library, set HLDFLAGS to
pass an appropriate -rpath option.  Use the make variable SONAME
	as the shared library soname, rather than computing it here.  On
	SunOS, build stamp-tshlink in place of $(SHLINK).
	* Makefile.in (SONAME): New variable.
	($(SHLINK)): Make a link to the transformed name, as well.
	(stamp-tshlink): New target.
	(install): Skip stamp-tshlink during install.
1996-02-07 18:59:11 +00:00
Michael Meissner
8cc98cd5c1 Fix WRS bug where -Ttext 0x10000 left first program header invalid 1996-02-07 18:41:52 +00:00
J.T. Conklin
fe16107dfa * configure.in (*-*-netbsd*): Set COREFILE to netbsd-core.c.
don't define TRAD_HEADER.
* configure: Rebuild.
* netbsd-core.c: New file, support for NetBSD core files.
* hosts/*nbsd.h: Removed.
1996-02-06 22:19:05 +00:00
David Edelsohn
f178301669 * reloc.c (BFD_RELOC_SPARC_[567]): New reloc types.
(BFD_RELOC_SPARC_LO7 reloc type): Deleted.
	* libbfd.h, bfd-in2.h: Regenerated.
	* elf32-sparc.c (_bfd_sparc_elf_reloc_type_lookup): Renamed from
	bfd_elf32_bfd_reloc_type_lookup.
	(reloc_type{,_names}): Deleted.
	(_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table.
	Add sparc64 relocs.
	(sparc_reloc_map): Add sparc64 relocs.
	(sparc_elf_notsupported_reloc): New static function.
	(sparc_elf_wdisp16_reloc): New static function.
	(elf32_sparc_check_relocs): Handle R_SPARC_WDISP{16,19}.
	(elf32_sparc_relocate_section): Likewise.
	(bfd_elf32_bfd_reloc_type_lookup): Define.
	* elf64-sparc.c (sparc64_elf_wdisp16_reloc): Deleted.
	(reloc_type{,_names}): Deleted.
	(elf_sparc_howto_table): Deleted.
	(sparc_reloc_map): Deleted.
	(_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table.
	(bfd_elf64_bfd_reloc_type_lookup): Change from function to #define.
1996-02-06 20:23:08 +00:00
Ian Lance Taylor
047c57ac71 Rename XL to JX, and remove sanitization. 1996-02-06 19:15:26 +00:00
Ian Lance Taylor
2300e21774 * configure.host: Make SHLIB_CFLAGS include $(PICFLAG) on a
*-*-hpux* host.
1996-02-06 17:34:18 +00:00
Ian Lance Taylor
48fd00b6d8 * Makefile.in (program_transform_name): New variable.
(install): Transform library name before installing it.
1996-02-06 17:27:44 +00:00
Ian Lance Taylor
cbe75cb664 * archures.c (bfd_mach_i960_hx): Define.
* bfd-in2.h: Rebuild.
	* cpu-i960.c (scan_960_mach): Accept machine "hx".
	(MATRIX): Expand entries for HX.
	(arch_info_struct): Add i960:hx entry.
	* bout.c (b_out_set_arch_mach): Handle bfd_mach_i960_hx.
	* coffcode.h (coff_set_arch_mach_hook): Handle F_I960HX.
	(coff_set_flags): Handle bfd_mach_i960_hx.
1996-02-05 23:57:39 +00:00
Ian Lance Taylor
44f795f7fe Support for building as a shared library, based on patches from
Alan Modra <alan@spri.levels.unisa.edu.au>:
	* configure.in: Add AC_ARG_ENABLE for shared and commonbfdlib.
	New substitutions: ALLLIBS, PICFLAG, SHLIB, SHLIB_CC,
	SHLIB_CFLAGS, COMMON_SHLIB, PICLIST, SHLINK.
	* configure: Rebuild.
	* configure.host: If --enable-shared, adjust shared library stuff
	based on the host.  If the host is SunOS, and the linker supports
	-rpath, set HLDFLAGS to use it.
	* Makefile.in (ALLLIBS): New variable.
	(PICFLAG, SHLIB, SHLIB_CC, SHLIB_CFLAGS): New variables.
	(COMMON_SHLIB, SHLINK): New variables.
	(.c.o): If PICFLAG is set, compile twice, once PIC, once normal.
	(STAGESTUFF): Remove variable.
	(all): Depend upon $(ALLLIBS) and @PICLIST@ rather than
	$(TARGETLIB).
	(stamp-ofiles): New target, like old ofiles target, but build
	using a temporary file and move-if-change, and touch stamp-ofiles
	when done.
	(ofiles): Just depend upon stamp-ofiles.
	(stamp-piclist, piclist): New targets.
	($(SHLIB), $(SHLINK)): New targets.
	(targets.o, archures.o): Build twice if PICFLAG is set.
	(do_mostlyclean): Remove pic/*.o.
	(do_clean): Remove stamp-ofiles, $(SHLIB), $(SHLINK), piclist, and
	stamp-piclist.
	(do_distclean): Remove pic and stamp-picdir.
	(install): Install shared libraries.
	($(OFILES)): Depend upon stamp-picdir.
	(stamp-picdir): New target.
1996-02-05 21:14:14 +00:00
Ian Lance Taylor
cb62d2bc1e * libcoff-in.h: Add comment reminding people that libcoff.h is a
generated file.
	* libcoff.h: Rebuild.
1996-02-05 16:11:08 +00:00
Ian Lance Taylor
8adca58251 * elf32-mips.c (mips_elf_create_dynamic_sections): Clear
ELF_LINK_NON_ELF flag.
	(mips_elf_create_got_section): Likewise.

	* elf.c: Revert last change, since it breaks dynamic linking.
	* elf-bfd.h (struct elf_backend_data): Remove want_hdr_in_seg
	field.
	* elf32-mips.c (elf_backend_want_hdr_in_seg): Don't define.
	* elfxx-target.h (elf_backend_want_hdr_in_seg): Don't define.
	(elfNN_bed): Don't initialize want_hdr_in_seg field.
1996-02-05 15:48:59 +00:00
Ian Lance Taylor
e303e2e358 * elflink.h (elf_adjust_dynamic_symbol): Don't try to get the
flavour of a section with no owner.
1996-02-05 15:47:53 +00:00
Ian Lance Taylor
0f09ddd4d2 * coffcode.h: Move today's libcoff.h change into coffcode.h. 1996-02-04 04:01:36 +00:00
Fred Fish
b48f10bacc * libcoff.h (bfd_coff_link_add_one_symbol): Combine macro args back into
one line.  Some compilers (sunos 4.1.3 for example) won't accept args
	split across more than one line.
1996-02-03 23:47:12 +00:00
Steve Chamberlain
50761d3b66 * aclocal.m4 (BFD_BINARY_FOPEN): Understand cygwin32.
* configure: Regenerate.
1996-02-02 19:45:14 +00:00
Jeff Law
9dce8260d4 * elf32-hppa.c (elf32_hppa_backend_symbol_table_processing): Don't
try to do arithmetic on a void *, cast it to a unsigned char * first.
Some solaris compilers don't like void * arithmetic.
1996-02-02 19:14:40 +00:00
Ian Lance Taylor
869b7d80d3 * elf-bfd.h (ELF_LINK_NON_ELF): Define.
* elf.c (_bfd_elf_link_hash_newfunc): Set elf_link_hash_flags to
	ELF_LINK_NON_ELF.
	* elflink.h (elf_link_add_object_symbols): Reset ELF_LINK_NON_ELF
	flag for a newly defined symbol.
	(NAME(bfd_elf,record_link_assignment)): Likewise.
	(elf_adjust_dynamic_symbol): If ELF_LINK_NON_ELF is set, try to
	set the DEF or REF_REGULAR flags correctly.
1996-02-01 23:15:23 +00:00
Ian Lance Taylor
6f6956c63c * Makefile.in (bfd-in2.h): Make bfd.h, not protos, in docdir.
(libbfd.h, libcoff.h): Corresponding change.
1996-02-01 21:34:29 +00:00
Ian Lance Taylor
6c55897c9f * elf32-i386.c (elf_i386_check_relocs): Don't record a symbol with
a PLT32 reloc as dynamic.
	(elf_i386_adjust_dynamic_symbol): If a symbol with a PLT32 reloc
	is not referenced by a dynamic object, and we are not making a
	shared object, then don't make a PLT entry.  If we do make a PLT
	entry, make sure the symbol has been recorded as dynamic.
1996-02-01 21:05:52 +00:00
Steve Chamberlain
b06136f240 * coff-i386.c (coff_i386_reloc_type_lookup): Add BFD_RELOC_32_PCREL.
* config.bfd (i[345]86-*-win32): Becomes i[345]86-*-cygwin32.
	(powerpcle-*-cygwin32): New.
	* peicode.h (add_data_entry): Get address from vma.
1996-02-01 01:26:15 +00:00
Michael Meissner
5c867ecd01 If _SDA_BASE_ has already been created as an undefined symbol, treat like it has never been created 1996-01-31 22:13:09 +00:00
Ian Lance Taylor
28c16b5525 * elflink.h (elf_bfd_final_link): Don't output initial dummy
symbol or section symbols if stripping all symbols and this is not
	a relocateable link.  Don't output the symbol string table if
	there are no symbols.
	(elf_link_flush_output_syms): Don't do anything if there are no
	symbols to flush.
1996-01-31 21:22:02 +00:00
Ian Lance Taylor
d19df9b51f Wed Jan 31 12:55:49 1996 Richard Henderson <rth@tamu.edu>
* coff-aux.c: New file.
	* hosts/m68kaux.h: New file.
	* config.bfd (m68*-apple-aux*): New target.
	* configure.in (m68*-apple-aux*): New native host.
	(m68kaux_coff_vec): New vector.
	* configure: Rebuild.
	* targets.c (m68kaux_coff_vec): Declare.
	* coffcode.h (bfd_coff_backend_data): Add field
	_bfd_coff_link_add_one_symbol.
	(bfd_coff_link_add_one_symbol): Define.
	(compare_arelent_ptr): New static function if TARG_AUX.
	(coff_write_relocs): If TARG_AUX, sort the relocs.
	(coff_write_object_contents): Set A/UX aouthdr magic number.
	(coff_link_add_one_symbol): Define if not defined.
	(bfd_coff_std_swap_table): Initialize new field.
	* libcoff.h: Rebuild.
	* cofflink.c (coff_link_add_symbols): Call
	bfd_coff_link_add_one_symbol rather than
	_bfd_generic_link_add_one_symbol.
	* coff-m68k.c (COFF_PAGE_SIZE): Don't define if already defined.
	* coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
	* coff-mips.c (mips_ecoff_backend_data): Likewise.
	* Makefile.in: Rebuild dependencies.
	(BFD32_BACKENDS): Add coff-aux.o.
	(BFD32_BACKENDS_CFILES): Add coff-aux.c.
1996-01-31 18:17:12 +00:00
Ian Lance Taylor
a796aafdd7 Wed Jan 31 11:37:46 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf32-m68k.c (elf_m68k_relocate_section): Fix R_68K_GOT*
	relocation; ignore addend with R_68K_{GOT,PLT}*O relocation.
1996-01-31 16:38:20 +00:00
Ian Lance Taylor
66761e5994 * Makefile.in (do_maintainer_clean): Remove $(srcdir)/bfd-in2.h,
$(srcdir)/libbfd.h and $(srcdir)/libcoff.h.
	(maintainer-clean): Warn about deleting special files.
	(bfd-in2.h, libbfd.h, libcoff.h): New targets.
1996-01-30 18:49:10 +00:00
Ian Lance Taylor
cf5138e388 * elf32-hppa.c (elf32_hppa_relocate_section): Handle indirect and
warning symbols correctly.
	* elf32-i386.c (elf_i386_relocate_section): Likewise.
	* 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-sparc.c (sparc64_elf_relocate_section): Likewise.
1996-01-30 18:18:17 +00:00
Ian Lance Taylor
a8763553e4 * syms.c (_bfd_stab_section_find_nearest_line): Add casts to avoid
warnings.
1996-01-30 17:09:29 +00:00
Ian Lance Taylor
eb5bc1f397 From Basim Kadhim <kadhim@spock.cs.colorado.edu>:
* ecoff.c (struct extsym_info): Define.
	(_bfd_ecoff_bfd_final_link): Pass a pointer to struct extsym_info
	to ecoff_link_write_external.
	(ecoff_link_write_external): Accept a struct extsym_info pointer.
	Strip symbols when appropriate.
1996-01-30 00:01:44 +00:00
Ian Lance Taylor
f104a86e1b update copyright 1996-01-29 22:09:49 +00:00
Ian Lance Taylor
052b35d2e7 Based on patches from Ronald F. Guilmette <rfg@monkeys.com>:
* syms.c (BSF_OBJECT): Define.
	(bfd_print_symbol_vandf): Print 'O' for BSF_OBJECT.
	* bfd-in2.h: Rebuild.
	* elfcode.h (elf_slurp_symbol_table): Set BSF_OBJECT for an
	STT_OBJECT symbol.
	* elf.c (swap_out_syms): Only set type to STT_OBJECT if BSF_OBJECT
	is set.
1996-01-29 22:04:32 +00:00
Ian Lance Taylor
53787b2316 * elf32-i386.c (elf_i386_relocate_section): If -Bsymbolic, when
copying relocs into a shared object, treat a defined global symbol
	as a local symbol.
	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
	* elf32-mips.c (mips_elf_relocate_section): Likewise.
	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1996-01-29 20:01:29 +00:00
Kim Knuttila
bdd2e7f179 Fixed exported names, removed a bad define 1996-01-29 19:31:34 +00:00
Ian Lance Taylor
d2bb6c7900 * elflink.h (elf_link_add_object_symbols): Only set weakdef to a
real defined symbol, not to a weak defined symbol.
1996-01-29 18:09:20 +00:00
Kim Knuttila
13d1a4dda9 Removed a ppc hack from cofflink, promoted some types to libcoff-in.h 1996-01-29 17:44:41 +00:00
Ian Lance Taylor
86aac8eabe * syms.c: Include "bfdlink.h".
(struct stab_find_info): Define.
	(_bfd_stab_section_find_nearest_line): New function.
	* libbfd-in.h (_bfd_stab_section_find_nearest_line): Declare.
	* libbfd.h: Rebuild.
	* elf-bfd.h (struct elf_obj_tdata): Add line_info field.
	* elf.c (_bfd_elf_find_nearest_line): Try calling
	_bfd_stab_section_find_nearest_line before searching the ELF
	symbol table.  Find the closest STT_FUNC symbol, not the last one.
	* libcoff-in.h (coff_data_type): Add line_info field.
	* libcoff.h: Rebuild.
	* coffgen.c (coff_find_nearest_line): Try calling
	_bfd_stab_section_find_nearest_line before searching the COFF
	symbol table.
	* Makefile.in: Rebuild dependencies.
1996-01-26 23:42:58 +00:00
Ian Lance Taylor
f0a97077c8 * libcoff-in.h (struct xcoff_tdata): Remove toc_section and
entry_section fields.  Add sntoc and snentry fields.
	* libcoff.h: Rebuild.
	* coffcode.h (coff_mkobject_hook): Initialize sntoc and snentry,
	not toc_section and entry_section (the COFF file does not have any
	sections at this point).
	(coff_write_object_contents): Set o_snentry and o_sntoc from
	snentry and sntoc rather than entry_section and toc_section.
	* coff-rs6000.c (xcoff_copy_private_bfd_data): Copy sntoc and
	snentry, not toc_section and entry_section.
	* xcofflink.c (bfd_xcoff_size_dynamic_sections): Don't set
	entry_section from hentry.
	(xcoff_link_input_bfd): If a defined symbol has XCOFF_ENTRY set,
	set snentyr.
	(xcoff_link_input_bfd): Set sntoc, not toc_section.
	(xcoff_write_global_symbol): Get toc_section from sntoc, rather
	than using toc_section directly.
1996-01-25 22:51:06 +00:00
Michael Meissner
c1e65e244c Make eabi error messages include symbol name if it is an external symbol 1996-01-25 22:35:51 +00:00
Ian Lance Taylor
9b4598d0a8 * archures.c: Add missing `.' in enum bfd_architecture.
* bfd-in2.h: Rebuild.
1996-01-25 20:05:29 +00:00
Ian Lance Taylor
43d36aad03 * config.bfd (i[345]86-*-sco*elf*): Use bfd_elf32_i386_vec. From
Robert Lipe <robertl@arnet.com>.
1996-01-25 17:18:42 +00:00
Michael Meissner
eb82bc605f Add more eabi relocations 1996-01-25 17:15:24 +00:00
Michael Meissner
9d621c7d32 Fix typo in eabl relocations 1996-01-25 01:46:57 +00:00
Ian Lance Taylor
c703f5399e remove incorrect BFD_ASSERT from last patch 1996-01-24 22:01:29 +00:00
David Edelsohn
72c513bc76 * config.bfd (sparc64-*-{sysv4*,solaris2*}): Comment out
bfd_elf64_sparc_vec support.
1996-01-24 19:19:22 +00:00
David Edelsohn
75c9ddc9c5 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Delete checking
of flags, only flags used are controlled by mach number.  Bump up
	output file mach number to highest of input file mach numbers.
	(elf32_sparc_object_p): Watch for EF_SPARC_SUN_US1.
	(elf32_sparc_final_write_processing): Set EF_SPARC_SUN_US1 if v8plusa.
Also, delete v8plus sanitization.
1996-01-24 18:45:50 +00:00
Ian Lance Taylor
4a3d3b42bd * coffcode.h (coff_new_section_hook): Don't try to align the
.stabstr section.
1996-01-23 22:27:47 +00:00
Ian Lance Taylor
5a4d8c4070 tipo 1996-01-23 20:53:31 +00:00
Michael Meissner
d8fd85ada3 Implement R_PPC_EMB_{SDA21,RELSDA} relocations 1996-01-23 20:11:13 +00:00
Michael Meissner
3cbe19d280 Do not complain if some objects have the embedded bit set and others do not. 1996-01-23 19:35:11 +00:00
Ian Lance Taylor
5eb83edeab * coffcode.h (coff_set_section_contents): Fix the handling of the
.lib section to work even if the entire section contents are
	written at once.  From Gvran Uddeborg <gvran@uddeborg.pp.se> and
	Robert Lipe <robertl@arnet.com>.
1996-01-23 19:26:01 +00:00
David Edelsohn
049f3d4c75 * bfd-in2.h: Regenerated. 1996-01-23 00:44:17 +00:00
Michael Meissner
05f927dd46 Make 64k .sdata and .sdata2 sections work; fix typos 1996-01-22 23:55:25 +00:00
David Edelsohn
768b8ade69 (sparc_compatible): New function. 1996-01-22 21:06:43 +00:00
Michael Meissner
e37a16442a Fix typo in last change 1996-01-22 20:10:51 +00:00
David Edelsohn
e8bea13fa7 Move v8plus stuff around so sanitized code works. 1996-01-22 19:00:40 +00:00
David Edelsohn
5a5bac6471 * elflink.h (elf_finish_pointer_linker_section): Fix typo. 1996-01-22 18:17:16 +00:00
David Edelsohn
d3366d234d * elf64-sparc.c (sparc64_elf_object_p): bfd_mach_sparc64 renamed to
bfd_mach_sparc_v9.
1996-01-22 17:18:05 +00:00
David Edelsohn
5bc513b4fb * archures.c (bfd_mach_sparc_v9): Renamed from bfd_mach_sparc64.
start-sanitize-v8plus
	(bfd_mach_sparc_{v8plus,v8plusa}): Define.
end-sanitize-v8plus
	(bfd_mach_sparc_v9a): Define.
	* bfd-in2.h: Regenerated.
	* aoutx.h (aout,machine_type): bfd_mach_sparc64 renamed to
	bfd_mach_sparc_v9.
	* config.bfd (sparc64-*-sysv4*,sparc64-*-solaris2*): Set targ_defvec
	to bfd_elf32_sparc_vec.
	* cpu-sparc.c (arch_info_struct): Renamed from sparc_arch_info.
start-sanitize-v8plus
	Add v8plus{,a} support.
end-sanitize-v8plus
	Add v9a support.
start-sanitize-v8plus
	* elf32-sparc.h: #include "elf/sparc.h".
	(elf32_sparc_set_private_flags, elf32_sparc_copy_private_bfd_data,
	elf32_sparc_merge_private_bfd_data, elf32_sparc_object_p,
	elf32_sparc_final_write_processing): New functions.
	(bfd_elf32_bfd_set_private_flags, bfd_elf32_bfd_copy_private_bfd_data,
	bfd_elf32_bfd_merge_private_bfd_data, elf_backend_object_p,
	elf_backend_final_write_processing): Define.
end-sanitize-v8plus
1996-01-22 17:15:49 +00:00
Michael Meissner
3b3753b874 snapshot of eabi relocation support. 1996-01-22 16:43:35 +00:00
David Edelsohn
904ae08389 Update copyright. 1996-01-20 17:35:22 +00:00
David Edelsohn
065822fc3d Oops. Forgot sanitization. 1996-01-20 17:05:56 +00:00
David Edelsohn
6b3eb07e98 * elf32-sparc.c (ELF_MACHINE_ALT1): Define. 1996-01-20 16:53:44 +00:00
Kim Knuttila
e7894f6b5d Numerous PowerPC PE fixes 1996-01-19 00:16:31 +00:00
Ian Lance Taylor
80b99ca092 * elfcore.h: Include <signal.h> before <sys/procfs.h>.
PR 8807.
1996-01-18 22:42:41 +00:00
Ian Lance Taylor
df96df4caf * cpu-powerpc.c (arch_info_struct): Change last entry to not point
back to first.
	(bfd_powerpc_arch): Point at first entry in arch_info_struct.
1996-01-17 17:48:30 +00:00
Ian Lance Taylor
d49ddb8575 * elf.c (assign_file_positions_for_segments): Don't increment file
offset for a segment which contains no loadable sections.
1996-01-16 20:53:04 +00:00
Michael Meissner
4500a1128e Add new PPC relocations 1996-01-15 22:50:07 +00:00
Ian Lance Taylor
20ab764e38 * aoutx.h (howto_table_ext): Fix RELOC_BASE10 and RELOC_BASE22
entries.
1996-01-15 22:37:16 +00:00
Ian Lance Taylor
0a4ffa2dc4 * sunos.c (sunos_scan_ext_relocs): Don't fail assert if
info->shared.
1996-01-15 22:00:38 +00:00
Ian Lance Taylor
6014cea70c update copyrights 1996-01-15 21:06:31 +00:00
Ian Lance Taylor
45ca3195d5 * coffgen.c (coff_find_nearest_line): Don't try to cache
information in sections that are not owned by a BFD.  From Richard
	Henderson <richard@atheist.tamu.edu>.
1996-01-15 20:47:32 +00:00
Ian Lance Taylor
252239f877 * elf32-mips.c: Numerous changes to dynamic linking code, mostly
from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
	* elflink.h (elf_link_output_extsym): Remove special check for
	_rld_new_interface.
1996-01-15 20:25:53 +00:00
Ian Lance Taylor
1ec02944eb * ecoffswap.h: Add prototypes for static functions. 1996-01-15 19:32:08 +00:00
Michael Meissner
bd2d10c006 Redo unknown reloc support. Do not allow symbols in .sdata/.sbss to satify a TOC16 relocation. Begin support R_PPC_SDA{2,}REL relocation. 1996-01-15 02:41:58 +00:00
Michael Meissner
1c3a295b13 Warn about relocations we do not yet support 1996-01-13 14:40:50 +00:00
Ian Lance Taylor
14899eb7f2 * elf.c (assign_file_positions_for_segments): If a segment
contains no sections, don't mark it as readable.
1996-01-12 22:47:04 +00:00
Ian Lance Taylor
98bb57ad8e * elf-bfd.h (_bfd_elf_section_from_bfd_section): Declare.
* elfcode.h (_bfd_elf_section_from_bfd_section): Don't declare.
1996-01-12 20:48:14 +00:00
Ian Lance Taylor
927d05b5a3 tweak last change 1996-01-12 20:46:22 +00:00
Michael Meissner
57081126b6 Add PowerPC support for SHF_EXCLUDE, SHT_ORDERED 1996-01-12 20:31:05 +00:00
Ian Lance Taylor
02fcd12620 * elf.c (_bfd_elf_print_private_bfd_data): Dump contents of
dynamic section, if there is one.
	* elf-bfd.h (struct elf_size_info): Add swap_dyn_in field.
	(bfd_elf32_swap_dyn_in): Change type of second parameter to PTR.
	(bfd_elf64_swap_dyn_in): Likewise.
	* elfcode.h (elf_swap_dyn_in): Change type of second parameter to
	PTR.
	(NAME(_bfd_elf,size_info)): Initialize swap_dyn_in field.
1996-01-12 19:13:49 +00:00
Ian Lance Taylor
3c38b3df0c * elf32-i386.c (elf_i386_size_dynamic_sections): Don't create a
DT_TEXTREL entry because of .rel.plt.  From Martin Pirker
	<pirker@eiunix.tuwien.ac.at>.
1996-01-12 19:00:18 +00:00
Ian Lance Taylor
c9746fb695 * xcofflink.c (xcoff_link_add_symbols): Create the special
sections if we see a DYNAMIC object, in case that is the only
	XCOFF input object we see.
PR 8788.
1996-01-12 04:29:59 +00:00
Michael Meissner
71897943c4 update copyright 1996-01-11 22:50:52 +00:00
Michael Meissner
83f4323e5a Add support for SHT_ORDERED and SHF_EXCLUDE 1996-01-11 22:47:04 +00:00
Ian Lance Taylor
053baeb156 fix crinfo swapping 1996-01-11 21:42:22 +00:00
Ian Lance Taylor
5b3b9ff61d * elf32-mips.c: Extensive changes for a start at dynamic linking
support, from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.

	* elf-bfd.h (struct elf_backend_data): Add type_change_ok field.
	(struct elf_backend_data): Remove
	elf_backend_create_program_headers field.  Add
	elf_backend_additional_program_headers and
	elf_backend_modify_segment_map fields.
	* elfxx-target.h (elf_backend_type_change_ok): Define if not
	defined.
	(elf_backend_additional_program_headers): Likewise.
	(elf_backend_modify_segment_map): Likewise.
	(elf_backend_create_program_headers): Don't define.
	(elfNN_bed): Change to account for field changes.
	* elf.c (assign_file_positions_for_segments): Call new
	modify_segment_map backend function.  Don't call old
	create_program_headers backend function.
	(get_program_header_size): Call additional_program_headers rather
	than create_program_headers.
	* elflink.h (elf_link_add_object_symbols): Initialize
	type_change_ok from new backend field.
	(elf_link_output_extsym): Don't warn if _rld_new_interface is
	defined.
	(elf_reloc_link_order): Treat a reloc against a defined symbol as
	a reloc against the appropriate section.
1996-01-11 21:06:42 +00:00
Ian Lance Taylor
761f377fec * elf-bfd.h (struct bfd_elf_section_data): Add tdata field.
(struct elf_obj_tdata): Rename ppc_flags_init field to flags_init.
	(elf_flags_init): Rename from elf_ppc_flags_init.
	* elf32-ppc.c (ppc_elf_set_private_flags): Use elf_flags_init, not
	elf_ppc_flags_init.
	(ppc_elf_copy_private_bfd_data): Likewise.
	(ppc_elf_merge_private_bfd_data): Likewise.
1996-01-11 16:27:24 +00:00
Ian Lance Taylor
a02716671a * elf32-m68k.c (howto_table): Change src_mask to 0 for all
relocation entries.
1996-01-11 16:24:39 +00:00
Ian Lance Taylor
f7e684639c update copyrights 1996-01-09 20:53:33 +00:00
Ian Lance Taylor
64d5f5d061 Tue Jan 9 15:22:53 1996 David Mosberger-Tang <davidm@azstarnet.com>
* coff-alpha.c (alpha_relocate_section): During final link, allow
 	output .lita section to be bigger than 64k by adjusting gp value
 	on a per-input section basis.
	* libecoff.h (struct ecoff_tdata): Add issued_multiple_gp_warning
	field.
	(struct ecoff_section_tdata): Add gp field.

Tue Jan  9 12:00:36 1996  Ian Lance Taylor  <ian@cygnus.com>

	Handle Alpha ECOFF changes in OSF/1 3.2.
	* libecoff.h (struct ecoff_backend_data): Add get_elt_at_filepos
	field.
	* coff-alpha.c: Include "aout/ar.h".
	(alpha_ecoff_get_relocated_section_contents): Don't require an
	ALPHA_R_IGNORE reloc after an ALPHA_R_GPDISP reloc, since OSF/1
	3.2 doesn't generate one.
	(alpha_relocate_section): Likewise.
	(alpha_ecoff_slurp_armap): Define.
	(alpha_ecoff_slurp_extended_name_table): Define.
	(alpha_ecoff_construct_extended_name_table): Define.
	(alpha_ecoff_truncate_arname): Define.
	(alpha_ecoff_write_armap): Define.
	(alpha_ecoff_generic_stat_arch_elt): Define.
	(alpha_ecoff_update_armap_timestamp): Define.
	(ARFZMAG): Define.
	(alpha_ecoff_read_ar_hdr): New static function.
	(alpha_ecoff_get_elt_at_filepos): New static function.
	(alpha_ecoff_openr_next_archived_file): New static function.
	(alpha_ecoff_get_elt_at_index): New static function.
	(alpha_ecoff_backend_data): Initialize get_elt_at_filepos field.
	(ecoffalpha_little_vec): Change BFD_JUMP_TABLE_ARCHIVE from
	_bfd_ecoff to alpha_ecoff.
	* ecoff.c (ecoff_link_add_archive_symbols): Use get_elt_at_filepos
	field from backend structure, rather than always calling
	_bfd_get_elt_at_filepos.
	* coff-mips.c (mips_ecoff_backend_data): Initialize
	get_elt_at_filepos field.
	* archive.c (_bfd_generic_read_ar_hdr_mag): New function, copied
	from _bfd_generic_read_ar_hdr with minor changes.
	(_bfd_generic_read_ar_hdr): Use _bfd_generic_read_ar_hdr_mag.
	* libbfd-in.h (_bfd_generic_read_ar_hdr_mag): Declare.
	* libbfd.h: Rebuild.

	* bfd-in.h (BFD_IN_MEMORY): Define.
	* libbfd-in.h (struct bfd_in_memory): Define.
	* libbfd.c (bfd_read): Handle BFD_IN_MEMORY flag.
	(bfd_get_file_window): Don't try to map a BFD_IN_MEMORY file.
	(bfd_write, bfd_stat): Abort if BFD_IN_MEMORY is set.
	(bfd_tell, bfd_flush, bfd_seek): Handle BFD_IN_MEMORY flag.
	* bfd.c (struct _bfd): Change iostream field from char * to PTR.
	(bfd_get_size): Handle BFD_IN_MEMORY flag.
	* cache.c (bfd_cache_close): Ignore BFD_IN_MEMORY files.
	(bfd_open_file): Cast to PTR, not char *, when setting iostream.
	(bfd_cache_lookup_worker): Abort if BFD_IN_MEMORY is set.
	* opncls.c (bfd_fdopenr): Cast to PTR, not char *, when setting
	iostream.
	(bfd_openstreamr): Likewise.
	* aoutx.h (NAME(aout,some_aout_object_p)): Only fstat iostream if
	BFD_IN_MEMORY is not set.
	* riscix.c (riscix_some_aout_object_p): Likewise.
	* bfd-in2.h, libbfd.h: Rebuild.

	* targets.c (bfd_target): Add _bfd_get_elt_at_index field.
	(BFD_JUMP_TABLE_ARCHIVE): Add _get_elt_at_index.
	(bfd_get_elt_at_index): Define.
	* archive.c (_bfd_generic_get_elt_at_index): Rename from
	bfd_get_elt_at_index.  Change index parameter from int to
	symindex.
	* libbfd-in.h (_bfd_generic_get_elt_at_index): Declare.
	(_bfd_noarchive_get_elt_at_index): Define.
	(_bfd_archive_bsd_get_elt_at_index): Define.
	(_bfd_archive_coff_get_elt_at_index): Define.
	* bfd-in2.h, libbfd.h: Rebuild.
	* aout-target.h (MY_get_elt_at_index): Define if not defined.
	* coff-rs6000.c (xcoff_get_elt_at_index): Define.
	* ieee.c (ieee_get_elt_at_index): Define.
	* libecoff.h (_bfd_ecoff_get_elt_at_index): Define.
	* oasys.c (oasys_get_elt_at_index): Define.
	* som.c (som_get_elt_at_index): Define.
1996-01-09 20:40:39 +00:00
Ian Lance Taylor
c40d9c773f * ecoff.c (_bfd_ecoff_find_nearest_line): Don't restrict line
numbers to the .text section.
PR 8767.
1996-01-09 17:01:15 +00:00
Ian Lance Taylor
efa77952c8 * ieee.c (ieee_write_debug_part): Change return type to boolean.
If there is a SEC_DEBUGGING section, get the contents of the debug
	information part from it.
	(ieee_set_section_contents): Store the contents of a SEC_DEBUGGING
	section in memory.
	(ieee_write_object_contents): Check ieee_write_debug_part return.
1996-01-08 22:02:36 +00:00
Fred Fish
767f22d543 * config.bfd (i[345]86-*-freebsd*): Add target.
* configure.in (i386freebsd_vec): Add vec.
	* configure: Regenerate.
	* Makefile.in (BFD32_BACKENDS): Add i386freebsd.o.
	(BFD32_BACKENDS_CFILES): Add i386freebsd.c.
	Rebuild dependencies..
	* freebsd.h: New file.
	* i386freebsd.c: New file.
	* targets.c (i386freebsd_vec): Declare.
	(bfd_target_vector): Add i386freebsd_vec.
	* i386linux.c (SEGMENT_SIZE): Define as TARGET_PAGE_SIZE
	* i386netbsd.c (SEGMENT_SIZE):  Define as TARGET_PAGE_SIZE
1996-01-05 05:44:27 +00:00
Ian Lance Taylor
f8254a3cc5 * ieee.c (ieee_slurp_debug): New static function.
(ieee_object_p): Call it.
	(ieee_slurp_section_data): Skip debugging sections.
	(ieee_get_reloc_upper_bound): Likewise.
	(ieee_get_section_contents): Likewise.
	(ieee_canonicalize_reloc): Likewise.
	(ieee_write_section_part): Likewise.
	(ieee_write_debug_part): Likewise.
	(ieee_write_data_part): Likewise.
	(init_for_output): Likewise.
1996-01-04 21:30:09 +00:00
Michael Meissner
07a159dbd4 Make @GOT relocations work 1996-01-04 00:44:32 +00:00
Ian Lance Taylor
d812945a9a * coffcode.h (coff_write_object_contents): If we don't know the
section of the entry point for an XCOFF executable, always set the
	entry address to -1.
1996-01-03 20:07:39 +00:00
Michael Meissner
3a56d0b427 Add support for .note sections 1996-01-02 19:17:17 +00:00
Ian Lance Taylor
c4406e5068 * elf32-ppc.c: Remove trailing newline from calls to
_bfd_error_handler.
	(ppc_elf_merge_private_bfd_data): Only warn about endianness
	difference if target endianness is known.
1996-01-02 18:06:55 +00:00
Michael Meissner
08556813ed Work in progress to add real GOT support 1995-12-21 17:50:22 +00:00
Ken Raeburn
86587dd4ca * elf.c (copy_private_bfd_data): When attaching sections to segments ignore
sections that won't be allocated.  Patch from Andreas Schwab.
1995-12-21 00:41:20 +00:00
Ken Raeburn
bf7f243f7e configure m68k-cbm non-sysv4 correctly 1995-12-20 01:13:05 +00:00
Ian Lance Taylor
d9518e2edc * coff-i960.c (CALC_ADDEND): Define.
(coff_i960_relocate_section): Add the input section VMA to the
	addend for PC relative relocs.
PR 8697.
1995-12-19 21:38:51 +00:00
Ian Lance Taylor
dc092b6b2a * targets.c (enum bfd_endian): Define.
(bfd_target): Rename byteorder_big_p to byteorder, and change it
	from boolean to enum bfd_endian.  Change header_byteorder_big_p
	correspondingly.
	* bfd-in.h (bfd_big_endian, bfd_little_endian): New macros.
	(bfd_header_big_endian, bfd_header_little_endian): New macros.
	* bfd-in2.h: Rebuild.
	* All targets: Change initialization of byteorder and
	header_byteorder to use enum bfd_endian values rather than
	booleans.
	* All files: Change all references to byteorder_big_p and
	header_byteorder_big_p to use new bfd_*_endian macros.
1995-12-15 21:18:43 +00:00
Ian Lance Taylor
010a405a94 * coffgen.c (make_a_section_from_file): Set lma to s_paddr, not
s_vaddr.
	* coffcode.h (coff_write_object_contents): Set s_paddr to lma, not
	vma.
	* ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
1995-12-15 17:07:00 +00:00
Steve Chamberlain
fcb4390628 * pe[i]-i386.c (TARGET_UNDERSCORE): Define to '_'. 1995-12-15 15:32:29 +00:00
Ian Lance Taylor
1457810573 * ieee.c: Lots of minor cleanups. Make many functions return
errors rather than calling abort.  Also:
	(ieee_write_twobyte): Remove; change callers to call existing
	ieee_write_2bytes function.
	(ieee_write_expression): Don't output the section twice when
	outputting a local symbol.  Don't emit an extraneous zero if there
	is only one term.
	(ieee_slurp_sections): Set the lma as well as the vma.
	(ieee_archive_p): Use bfd_alloc_grow rather than an obstack.
1995-12-14 20:33:14 +00:00
Ian Lance Taylor
0d709d3137 * ihex.c (ihex_set_arch_mach): Don't accept any architecture, just
a recognized one or bfd_arch_unknown.
	(ihex_get_symtab_upper_bound): Define as bfd_0l, to permit objcopy
	to succeed.
	(ihex_get_symtab): Likewise.
1995-12-14 18:46:54 +00:00
Ian Lance Taylor
14dc2f774e * aoutx.h: Include <ctype.h>.
(struct aout_link_includes_table): Define.
	(struct aout_link_includes_totals): Define.
	(struct aout_link_includes_entry): Define.
	(aout_link_includes_lookup): Define macro.
	(struct aout_final_link_info): Add includes field.
	(aout_link_includes_newfunc): New static function.
	(NAME(aout,final_link)): Initialize includes hash table.
	(aout_link_write_symbols): Eliminate duplicate N_BINCL entries.
1995-12-13 20:47:36 +00:00
Stan Shebs
480ccad563 * mpw-config.in: Match on mips-*-* instead of mips-idt-ecoff. 1995-12-13 18:54:24 +00:00
Kim Knuttila
3920d9c924 Protected debugging code. (duh) 1995-12-13 16:22:02 +00:00
Kim Knuttila
207345f2f6 Fixes for .reloc 1995-12-13 12:56:29 +00:00
Kim Knuttila
caa740beb8 Fixes for .reloc 1995-12-12 23:47:05 +00:00
Ian Lance Taylor
273c019e53 * config.bfd: Handle sparc-*-elf*. From Ronald F. Guilmette
<rfg@monkeys.com>.
1995-12-12 16:44:22 +00:00
Ian Lance Taylor
010d9f2d13 * elflink.h (elf_link_add_object_symbols): Set section_count to 0
when setting sections to NULL.
PR 8600.
1995-12-08 22:47:28 +00:00
Ian Lance Taylor
4a4a66bdc9 * xcofflink.c (struct xcoff_loader_info): Add export_defineds
field.
	(bfd_xcoff_size_dynamic_sections): Add export_defineds parameter.
	(xcoff_build_ldsyms): If export_defineds is set, set XCOFF_EXPORT
	for all symbols.
	* bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
	* bfd-in2.h: Rebuild.
1995-12-07 01:08:54 +00:00
Ian Lance Taylor
55cac92082 * ihex.c (ihex_scan): Handle record types 4 and 5.
(ihex_object_p): Permit types 4 and 5.
	(ihex_set_section_contents): Remove check for out of range
	addresses.
	(ihex_write_object_contents): Generate types 4 and 5.
1995-12-04 22:08:45 +00:00
Kim Knuttila
545bf026d5 Removed some debugging prints. duh 1995-12-04 21:47:37 +00:00
Ian Lance Taylor
1f4ae0d6b1 * elflink.h (elf_link_output_extsym): Just ignore warning and
indirect references to symbols which don't really exist.
1995-12-04 16:23:36 +00:00
Kim Knuttila
53d45489e3 Dumper for PowerPC .edata section 1995-12-04 01:58:54 +00:00
David Edelsohn
361e8876a0 * aout-arm.c (MY_swap_std_reloc_out): Use KEEPIT to get the symbol
index, don't call stoi.
1995-12-03 23:29:09 +00:00
Ian Lance Taylor
ffd1548911 * ihex.c: New file; support for Intel Hex format.
* targets.c (enum bfd_flavour): Add bfd_target_ihex_flavour.
	(ihex_vec): Declare.
	(bfd_target_vector): Always include ihex_vec.
	* bfd.c (struct _bfd): Add ihex_data field to tdata union.
	* Makefile.in: Rebuild dependencies.
	(BFD_LIBS): Add ihex.o
	(BFD_LIBS_CFILES): Add ihex.c.
	* bfd-in2.h: Rebuild.
1995-12-02 02:00:08 +00:00
Ian Lance Taylor
55ae43ab3a * srec.c (srec_scan): Set lma as well as vma. 1995-12-02 01:59:20 +00:00
Ian Lance Taylor
ae0a6bea51 * bfd.c (bfd_record_phdr): New function.
* bfd-in.h (bfd_record_phdr): Declare.
	* bfd_in2.h: Rebuild.
1995-12-01 21:45:33 +00:00
Ian Lance Taylor
3b95078004 * elf.c (assign_file_positions_for_segments): Sort the sections in
each segment.
	(get_program_header_size): Return the right size if segment_map is
	not NULL.
	(copy_private_bfd_data): Don't bother to sort the sections.
1995-12-01 21:44:38 +00:00
Ian Lance Taylor
ce0ee4bf49 * elf32-sparc.c (elf32_sparc_relocate_section): Remove bogus
BFD_ASSERT.
PR 8562.
1995-12-01 20:59:10 +00:00
Ian Lance Taylor
58142f101d * libbfd.c (bfd_malloc, bfd_realloc): New functions.
(bfd_zmalloc): Return PTR, not char *.  Take size_t, not
	bfd_size_type.
	* libbfd-in.h (bfd_malloc, bfd_realloc): Declare.
	(bfd_zmalloc): Change declaration.
	* libbfd.h: Rebuild.
	* Many files: Use bfd_malloc and bfd_realloc rather than malloc
	and realloc.  Don't set bfd_error_no_memory if they fail.
1995-12-01 19:48:10 +00:00
Kim Knuttila
590662481c PowerPC DLL Support 1995-12-01 01:01:42 +00:00
Ian Lance Taylor
6933148af0 * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
p_paddr if p_paddr is zero.
	(make_mapping): Set includes_filehdr and includes_phdrs for first
	PT_LOAD segment.
	(map_sections_to_segments): Set includes_phdrs for PT_PHDR
	segment.
	(assign_file_positions_for_segments): Handle includes_filehdr and
	includes_phdrs.  Remove special handling of PT_PHDR and first
	PT_LOAD segments.
	(copy_private_bfd_data): Set includes_filehdr and includes_phdr
	when appropriate.  Remove special handling of PT_PHDR segment.
	Use a more complex condition for when a section is included in a
	segment to handle Solaris linker oddities.
1995-11-30 22:15:13 +00:00
Ian Lance Taylor
f62fed1c4a Thu Nov 30 11:17:33 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
* coff-m88k.c (howto_table): Reformatted for easier reading;
	special_function now points to new function m88k_special_reloc.
	(howto_hvrt16): Function previously used for handling HVRT16 relocs
	removed.
	(rtype2howto): Do not add reloc's r_offset to the addend, this will
	be done correctly by m88k_special_reloc.
	(reloc_processing): New function to be used by RELOC_PROCESSING.
	(RELOC_PROCESSING): Define to call reloc_processing.
1995-11-30 16:23:05 +00:00
Ian Lance Taylor
b00c57ec37 * peicode.h (pe_print_idata): Call malloc rather than xmalloc.
(pe_print_pdata): Likewise.
1995-11-29 22:10:57 +00:00
Ian Lance Taylor
a9713b91a7 * opncls.c (bfd_alloc_by_size_t): Set bfd_error_no_memory if
obstack_alloc fails.
	(bfd_alloc_finish): Set bfd_error_no_memory if obstack_finish
	fails.
	* libbfd.c (bfd_zmalloc): Set bfd_error_no_memory if malloc fails.
	* Many files: don't set bfd_error_no_memory if one of the above
	routines fails.
1995-11-29 22:05:37 +00:00
Ian Lance Taylor
3dbf33eeb4 * elf.c (assign_file_positions_for_segments): Don't adjust p_paddr
if p_paddr_valid is set.
	(copy_private_bfd_data): New static function.
	(_bfd_elf_copy_private_section_data): Call copy_private_bfd_data.
1995-11-29 20:04:17 +00:00
Ian Lance Taylor
44ef8897da * elf.c (assign_file_positions_for_segments): Fix case where extra
program headers were allocated.
1995-11-29 19:14:33 +00:00
Ian Lance Taylor
27fb8f2933 * elf.c (_bfd_elf_print_private_bfd_data): New function.
* elf-bfd.h (_bfd_elf_print_private_bfd_data): Declare.
	* elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define to
	_bfd_elf_print_private_bfd_data.
1995-11-29 18:46:07 +00:00
Ian Lance Taylor
64ecde4619 * coff-alpha.c (alpha_ecoff_swap_reloc_in): Don't abort if
r_symndx is RELOC_SECTION_NONE for an ALPHA_R_IGNORE reloc.
	Change a RELOC_SECTION_LITA symndx to RELOC_SECTION_ABS.
	(alpha_ecoff_swap_reloc_out): Change RELOC_SECTION_ABS to
	RELOC_SECTION_LITA for ALPHA_R_IGNORE.
	(alpha_adjust_reloc_out): For ALPHA_R_IGNORE, don't change
	RELOC_SECTION_ABS to RELOC_SECTION_NONE.
1995-11-29 17:40:58 +00:00
Ian Lance Taylor
fd0198f023 * elf-bfd.h (struct elf_obj_tdata): Add segment_map field.
* elf.c (make_mapping): New static function.
	(map_sections_to_segments): New static function.
	(elf_sort_sections): New static function.
	(assign_file_positions_for_segments): New static function.
	(map_program_segments): Remove.
	(get_program_header_size): Remove sorted_hdrs, count, and
	maxpagesize parameters.  Simplify.
	(assign_file_positions_except_relocs): When generating an
	executable, use assign_file_positions_for_segments.
	(elf_sort_hdrs): Remove.
	(_bfd_elf_sizeof_headers): Remove eliminated parameters from call
	to get_program_header_size.
1995-11-28 22:02:13 +00:00
Ian Lance Taylor
1ff0461b4e * hp300hpux.c (MY(callback)): Set lma as well as vma. 1995-11-27 20:11:40 +00:00
Ian Lance Taylor
80c8485c44 * configure, config.in: Regenerate with autoconf 2.7. 1995-11-27 18:02:58 +00:00
Ian Lance Taylor
3b3f762596 * elf32-i386.c (elf_backend_plt_readonly): Set correctly, to 1.
* elf32-sparc.c (elf_backend_plt_readonly): Set correctly, to 0.
PR 8513.
1995-11-27 17:42:27 +00:00
Ian Lance Taylor
a877f5917f * ecoff.c (_bfd_ecoff_new_section_hook): Handle .rconst section.
(ecoff_sec_to_styp_flags): Likewise.
	(_bfd_ecoff_styp_to_sec_flags): Handle STYP_RCONST.
	(ecoff_set_symbol_info): Handle scRConst.
	(ecoff_slurp_reloc_table): Handle RELOC_SECTION_RCONST.
	(ecoff_compute_section_file_positions): Handle .rconst section.
	(_bfd_ecoff_write_object_contents): Likewise.
	(ecoff_link_check_archive_element): Handle scRConst.
	(ecoff_link_add_externals): Likewise.
	(ecoff_link_write_external): Handle .rconst section.
	(ecoff_reloc_link_order): Likewise.
	* ecofflink.c (bfd_ecoff_debug_accumulate): Handle scRConst.
	* coff-alpha.c (alpha_convert_external_reloc): Handle .rconst
	section.
	(alpha_relocate_section): Handle RELOC_SECTION_RCONST.
1995-11-22 19:01:43 +00:00
Ian Lance Taylor
fa63d1ef23 * sunos.c (sunos_scan_dynamic_symbol): Only set written if the
DEF_DYNAMIC flag is set.
PR 8493.
1995-11-22 17:04:56 +00:00
Ken Raeburn
25bada65f5 * host-aout.c: If TRAD_HEADER is defined, include it. 1995-11-22 00:57:55 +00:00
Ian Lance Taylor
bd77213b85 * acconfig.h: Put NEED_DECLARATION_* in @TOP@ section.
* config.in: Rebuild with autoconf 2.6.
1995-11-21 23:26:26 +00:00
Ian Lance Taylor
85e493f0c7 * aclocal.m4 (AC_PROG_CC): Remove local definition.
(BFD_BINARY_FOPEN): Require AC_CANONICAL_SYSTEM.
	(BFD_NEED_DECLARATION): New function.
	* configure.in: Use BFD_NEED_DECLARATION.
	* configure: Rebuild with autoconf 2.6.
1995-11-21 23:02:13 +00:00
Ian Lance Taylor
83dcdc6168 * xcofflink.c (bfd_xcoff_size_dynamic_sections): Clear
special_sections before returning when called with a non XCOFF
	BFD.
1995-11-21 21:25:35 +00:00
Ian Lance Taylor
7938b4cb15 * coffgen.c (coff_renumber_symbols): Sort common symbols with
global symbols.
1995-11-21 18:06:41 +00:00
Ian Lance Taylor
31a52a5145 * coffcode.h (coff_compute_section_file_positions): Only pad the
previous section to force file alignment when creating an
	executable.
PR 8325.
1995-11-21 18:04:42 +00:00
Ian Lance Taylor
a418e05d6d * coffcode.h (coff_compute_section_file_positions): If
RS6000COFF_C, set up the .debug section.
1995-11-20 22:23:30 +00:00
Ian Lance Taylor
b5403ad754 * xcofflink.c (xcoff_link_input_bfd): Adjust the TOC anchor value
if it is not large enough to accomodate the entire TOC area with
	signed 16 bit offsets.
	(xcoff_write_global_symbol): Handle negative TOC offsets in global
	linkage code.
	(_bfd_ppc_xcoff_relocate_section): Adjust relocations against a
	TOC anchor to use the TOC value used in the output file.
1995-11-20 19:57:30 +00:00
Ian Lance Taylor
90a7abbca3 * coffgen.c (_bfd_coff_get_external_symbols): Cast malloc return.
(_bfd_coff_read_string_table): Likewise.
1995-11-18 23:04:26 +00:00
David Edelsohn
177b193219 Clean up some comments. 1995-11-18 20:05:06 +00:00
Ian Lance Taylor
535e9e2943 * coffcode.h (coff_pointerize_aux_hook): I960 version: don't
pointerize C_LEAFSTAT or C_LEAFEXT entries.
1995-11-17 21:59:17 +00:00
Ian Lance Taylor
e34314c45d Fri Nov 17 10:41:25 1995 Philippe De Muyter <phdm@info.ucl.ac.be>
* elf-bfd.h (struct elf_link_hash_table): Change type of
	dynsymcount and bucketcount fields from size_t to bfd_size_type.
1995-11-17 15:43:18 +00:00
Ian Lance Taylor
73a684473d * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Only create
DT_INIT and DT_FINI entries if the _init or _fini symbol is
	defined or mentioned in a regular file.
PR 8462.
1995-11-17 15:05:44 +00:00
Kim Knuttila
cd2b240203 Reloc fixes for PowerPC PE 1995-11-16 20:51:08 +00:00
Ken Raeburn
b218076e59 version 2.6 1995-11-16 10:12:33 +00:00
Ken Raeburn
ae75c4a423 log for this morning's makefile (make dep) change 1995-11-16 00:32:34 +00:00
Ian Lance Taylor
e9f3061668 * targets.c (bfd_target): Change type of second argument to
_bfd_print_private_bfd_data from void * to PTR.
	* libbfd-in.h (_bfd_generic_bfd_print_private_bfd_data): Cast
	using PTR rather than void *.
	* bfd-in2, libbfd.h: Rebuild.
	* peicode.h (pe_print_private_bfd_data): Change vfile from void *
	to PTR.
	* elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define as
	_bfd_generic_bfd_print_private_bfd_data rather than casting
	bfd_true.
1995-11-15 23:17:21 +00:00
Ian Lance Taylor
4b71e164cd * peicode.h (coff_swap_aouthdr_out): For PPC PE, start isize at 0,
not at the file position of the first section.
	* coffcode.h (coff_compute_section_file_positions): Avoid using
	unportable #elif.
	(coff_write_object_contents): When generating a PPC PE executable
	with no symbols, round up the file size to a COFF_PAGE_SIZE
	boundary.
	* cofflink.c (_bfd_coff_final_link): If there are no symbols,
	don't write out a string table.
1995-11-15 04:41:10 +00:00
Ian Lance Taylor
631b10f44e * elf.c (bfd_section_from_shdr): When using a different section
header, pass the new one to _bfd_elf_make_section_from_shdr.
	(elf_fake_sections): Don't set sh_info and sh_entsize fields.
	(elf_map_symbols): Add section VMA to symbol value when comparing
	against 0.
	(_bfd_elf_compute_section_file_positions): Only build symbol table
	if there are some symbols.  Set file offset of symtab and strtab
	sections.
	(assign_file_positions_except_relocs): Remove dosyms parameter.
	Change all callers.  Never set file offset of symtab and strtab
	sections.
	(_bfd_elf_copy_private_section_data): New function.
	(MAP_ONESYMTAB, MAP_DYNSYMTAB, MAP_STRTAB, MAP_SHSTRTAB): Define.
	(_bfd_elf_copy_private_symbol_data): New function.
	(swap_out_syms): Check for special mapping of st_shndx created by
	copy_private_symbol_data.
	* elfxx-target.h: Use new copy routines.
	* elf-bfd.h (_bfd_elf_copy_private_symbol_data): Declare.
	(_bfd_elf_copy_private_section_data): Declare.
1995-11-15 01:34:56 +00:00
Ian Lance Taylor
ab276dfa72 comment fix 1995-11-15 01:14:26 +00:00
Ian Lance Taylor
bebcd3db3b * coff-sh.c (shlcoff_vec): Use _bfd_generic_archive_p, not
_bfd_dummy_target, matching the recent change to archive
	recognition.
1995-11-14 16:55:23 +00:00
Ian Lance Taylor
afa67334cb * libbfd.c (bfd_get_file_window): Use casts to avoid doing
arithmetic on PTR types.
1995-11-13 20:25:21 +00:00
Ian Lance Taylor
f2bd89150f * aout-target.h (MY(callback)): Set the lma of the sections. 1995-11-13 18:31:50 +00:00
Ian Lance Taylor
7ad4ba8143 * ecoff.c (ecoff_reloc_link_order): Turn a reloc against a defined
symbol into a reloc against the section.
1995-11-13 18:27:49 +00:00
Kim Knuttila
125d37c471 Missed a debug macro (duh) 1995-11-13 15:21:12 +00:00
Kim Knuttila
93b6a3f8e2 Implemented IMGLUE reloc + dumping 1995-11-13 12:54:05 +00:00
Stan Shebs
c769947b4a * Makefile.in (bfd_libs_here, etc): Provide empty definitions.
* coff-rs6000.c (rs6000coff_vec): Add conditional defines
	TARGET_SYM and TARGET_NAME for vector and BFD name.
	* coff-pmac.c (pmac_xcoff_vec): Remove.
	(TARGET_SYM, TARGET_NAME): Define.
	* coffcode.h (coff_set_arch_mach_hook) [POWERMAC]: Set the
	machine to 0, not all PowerMacs are 601s.
1995-11-12 20:39:38 +00:00
Ian Lance Taylor
839087b7f1 * archive.c (bfd_generic_archive_p): Preserve tdata in case of
failure.
1995-11-10 04:50:15 +00:00
Ian Lance Taylor
922530a691 * aoutx.h (NAME(aout,final_link)): Report a reasonable error when
trying to do a relocateable link with a non-a.out object file.
1995-11-09 20:54:30 +00:00
Ian Lance Taylor
c33a0e4193 * archive.c (bfd_generic_archive_p): Check the first object file
in an archive even if target_defaulted is set.  If the object file
	has the wrong xvec, reject it.
1995-11-09 20:53:49 +00:00
Ian Lance Taylor
a1774c51f2 * aoutx.h (NAME(aout,set_section_contents)): If a section can not
be represented, report the name via _bfd_error_handler.
	(translate_to_native_sym_flags): Likewise.
	* elf32-mips.c (mips_elf_final_link): Likewise.
	* oasys.c (oasys_write_sections): Likewise.
1995-11-09 20:09:00 +00:00
Ian Lance Taylor
4a378b13e4 * coffcode.h (coff_set_alignment_hook): Write RS6000COFF_C version
which checks for STYP_OVRFLO sections.
	(coff_compute_section_file_positions): If RS6000COFF_C, handle
	reloc and lineno count overflows.
	(coff_write_object_contents): Call coff_count_linenumbers before
	coff_compute_section_file_positions.  If RS6000COFF_C, handle
	reloc and lineno count overflows.
	* xcofflink.c (_bfd_xcoff_bfd_final_link): Count line numbers and
	relocs before dealing with .pad sections.  Count overflow section
	headers when handling .pad sections.
1995-11-09 19:44:09 +00:00
Ian Lance Taylor
7906bf87b9 * coffcode.h (coff_write_object_contents): Set a.out vstamp to 1
if RS6000COFF_C.
1995-11-09 18:26:10 +00:00
Ian Lance Taylor
ee17481566 * xcofflink.c (XCOFF_DESCRIPTOR): Define.
(struct xcoff_link_hash_table): Add descriptor_section and
	special_sections fields.
	(_bfd_xcoff_bfd_link_hash_table_create): Initialize new fields.
	(xcoff_link_add_symbols): Set linkage section alignment.  Create
	descriptor section.  Check for magic symbol names (_text, etc.),
	and record them in special_sections if found.  Set
	XCOFF_DESCRIPTOR flag for a function descriptor, and set its
	descriptor field to point back to the function code symbol.
	(xcoff_sweep): Always mark the special descriptor_section.
	(bfd_xcoff_export_symbol): Check whether the symbol might be a
	function descriptor, and mark it if it is.
	(bfd_xcoff_size_dynamic_sections): Add new special_sections
	parameter, and fill it in.  Allocate space for the descriptor
	section.
	(xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR flag when defining
	global linkage code.  If an undefined function descriptor is
	exported, arrange to define it.  Warn about any other undefined
	exported symbol.
	(_bfd_xcoff_bfd_final_link): Write out the descriptor section.
	(xcoff_write_global_symbol): Create a function descriptor when
	necessary.
	* bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
	* bfd-in2.h: Rebuild.
1995-11-09 18:08:56 +00:00
Kim Knuttila
0e829f1854 Build derived hash table for PowerPC PE 1995-11-09 14:08:28 +00:00
Ken Raeburn
b27cc4bcea fix "make dep" for non-NetBSD systems 1995-11-09 09:19:13 +00:00
Ken Raeburn
7ac847361b * configure.in: Added new option --with[out]-mmap. Set USE_MMAP if it is given
and mmep is available.
* acconfig.h: Undef USE_MMAP.
* configure, config.in: Regenerated.
* aoutx.h: If USE_MMAP is not defined, do all symbol and string table handling
the old way.
(aout_get_external_symbols): Don't complain if last byte of string table is
nonzero.
* libbfd.c [HAVE_MADVISE]: Include sys/types.h and sys/mman.h.
(bfd_free_window) [! USE_MMAP]: Don't define.
(bfd_get_file_window, _bfd_generic_get_section_contents_in_window)
 [! USE_MMAP]: Abort.
1995-11-09 09:14:01 +00:00
Ian Lance Taylor
33698029db * coff-a29k.c (a29k_reloc): Change handling of R_IREL reloc to be
compatible with AMD generated COFF files.  Try to support both AMD
	and GNU formats simultaneously.
	(coff_a29k_relocate_section): Likewise.
1995-11-09 02:30:33 +00:00
Ian Lance Taylor
1b3b0c0343 Wed Nov 8 20:03:44 1995 Eric Freudenthal <freudenthal@nyu.edu>
* coff-a29k.c (SIGN_EXTEND_HWORD): Use ~0xffff rather than
	0xffff0000.
1995-11-09 01:04:56 +00:00
Ian Lance Taylor
3b168da479 get the printf cast right 1995-11-08 22:04:00 +00:00
Ian Lance Taylor
0bb8ff191e * libbfd.c (bfd_get_file_window): Change writable parameter from
int to boolean; update all callers.  Pass MAP_SHARED if not
	writable--it's required on Solaris.  Cast fprintf argument to
	avoid warning.
	* bfd-in.h (bfd_get_file_window): Update declaration.
	* bfd-in2.h: Rebuild.
	* aoutx.h: Update calls to bfd_get_file_window.
1995-11-08 21:24:33 +00:00
Ian Lance Taylor
7812bf9c25 * xcofflink.c (xcoff_find_reloc): Handle the case of a single
reloc correctly.
1995-11-08 19:26:19 +00:00
Ian Lance Taylor
417acf225f more XCOFF linker hackery 1995-11-08 19:08:18 +00:00
Ian Lance Taylor
0634a43142 * xcofflink.c (XCOFF_DEF_DYNAMIC): Rename from XCOFF_REF_DYNAMIC.
Change all uses.
	(xcoff_swap_ldhdr_in): New static function.
	(xcoff_swap_ldsym_in): New static function.
	(xcoff_link_add_symbols): If we just created a descriptor, pass it
	to _bfd_generic_link_add_one_symbol, to save a hash lookup.
	(xcoff_link_add_dynamic_symbols): Rewrite to read .loader symbols
	rather than normal symbol table.
	(xcoff_mark): When considering called symbols, check whether the
	descriptor is from a dynamic object, rather than the symbol
	itself.
	(xcoff_build_ldsyms): Likewise.
1995-11-08 18:17:44 +00:00
Ian Lance Taylor
092abcdfba * libbfd.c (bfd_get_file_window): Change return type to boolean.
Cast realloc and malloc return values.  If malloc or realloc fail,
	set bfd_error_no_memory.
	* bfd-in.h (bfd_get_file_window): Change type to boolean.
	* bfd-in2.h: Rebuild.
1995-11-08 16:32:40 +00:00
Ian Lance Taylor
c09712980d * ecofflink.c (_bfd_ecoff_locate_line): Keep looking through stabs
entries until both the line number address and the function name
	address are too large.
PR 8364.
1995-11-07 21:43:07 +00:00
Kim Knuttila
d6f41a7d3e First round ld support for PPC PE 1995-11-07 21:33:33 +00:00
Ian Lance Taylor
6a46885044 * configure.in: Call AC_CHECK_PROG to find and cache AR.
* configure: Rebuilt.
1995-11-07 20:21:37 +00:00
Ian Lance Taylor
6bc200f28d * aclocal.m4 (BFD_CC_FOR_BUILD): Don't define CC_FOR_BUILD if it
is defined in the environment.
1995-11-07 18:51:35 +00:00
Jeff Law
c44bf94c73 * som.c (som_get_section_contents_in_window): Define to use
generic version.
1995-11-07 17:59:22 +00:00
Ian Lance Taylor
cf587de853 Mon Nov 6 17:13:15 1995 Harry Dolan <dolan@ssd.intel.com>
* coff-i860.c: New file, based on coff-i386.c.
	* cpu-i860.c: New file, based on cpu-i386.c.
	* hosts/i860mach3.h: New file, based on hosts/i386mach3.h.
	* config.bfd (i860-*-mach3*, i860-*-osf1*, i860-*-coff*): New
	targets, using i860coff_vec.
	* configure.in (i860-*-mach3*, i860-*-osf1*): New hosts, using
	trad-core.o and hosts/i860mach3.h.
	(i860coff_vec): Use coff-i860.o and cofflink.o.
	* configure: Rebuild.
	* Makefile.in: Rebuild dependencies.
	(ALL_MACHINES): Add cpu-i860.o.
	(BFD32_BACKENDS): Add coff-i860.o.
	(CFILES): Add cpu-i860.c and coff-i860.c.
	* targets.c (i860coff_vec): Declare.
	(bfd_target_vector): Add &i860coff_vec.
	* archures.c (bfd_i860_arch): Declare.
	(bfd_archures_list): Add &bfd_i860_arch.
	* coffcode.h (coff_set_arch_mach_hook): Handle I860 magic number.
	(coff_set_flags): Handle bfd_arch_i860.
	(coff_write_object_contents): Handle I860 a.out magic number.
1995-11-06 23:04:44 +00:00
Ian Lance Taylor
83c23fca5b * xcofflink.c (xcoff_link_add_symbols): Set the alignment power of
the created .tc section to 2.
	(xcoff_mark): Don't keep a .loader reloc for a call to an
	undefined symbol when creating a shared library.
	(xcoff_build_ldsyms): When creating a shared library, generate
	global linkage code for a call to an undefined symbol.
1995-11-06 19:36:29 +00:00
Ken Raeburn
4fe6d901bd Changes for mmap; details in change log.
Added some new interfaces, and a new entry in the target vector.  Under the new
interfaces, mmap will be used if available, otherwise malloc/seek/read, as
before.  Old interfaces all still intact.

Most configurations (including all used by "--enable-targets=all") simply
changed to call the default routine for that entry in the target vector.  I
might've missed some targets only included in special configurations.

Support for a.out symbol and string table reading now goes through new
interfaces, and will use mmap when available.

Linker hooks (e.g., avoiding reallocation under malloc) not ready yet.
1995-11-06 10:08:03 +00:00
Ken Raeburn
ffacb892eb real log for ecoff change - cast _bfd_read_ar_hdr return value 1995-11-06 02:54:36 +00:00
Ken Raeburn
8d0d665501 real makefile change - CFILES, dependencies 1995-11-06 02:52:57 +00:00
Ken Raeburn
5d9eb9c386 * Makefile.in (CFILES): Rebuild list from BFD_LIBS, ALL_MACHINES,
BFD32_BACKENDS, BFD64_BACKENDS.
(.dep1): Put mkdep output in a separate file.
Rebuilt dependencies.
1995-11-06 02:51:26 +00:00
Fred Fish
d9e771e3b0 * core.c: Renamed to corefile.c
* makefile.dos (OBJS): Change core.o to corefile.o
	* Makefile.in (CFILES, BFD_LIBS): Use corefile.c instead of core.c
1995-11-05 00:29:13 +00:00
Stu Grossman
bf917766db * config.bfd (mips*-*-magic*): Add bfd_elf32_bigmips_vec to
targ_selvecs to allow debugging under Irix-5 native.
1995-11-04 18:21:17 +00:00
Ian Lance Taylor
583db7a8e1 * xcofflink.c (xcoff_link_add_symbols): Rename local variable sub
to o.  Clobber and restore the list of new csects around the call
	to _bfd_generic_link_add_one_symbol, in case it wants to report a
	linker error and the linker wants to read the symbol table.  Reset
	the line number count of a real section even if it has no relocs.
	(_bfd_xcoff_bfd_final_link): If shared, set the DYNAMIC flag.
1995-11-03 21:20:41 +00:00
Ian Lance Taylor
fa0c23ebb0 fix typo in last change 1995-11-03 21:18:12 +00:00
Ian Lance Taylor
18a9609c03 * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Don't warn about
an undefined symbol in a shared link.
1995-11-03 04:18:55 +00:00
Ian Lance Taylor
68aed7db3b * linker.c (_bfd_generic_link_add_one_symbol): Correct type of
oldtype from bfd_link_order_type to bfd_link_hash_type.  From
	phdm@info.ucl.ac.be (Philippe De Muyter).
1995-11-03 04:17:36 +00:00
Ian Lance Taylor
4c8b9746b2 use m68k-motorola-sysv*, not sysv3* 1995-11-03 04:16:12 +00:00
Ian Lance Taylor
e8d6d5d0a5 * reloc16.c (bfd_coff_reloc16_get_relocated_section_contents):
Pass input_bfd, not in_bfd, to bfd_coff_reloc16_extra_cases.
1995-11-01 22:12:57 +00:00
Ian Lance Taylor
7f82c7e1ee Wed Nov 1 14:26:02 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
* coff-m88k.c (rtype2howto): New static function.
	(RTYPE2HOWTO): Use it rather than a macro definition.

	* coffcode.h (coff_write_object_contents): set internal_a.magic
	to PAGEMAGICPEXECPAGED #if defined (M68) && !defined (LYNXOS).

	* configure.in: m68*-motorola-sysv3* does not use ptrace-core.o;
	define TRAD_HEADER to new file hosts/delta68.h.
	m88*-motorola-sysv*, however, does use ptrace-core.o.
	* hosts/delta68.h: New file.

	* ptrace-core.c (ptrace_unix_core_file_p): change bfd_zmalloc to
	bfd_zalloc; provide proper parm abfd to calls to bfd_zalloc.
1995-11-01 19:31:48 +00:00
Ian Lance Taylor
f10c3c09a7 Wed Nov 1 14:28:23 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
* chew.c: Include <ctype.h>.
1995-11-01 19:30:04 +00:00
Ken Raeburn
619c7730f0 * i386linux.c (MY(vec)): Declare before use. 1995-11-01 18:56:16 +00:00
Ian Lance Taylor
b2193cc594 * elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the
BFD is not of the right type.
	(bfd_elf_get_needed_list): Likewise.
	* i386linux.c (bfd_linux_size_dynamic_sections): Likewise.
	* sunos.c (bfd_sunos_get_needed_list): Likewise.
	* xcofflink.c (XCOFF_XVECP): Define.
	(bfd_xcoff_link_record_set): Don't do anything if the BFD is not
	of the right type.
	(bfd_xcoff_import_symbol): Likewise.
	(bfd_xcoff_export_symbol): Likewise.
	(bfd_xcoff_link_count_reloc): Likewise.
	(bfd_xcoff_record_link_assignment): Likewise.
	(bfd_xcoff_size_dynamic_sections): Likewise.
1995-11-01 18:25:35 +00:00
Ian Lance Taylor
baabeb74a7 * sunos.c (sunos_scan_ext_relocs): Only check the reloc symbol
table index against the number of symbols for a base relative
	reloc.
1995-11-01 18:09:06 +00:00
Ian Lance Taylor
73246ff837 * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Change from macro to
static function.
	* xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Set
	full_aouthdr flag here...
	(_bfd_xcoff_bfd_final_link): ...not here.
1995-11-01 16:47:14 +00:00
Fred Fish
6ab826bd98 * libelf.h: Rename to elf-bfd.h to avoid conflict with
systems that have a system <libelf.h>.
	* Makefile.in: Globally replace libelf.h with elf-bfd.h.
	* bfd.c, elf.c, elf32-arc.c, elf32-gen.c, elf32-hppa.c,
	elf32-hppa.h, elf32-i386.c, elf32-i860.c, elf32-m68k.c,
	elf32-m88k.c, elf32-mips.c, elf32-ppc.c, elf32-sparc.c,
	elf64-gen.c, elf64-sparc.c, elfcode.h, elflink.c,
	elfxx-target.h: Include elf-bfd.h rather than libelf.h.
	* elfxx-target.h: Change libelf.h reference to elf-bfd.h.
1995-10-31 23:29:05 +00:00
Ian Lance Taylor
0652d579db Tue Oct 31 15:30:07 1995 David Mosberger-Tang <davidm@azstarnet.com>
* ecoff.c (ecoff_set_symbol_info): Add new parameter weak.  If
	set, set BSF_WEAK in symbol.  Change all callers.
	(ecoff_get_extr): Set weakext based on BSF_WEAK.
	(ecoff_link_add_externals): If weakext is set, pass BSF_WEAK to
	_bfd_generic_link_add_one_symbol.
	(ecoff_indirect_link_order): Check that the section tdata relocs
	are not NULL before using them.
1995-10-31 20:50:25 +00:00
Ian Lance Taylor
999cc186c5 Tue Oct 31 15:30:07 1995 David Mosberger-Tang <davidm@azstarnet.com>
* configure.in (alpha*-*-linux*): Set COREFILE to trad-core.o and
	define TRAD_HEADER as hosts/alphalinux.h.
	* configure: Rebuild.
	* hosts/alphalinux.h: New file.
	* trad-core.c (trad_unix_core_file_p): Cast u.u_ar0 to bfd_vma,
	not int.
1995-10-31 20:32:53 +00:00
Ian Lance Taylor
2bd0aeb941 * coffcode.h (coff_slurp_symbol_table): Accept C_BCOMM and
C_ECOMM storage classes.
1995-10-31 19:20:58 +00:00
Ian Lance Taylor
e608052057 * xcofflink.c (xcoff_mark_symbol): New static function, broken out
of xcoff_mark.
	(xcoff_mark): Call xcoff_mark_symbol.
	(bfd_xcoff_export_symbol): Call xcoff_mark_symbol.
	(bfd_xcoff_link_count_reloc): Call xcoff_mark_symbol rather than
	doing it by hand.
	(xcoff_build_ldsyms): Build a .loader symbol for an export symbol.
1995-10-31 17:36:12 +00:00
Ken Raeburn
e295a90d12 keep files added by Niklas Hallqvist 1995-10-31 07:43:58 +00:00
Ian Lance Taylor
f630a0a41a * xcofflink.c (struct xcoff_final_link_info): Add new line_filepos
field.
	(xcoff_find_reloc): New static function.
	(xcoff_link_add_symbols): Use it.
	(_bfd_xcoff_bfd_final_link): Set finfo.line_filepos.
	(xcoff_link_input_bfd): Handle C_BINCL and C_EINCL.  Don't
	relocate the value of C_DECL.
1995-10-30 23:53:16 +00:00
Ian Lance Taylor
5fe14a9f51 * elf.c (elf_fake_sections): Remove bogus BFD_ASSERT.
PR 8293.
1995-10-30 19:56:30 +00:00
Steve Chamberlain
dff77ed71f Sat Oct 28 01:25:34 1995 steve chamberlain <sac@slash.cygnus.com>
* cofflink.c (_bfd_coff_generic_relocate_section): Make
	callback decide what goes in .relocs.
	* pe[i]-i386.c (TARGET_UNDERSCORE): Define.
	* peicode.h (pe_mkobject_hook): Only copy aouthdr if
	there is one.
1995-10-28 08:30:37 +00:00
Ian Lance Taylor
697a8fe872 * xcofflink.c (xcoff_link_add_symbols): Handle csects in the
absolute section.
1995-10-28 05:51:49 +00:00
Niklas Hallqvist
6fd1f40d22 * m68k4knetbsd.c: New file.
* hosts/mipsnbsd.h: New file.
1995-10-28 01:01:52 +00:00
Niklas Hallqvist
a6623488c9 Initial revision 1995-10-28 00:58:22 +00:00
Niklas Hallqvist
f552f751e9 * PORTING, aout-arm.c, aout-encap.c, aout-rce.c, aout-target.h,
aoutx.h, gen-aout.c, host-aout.c, hp300bsd.c, i386aout.c
	i386bsd.c, i386dynix.c, i386linux.c, i386lynx.c, i386mach3.c,
	i386netbsd.c, m68klynx.c, m88kmach3.c, mipsbsd.c, newsos3.c,
	ns32knetbsd.c, pc532-mach.c, riscix.c, sparclynx.c, sparcnetbsd.c:
	Change PAGE_SIZE to TARGET_PAGE_SIZE.

	* m68knetbsd.c: Ditto as well as add support for the m68k4k object
	format.

	* netbsd.h: Double ditto (incl. m68k4k support).  NetBSD's text
	segments includes the a.out header.  See to that the magic number
	*always* is big-endian.

	* config.bfd: Add m68*-hp*-netbsd* case.  Cross-pollinate m68k and
	m68k4k NetBSD configurations.

	* configure.in, configure: Separate i386 & mips NetBSD
	configurations from other BSD ones.  Don't assume DEC is the only
	thing NetBSD/mips run on.  Add {m68k,ns32k,sparc}-*-netbsd*
	configurations.  Add support for m68k4k NetBSD object format.

	* libaout.h: Added M_68K4K_NETBSD magic.

	* hosts/{m68k,sparc}nbsd.h: Don't define HOST_BIG_ENDIAN_P.

	* hosts/nbsd.h: Define HOST_BIG_ENDIAN_P according to
	<machine/endian.h>.
1995-10-28 00:45:51 +00:00
Niklas Hallqvist
7be23c26d4 Define HOST_BIG_ENDIAN_P according to <machine/endian.h>. 1995-10-28 00:36:29 +00:00
Niklas Hallqvist
f1d56a7340 Do not define HOST_BIG_ENDIAN_P 1995-10-28 00:35:40 +00:00
Niklas Hallqvist
ec1c8dd231 Added M_68K4K_NETBSD magic. 1995-10-28 00:34:30 +00:00
Niklas Hallqvist
69a374c0c4 Separate i386 & mips NetBSD configurations from other BSD ones. Don't assume
DEC is the only thing NetBSD/mips run on.  Add {m68k,ns32k,sparc}-*-netbsd*
configurations.  Add support for m68k4k NetBSD object format.
1995-10-28 00:34:10 +00:00
Niklas Hallqvist
11ab6da4d9 Add m68*-hp*-netbsd* case. Cross-pollinate m68k and m68k4k NetBSD
configurations.
1995-10-28 00:30:38 +00:00
Niklas Hallqvist
34e9ffbccc Change PAGE_SIZE to TARGET_PAGE_SIZE 1995-10-28 00:26:12 +00:00
Ian Lance Taylor
2d7de17d61 * xcofflink.c: More improvements, mostly to fix handling of
constructors and a few other special cases.
	* coff-rs6000.c (rs6000coff_vec): Set symbol_leading_char back to
	zero, reverting yesterday's change.
	* bfd-in.h (bfd_xcoff_link_record_set): Declare.
	(bfd_xcoff_link_count_reloc): Declare.
	(bfd_xcoff_record_link_assignment): Declare.
	* bfd-in2.h: Rebuild.
1995-10-27 22:20:19 +00:00
Stu Grossman
d6d44ef984 * config.bfd: Add config stuff for mips*-*-magic* to set
targ_defvec to ecoff_big_vec.
1995-10-27 16:45:28 +00:00
Ian Lance Taylor
aad2c618d3 more XCOFF linker tweaks 1995-10-27 03:36:17 +00:00
Ian Lance Taylor
1d04caa1f9 fix output location of common symbols 1995-10-27 00:10:05 +00:00
Ian Lance Taylor
bdaff47eb7 do not output symbols which need relocs until the end 1995-10-26 23:39:19 +00:00
Ian Lance Taylor
230de6b868 get symndx right for TOC relative relocs 1995-10-26 23:03:34 +00:00
Ian Lance Taylor
e1371ad18c tweak .loader reloc counting 1995-10-26 18:42:46 +00:00
Ian Lance Taylor
867d923d18 * xcofflink.c: Numerous changes to get closer to a working XCOFF
linker.
	* libcoff-in.h (struct xcoff_tdata): Add full_aouthdr,
	toc_section, and entry_section fields.
	(struct xcoff_section_tdata): Remove ldrel_count field.
	* libcoff.h: Rebuild.
	* coffcode.h (coff_mkobject_hook): Initialize new xcoff_data
	fields.
	(coff_compute_section_file_positions): If RS6000COFF_C, generate
	full a.out header if full_aouthdr is set in xcoff_data.
	(coff_write_object_contents): Likewise.  Set o_snentry and o_sntoc
	based on sections stored in xcoff_data.
	* coff-rs6000.c (xcoff_copy_private_bfd_data): Copy new xcoff_data
	fields.
	* coffgen.c (coff_get_symbol_info): If fix_value is set, fix the
	value stored in ret rather than returning a pointer value.
1995-10-26 18:25:13 +00:00
Michael Meissner
6bd9ffdb07 Remove MAC object format support from powerpc-eabi for now 1995-10-26 03:12:19 +00:00
Jeff Law
9d14250f9d * som.c (som_slurp_string_table): Allocate the strings with malloc
since they're free'd by free_cached_info.
        (som_slurp_symbol_table): Similarly for the symbol table.
Fixes crash (nm /lib/libc.a on hpux10).
1995-10-25 22:23:33 +00:00
Per Bothner
a2bd052926 * Makefile.in (diststuff): Don't make headers. 1995-10-25 21:59:47 +00:00
Ian Lance Taylor
356cd46521 * Makefile.in: Rebuild dependencies. 1995-10-25 20:42:36 +00:00
Ian Lance Taylor
b73322d9fd fix XCOFF line number handling 1995-10-25 20:33:38 +00:00
Ian Lance Taylor
9c234e298d set l_stoff to 0 if there are no strings 1995-10-25 18:31:27 +00:00
Ian Lance Taylor
afe0786271 only read the section relocs if there are some 1995-10-25 17:58:30 +00:00
Ian Lance Taylor
f78195df56 tweak line number and gc handling 1995-10-25 17:45:33 +00:00
Ian Lance Taylor
1edd3a7b3d * sunos.c (bfd_sunos_record_link_assignment): Don't do anything if
output_bfd is not SunOS.
	(bfd_sunos_size_dynamic_sections): Likewise.  Don't scan relocs of
	non-SunOS input files.
PR 8270.
1995-10-25 16:33:02 +00:00
Ian Lance Taylor
28a0c10399 * xcofflink.c: Extensive changes to support linking shared objects
and generating a .loader section.
	* libcoff-in.h (struct xcoff_tdata): Add import_file_id field.
	(struct xcoff_section_tdata): Add first_symndx, last_symndx,
	and ldrel_count fields.
	* libcoff.h: Rebuild.
	* coff-rs6000.c (xcoff_howto_table): Correct reloc names.
	* coffcode.h (styp_to_sec_flags): Don't set any flags if STYP_PAD
	is set.
	* bfd-in.h (bfd_xcoff_import_symbol): Declare.
	(bfd_xcoff_export_symbol): Declare.
	(bfd_xcoff_size_dynamic_sections): Declare.
	* bfd-in2.h: Rebuild.
1995-10-25 15:37:47 +00:00
Stan Shebs
aadf04f736 * configure.in: Add xcofflink.o to pmac_xcoff_vec.
* configure: Rebuild.
	* mpw-config.in: Add xcofflink.c.o to powerpc-apple-macos.
	* coff-pmac.c: Include coff-rs6000.c instead of duplicating its
	contents.
	(pmac_xcoff_vec): Update to use new xcoff support.
	* coff-rs6000.c (xcoff_generic_stat_arch_elt): Make static.
	(xcoff_write_armap): Declare buf as unsigned char.
	* xcofflink.c (xcoff_link_add_symbols): Declare a local as PTR.

	* mpw-make.sed: Generalize subdir_do edit.
1995-10-25 00:54:55 +00:00