Commit Graph

515 Commits

Author SHA1 Message Date
Ian Lance Taylor 7389debf1c * libnlm.h (nlm_backend_data): Added nlm_mangle_relocs.
(nlm_mangle_relocs_func): New macro.
	* nlm32-i386.c (nlm_i386_write_reloc): Rewrote correctly.
	(nlm_i386_mangle_relocs): New function.
	* nlmcode.h (nlm_compute_section_file_positions): Move all common
	symbols into the .bss section.
	(nlm_set_section_contents): Call the mangle_relocs function.
	(nlm_write_object_contents): Treat a reloc against any defined
	symbol as an internal reloc.  Fix bug in external reloc counting.
	Get the offset and debugging type right for .bss symbols.  Only
	output debugging symbols for defined symbols.
1993-08-04 20:25:53 +00:00
Ian Lance Taylor e4b6b3e71b * coff-h8500.c (rtype2howto): Do an fprintf to stderr rather than
using printf.
	* coff-z8k.c (rtype2howto): Likewise.
	* coffcode.h (dummy_reloc16_extra_cases): Likewise.
	* elf32-i386.c (TRACE): Likewise.
	* hp300hpux.c (convert_sym_type, swap_std_reloc_in): Likewise.
	* rs6000-core.c (rs6000coff_get_section_contents): Likewise.
	* coffgen.c (coff_print_symbol): Do an fprintf to the file
	argument rather than using printf.
1993-08-04 16:36:10 +00:00
Ian Lance Taylor 48edba8191 With these changes, the binutils mostly work on the Alpha, except for
objdump -r.

	* coffswap.h: Added macros used when accessing several fields;
	default is the same as before.
	(coff_swap_aouthdr_{in,out}): Handle the Alpha ECOFF fields.
	* coff-alpha.c: Defined macros to use the right sizes in
	coffswap.h.
	* libecoff.h: Backend information is now in target vector, not
	BFD.  Start of backend information is COFF backend information.
	* coff-alpha.c, coff-mips.c: Changed accordingly.
	* ecoff.c (ecoff_mkobject): New function.
	(ARMAP_START): Changed into backend information, since Alpha uses
	a different name.
	(ecoff_slurp_armap): Don't overlay archive header.
	* bfd.c: Include libcoff.h.
1993-08-04 01:37:25 +00:00
David MacKenzie 5d4c714ebd fix syntax error 1993-08-04 00:28:19 +00:00
David MacKenzie eca6fef226 make a common extern 1993-08-03 23:37:45 +00:00
Fred Fish b6e7553c42 * nlm_slurp_symbol_table: Don't use '&' on arrays. 1993-08-03 22:22:13 +00:00
Ian Lance Taylor dae31cf51b * ecoff.c: New file for generic ECOFF functions.
* ecoffswap.h: New file for ECOFF swapping functions which differ
	only slightly for different targets.
	* libecoff.h: Added prototypes for ecoff.c functions.
	(ecoff_backend_data): New structure.
	(ecoff_tdata): Added backend_data field.  Changed external data
	pointers to be PTR rather than to a particular struct.
	(ecoff_symbol_struct): Moved in from coff-mips.c.
	* coff-alpha.c, coff-mips.c: Moved common functions into ecoff.c.
	Added ECOFF backend structures.  Include ecoffswap.h.
	* coff-msym.c: Removed; superseded by ecoffswap.h.
	* bfd.c: Include coff/internal.h.
	* Makefile.in (BFD_LIBS): Removed coff-mips.o and coff-msym.o.
	Added ecoff.o.
	(BFD64_BACKENDS): Added coff-alpha.o.
	(CFILES): Removed coff-msym.c.  Added ecoff.c.
	(bfd.o): Added dependency on $(INCDIR)/coff/sym.h.
	(coff-mips.o): Added dependency on ecoffswap.h and coff/ecoff.h.
	(ecoff.o, coff-alpha.o): New targets.
	(coff-msym.o): Removed target.
