Commit graph

2533 commits

Author SHA1 Message Date
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
Jeff Law
ddf4639bc8 * hppabsd-core.c (make_bfd_asection): Initialize asect->filepos
correctly.  Don't initialize asect->vma.
1995-10-24 16:27:25 +00:00
Ken Raeburn
e7bedf65ef * opncls.c (_bfd_new_bfd): If _bfd_chunksize wasn't preset, use something a
little less than the page size.
1995-10-20 17:25:27 +00:00
Steve Chamberlain
3a70e2988d Wed Oct 18 16:20:08 1995 steve chamberlain <sac@slash.cygnus.com>
* coff-i386.c (coff_i386_reloc_type_lookup): New.
	* coffcode.h (coff_write_object_contents): If .bss is before
	.data us that as data_start.
	* cofflink.c (_bfd_coff_generic_relocate_section): Get reloc
	calc correct.
	* peicode.h (add_data_entry): Use _cooked_size of data directory.
	(coff_swap_outhdr_out): Hardwire in version number.
1995-10-18 23:26:12 +00:00
Ken Raeburn
3c3a526818 * sunos.c (sunos_add_dynamic_symbols): Rename local variables major and minor
to *_vno, since the former are also macros in SunOS header files.  Cast result
of bfd_alloc to appropriate type.
1995-10-18 21:32:53 +00:00
Ken Raeburn
5a2846e3dd * coffgen.c (coff_find_nearest_line): Cast used_by_bfd value before assigning
to sec_data.
1995-10-18 20:53:24 +00:00
Ian Lance Taylor
0f6c885ef0 * ecoff.c (_bfd_ecoff_find_nearest_line): The offset argument is
now relative to the section, not absolute.
	* ecofflink.c (_bfd_ecoff_locate_line): Use the right symbol to
	get the file name when there is a N_SO directory name.  When
	handling stabs, remember that section->vma was added to the
	offset.
PR 8223.
1995-10-18 17:29:38 +00:00
Ian Lance Taylor
11fa66365b * sunos.c (struct sunos_link_hash_table): Add needed field.
(sunos_link_hash_table_create): Call bfd_release, not free.
	(sunos_link_hash_table_create): Initialize needed field.
	(sunos_add_dynamic_symbols): Record needed objects.
	(bfd_sunos_get_needed_list): New function.
	* bfd-in.h (bfd_sunos_get_needed_list): Declare.
	* bfd-in2.h: Rebuild.
1995-10-17 22:30:42 +00:00
Ian Lance Taylor
54406786f0 * bfd-in.h (struct bfd_link_needed_list): Rename from
bfd_elf_link_needed_list.
	* bfd-in2.h: Rebuild.
	* elf.c, elflink.h, libelf.h: Corresponding changes.
1995-10-16 23:10:56 +00:00
Ian Lance Taylor
dd98464413 Add start at AIX linker support; no shared libraries yet.
* xcofflink.c: New file.
	* configure.in (rs600coff_vec): Use xcofflink.o.
	* configure: Rebuild.
	* libcoff-in.h (struct xcoff_tdata): Add csects and debug_indices
	fields.
	(struct xcoff_section_tdata): Define.
	(xcoff_section_data): Define macro.
	(_bfd_xcoff_bfd_link_hash_table_create): Declare.
	(_bfd_xcoff_bfd_link_add_symbols): Declare.
	(_bfd_xcoff_bfd_final_link): Declare.
	(_bfd_ppc_xcoff_relocate_section): Declare.
	* libcoff.h: Rebuild.
	* coff-rs6000.c: Clean up a bit.
	(xcoff_mkobject): Default modtype to 1L, not RE.  Initialize
	cputype, csects, and debug_indices.
	(xcoff_copy_private_bfd_data): Copy cputype.
	(xcoff_howto_table): Rename from rs6000coff_howto_table.
	(xcoff_rtype2howto): Rename from rs6000coff_rtype2howto.
	(xcoff_reloc_type_lookup): Rename from
	rs6000coff_reloc_type_lookup.
	(coff_relocate_section): Define.
	(_bfd_xcoff_sizeof_headers): Define.
	(_bfd_xcoff_bfd_get_relocated_section_contents): Define.
	(_bfd_xcoff_bfd_relax_section): Define.
	(_bfd_xcoff_bfd_link_split_section): Define.
	(rs6000coff_vec): For BFD_JUMP_TABLE_LINK, use _bfd_xcoff, not
	coff.
	* coffcode.h (coff_compute_section_file_positions): If AIX,
	increment sofar by SMALL_AOUTSZ if not executable.
	(coff_write_object_contents): If AIX, always output an a.out
	header; if not executable, header size of SMALL_AOUTSZ.
	* hash.c (struct bfd_strtab_hash): Add xcoff field.
	(_bfd_stringtab_init): Initialize xcoff field.
	(_bfd_xcoff_stringtab_init): New function.
	(_bfd_stringtab_add): In XCOFF mode, leave two bytes for length.
	(_bfd_stringtab_emit): In XCOFF mode, write out length.
	* libbfd-in.h (_bfd_xcoff_stringtab_init): Declare.
	* libbfd.h: Rebuild.
	* Makefile.in: Rebuild dependencies.
	(BFD32_BACKENDS): Add xcofflink.o.
	(CFILES): Add xcofflink.c.
ld -r works on hello, world.
1995-10-16 21:54:48 +00:00
Steve Chamberlain
c974e19ef4 * libcoff-in.h (pe_data_type.in_reloc_p): New. 1995-10-16 21:46:48 +00:00
Ian Lance Taylor
22a35f0b05 * elf32-mips.c (mips_elf_symbol_processing): Set SEC_ALLOC, not
SEC_NO_FLAGS, for .acommon section.  From Peter Schauer
	<Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>.
1995-10-16 14:54:17 +00:00
Michael Meissner
fb417a2138 Add in_reloc_p, cloned from coff-i386.c 1995-10-15 01:37:23 +00:00
Ken Raeburn
106773f836 Use system page size for obstack chunk size instead of 128, permitting override
by application.

Include missing patch from Andreas Schwab's changes.

Fix up minor configuration problems.
1995-10-13 22:03:11 +00:00
Steve Chamberlain
b1e463692c Fri Oct 13 11:22:01 1995 steve chamberlain <sac@slash.cygnus.com>
* coff-arm.c (in_reloc_p): New.
	* coff-i386.c (in_reloc_p): New.
	* coffcode.h: Allways include peicode.h if COFF_WITH_PE.
	(coff_write_object_contents): Only set has_reloc_section
	if PE_IMAGE.
	* cofflink.c (_bfd_coff_generic_relocate_section): Call
	in_reloc_p to decide if reloc should be emitted.
	* libcoff.h (pe_data_type.in_reloc_p): New.
	* peicode.h (pe_mkobject): Initialize in_reloc_p.
1995-10-13 18:28:31 +00:00