Commit graph

2554 commits

Author SHA1 Message Date
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