1993-08-03 20:22:47 +00:00
John Gilmore e49d537916 * elf32-hppa.h, hosts/*: Remove (one more time) all occurrances
of EXFUN in the BFD sources.  Heave ho!
1993-08-03 06:36:30 +00:00
David D. Zuhn 19d06401a4 remove some conflicting decls 1993-08-02 19:18:38 +00:00
Stu Grossman 78e551e560 Mon Aug 2 11:48:23 1993 Stu Grossman (grossman at cygnus.com)
* i386lynx.c:  Remove unnecessary def of N_HEADER_IN_TEXT,
	redefine TEXT_START_ADDR to be 0.
1993-08-02 18:50:02 +00:00
Stu Grossman 3481ad9a11 Sun Aug 1 22:54:08 1993 Stu Grossman (grossman at cygnus.com)
* configure.host, configure.in, hosts/i386lynx.h:  Lynx/386
	host and target info.
1993-08-02 05:57:29 +00:00
David MacKenzie 45743c7867 common section fix 1993-07-30 22:45:04 +00:00
David D. Zuhn 6592e701b3 remove some sun3 function decls 1993-07-30 03:22:30 +00:00
Fred Fish e895e2a577 * nlm{32,64}-gen.c (JUMP_TABLE_PREFIX): Delete.
* nlm{32,64}-gen.c (JUMP_TABLE_INIT):  New macro that works with
	older cpp's, that don't do additional replacement on the JUMP_TABLE
	macro's argument.
	* nlm-target.h (JUMP_TABLE_INIT):  Use new macro in place of
	JUMP_TABLE macro.
1993-07-27 19:56:00 +00:00
Jim Kingdon 1fe54c2374 Yet another trad-core variant:
* config/esix.mh, hosts/esix.h: New files.
	* configure.hosts: Use them.
1993-07-26 22:53:02 +00:00
Ian Lance Taylor 8f22c1af21 * reloc.c (bfd_perform_relocation): Handle the case of
complain_overflow_bitfield, rightshift > bitpos, and a negative
	number.
1993-07-26 20:24:26 +00:00
Ken Raeburn 718bb803b5 Lots o' elf changes 1993-07-26 19:37:05 +00:00
Ian Lance Taylor a751d66160 * configure.in: Don't look in ${srcdir} for ${target_makefile_frag};
the top level script has already adjusted for it.
1993-07-26 16:11:38 +00:00
Steve Chamberlain 8092d7de16 * srec.c (srec_write_symbols): Get CR LF in the right order. 1993-07-26 15:11:38 +00:00
Jim Kingdon 050110a282 * hosts/vaxbsd.h: Include std-host.h. Don't include <machine/param.h>. 1993-07-26 07:17:30 +00:00
David Edelsohn 8060dd44e2 * bfd.c (bfd_nonrepresentable_section, bfd_undefined_symbol,
bfd_reloc_value_truncated, bfd_reloc_is_dangerous, bfd_assert):
Send error messages to stderr.
1993-07-23 17:23:14 +00:00
Fred Fish d1f83f4494 * nlm{32,64}-target.h: Remove.
* nlm-target.h:  New file, merged from nlm{32,64}-target.h
	* libnlm.h (NLM_ARCH_SIZE):  Define to ARCH_SIZE.
	* nlm.c (ARCH_SIZE):  Remove define to zero.
	* nlm32-gen.c (ARCH_SIZE):  Define to 32.
	* nlm32-gen.c (JUMP_TABLE_PREFIX):  Define to nlm32.
	* nlm{32,64}-gen.c (nlm-target.h):  Include.
	* targets.c, libnlm.h, nlm.c, nlm{32,64}-gen.c, nlm{32,64}.c,
	nlmcode.h:  Convert prefixes from bfd_nlm<size> to just
	nlm<size>, and use macros select size.
1993-07-22 23:09:07 +00:00
K. Richard Pixley 148e69afc5 * Makefile.in (Makefile): add configure.in, drop redundant
$(srcdir), drop redundant ./
1993-07-22 22:43:07 +00:00
Ian Lance Taylor a643e6260e * hpux-core.c: New file; backend for HP/UX style core files.
* bfd.c (struct _bfd): Renamed hppa_core_data field to
	hpux_core_data.
	* bfd-in2.h: Updated.
	* hppa.c (make_bfd_asection, hppa_core_file_p,
	hppa_core_file_failing_command, hppa_core_file_failing_signal,
	hppa_core_file_matches_executable_p): Moved into hpux-core.c.
	Removed from target vector.
	* libhppa.h (struct hppa_core_struct and accessor macros): Moved
	into hpux-core.c.
	* targets.c: If HPUX_CORE is defined, add hpux_core_vec to
	target list.
	* config/hp300.mh (HDEFINES): Set to -DHPUX_CORE.
	(HDEPFILES): Set to hpux-core.o.
	* config/hppabsd.mh, config/hppahpux.mh: Likewise.
	* hosts/hp300.h (HOST_HP300HPUX): Define.
	* Makefile.in (OPTIONAL_BACKENDS): Added sco-core.o,
	aix386-core.o, hpux-core.o.
	(sco-core.o, aix386-core.o, hpux-core.o): New dependencies.
1993-07-22 19:39:41 +00:00
Ian Lance Taylor 66a277abe2 * reloc.c (enum complain_overflow): New enumeration with the
various flavours of overflow checking.
	(srtuct reloc_howto_struct): Changed complain_on_overflow field
	from boolean to emum complain_overflow.  Removed obsolete absolute
	field.
	(HOWTO): Removed absolute argument.
	(bfd_perform_relocation): Do overflow checking on all types of
	fields.
	* bfd-in2.h: Updated accordingly.
	* all targets: Updated initialization of reloc howto tables.
1993-07-22 18:03:51 +00:00
Ken Raeburn 10bd43a89c don't use 'template' in C code, so it'll be friendlier to C++ 1993-07-22 01:08:25 +00:00
Fred Fish 8e946a3bde * coff-m68k.c (m68k_howto2rtype): Make arg CONST to match callers. 1993-07-20 23:20:36 +00:00
Fred Fish af0175cf41 * elfcode.h: Fix several illegal pointer combination warnings for
usages of bfd_alloc and alloca.
1993-07-20 22:42:59 +00:00
Fred Fish f03b1f0d44 * libnlm.h (nlm_obj_tdata): Rename hidden struct members to avoid
apparent Sun C preprocessor recursion.  Fix access macros.
	* nlmcode.h:  Remove spurious '&' before several array references.
1993-07-20 22:07:39 +00:00
Jim Kingdon df61743d3e * Rename for DOS uniqueness: coff-m68k-un.c -> coff-u68k.c
config/m68k-coffun.mt -> u68k-coff.mt.
	* Makefile.in, configure.in: Corresponding changes.
1993-07-20 21:45:32 +00:00
Ken Raeburn 051cdcb33e * elf32-sparc.c (elf_sparc_howto_table): Don't use "^&" before
function name; it's valid without, and some compilers give
warnings with it there.
1993-07-20 20:26:51 +00:00
Fred Fish b70cb81eb5 * bfd.c (union tdata): Add nlm_obj_data;
* targets.c (enum target_flavour):  Add bfd_target_nlm_flavour.
1993-07-20 15:30:58 +00:00
Fred Fish 2b87236749 * bfd-in.h: Apply some of the changes that were made to bfd-in2.h. 1993-07-20 15:22:37 +00:00
Fred Fish c3e964b955 * configure.in (*-*-netware, i[34]86-*-netware): New configs.
* Makefile.in (BFD32_BACKENDS):  Add nlm.o, nlm32.o, nlm32-gen.o.
	* Makefile.in (BFD64_BACKENDS):  Add nlm64.o, nlm64-gen.o.
	* Makefile.in (CFILES):  Add nlm{32,64}.c, nlm{32,64}-gen.c.
	* Makefile.in (nlm.o, nlm{32,64}.o, nlm{32,64}-gen.o:  New targets.
	* bfd-in2.h (INLINE):  Defines moved here.
	* {aoutx.h, elf.c, elfcode.h}:  Move INLINE defines to bfd-in2.h.
	* libelf.h (CAT4):  Move define to bfd-in2.h.
	* bfd-in2.h (CAT4):  Merge CAT4 macro with other CAT macros.
	* bfd-in2.h (union tdata):  Add nlm_obj_data.
	* bfd-in2.h (enum target_flavour):  Add bfd_target_nlm_flavour.
	* targets.c (bfd_nlm{32,64}_{big,little}_vec):  Add prototypes.
	* targets.c (target_vector):  Add bfd_nlm{32,64}_{big,little}_vec.
	* (libnlm.h, nlm.c, nlmcode.h, nlm{32,64}-gen.c,
	nlm{32,64}-target.h, nlm{32,64}.c, config/i386-nlm.mt):  New files
	for NLM support.
1993-07-20 04:45:13 +00:00
David D. Zuhn 56e28f3a9b add i386-lynx support 1993-07-19 22:14:45 +00:00
Ken Raeburn 32090b8e4f * elf.c, elfcode.h, libelf.h: Serious reorganization.
Deleted `thunk' structure, merged into tdata, duplicate data eliminated.
Rearranged functions, grouping by function.
Broke up many functions in elfcode.h, re-ordered many parts of file writing
to handle unpredictable state of section relocation table as provided by
various applications.
Still needs cleanup: Merge functions back together, split out data structure
with only data that is used only when writing out object file.

* elf.c (bfd_elf_generic_reloc): New function, taken from coff-mips.c.
* elf32-sparc.c (elf_sparc_howto_table): Use it, to work around
bfd_perform_relocation lossage.
1993-07-19 19:12:59 +00:00
Jim Kingdon bea80b013d * coffcode.h: Recognize I386PTXMAGIC.
* aoutf1.h, libaout.h: Add M_386_DYNIX.
	* trad-core.c (TRAD_CORE_USER_OFFSET, TRAD_CORE_STACK_FILEPOS):
	New macros; use it if defined.
	* config/symmetry.mh, hosts/symmetry.h: New files.
1993-07-19 04:55:21 +00:00
Jim Kingdon d9d9782312 * Rename elf{32,64}-generic.c to *-gen.c for 14 char filenames.
* Makefile.in: Change accordingly.
	(CFILES): Add elf64-gen.c.
1993-07-17 01:28:11 +00:00
Ian Lance Taylor 851f2e3f00 * coff-mips.c: Use MIPS_AOUT_{OZ}MAGIC rather than {OZ}MAGIC. 1993-07-16 16:56:05 +00:00
Ian Lance Taylor 6585e9e347 * coff-m88k.c (howto_table): Corrected bitsize for R_PCR26L from
16 to 26.
1993-07-15 20:06:41 +00:00
Jim Kingdon 89c789f6fa * hppa.c [HOST_HPPABSD]: Use hpux-style core files.
* libhppa.h [HOST_HPPABSD]: Include hpux version of core.h
1993-07-14 20:35:18 +00:00
David Edelsohn 7024033bfb * configure.in: Recognize h8300h-*-*. 1993-07-14 16:32:34 +00:00
Steve Chamberlain 46dd06224b * coff-h8500.c (reloc_processing, rtype2howto): New relocation
type R_H8500_HIGH_16.
	* coff-sh.c (r_imm32): Get the width of the reloc right.
1993-07-13 19:08:25 +00:00
Jim Kingdon 25452831dc * configure.in: Add new target m68k-coffun to the dpx/2.
* config/m68k-coffun.mt: New file, renamed from config/dpx2.mt.
1993-07-13 18:42:33 +00:00
Ken Raeburn b886bef191 Changes to reloc.c, libelf.h, config/sparc-elf.mt. 1993-07-12 14:50:45 +00:00
Jim Kingdon 4d09e8acfb * elfcode.h: Use memset not bzero.
* trad-core.c: Don't include <sys/file.h>.
	* i386linux.h: Include <sys/file.h>.
	* coff-m68k-un.c: new file to handle names with underscores on
	svr3 machines.
	* coff-m68k.c (m68k_rtype2howto): added #ifdef ONLY_DECLARE_RELOCS
	to not duplicate the function in the executable.
	(TARGET_SYM, TARGET_NAME, NAMES_HAVE_UNDERSCORE): new macros needed
	by coff-m68k-un.c.
	* coffcode.h (MC68KBCSMAGIC): case added.
	* targets.c: Add m68kcoffun_vec.
	* configure.host: added support for Bull dpx/2.
	* config/dpx2.mh, hosts/dpx2.h: new files.
	* Makefile.in: added target coff-m68k-un.
1993-07-11 23:23:20 +00:00
Jim Kingdon a40fe908ce * aoutf1.h: Add definition of MACHTYPE_OK. 1993-07-09 05:47:07 +00:00
Jim Kingdon ce93f56967 * hosts/i386bsd.h: Conditionalize HOST_STACK_END_ADDR on __bsdi__.
i386bsd.c: Remove defines of N_TXT*; the versions in aout64.h should
	be sufficient.  Define TEXT_START_ADDR.
1993-07-08 19:24:29 +00:00
Ian Lance Taylor ebd2413529 * aoutx.h (translate_from_native_sym_flags): Removed statep
argument.  Just let an indirect symbol point to the next symbol
	without forcing the next symbol to be undefined.  Changed all
	callers.
	* hp300hpux.c (slurp_symbol_table): Changed call to
	translate_from_native_sym_flags.
	* targets.c: Added hp300hpux_vec.
	* Makefile.in (hp300hpux.o): Added dependencies.
1993-07-07 18:05:06 +00:00
Ken Raeburn 7e37f9ff25 more prototypes, in libelf.h 1993-07-06 21:14:36 +00:00