Commit graph

1097 commits

Author SHA1 Message Date
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
Fred Fish
b5ed6e32c2 Remove '.Sanitize' from explicit list of Things-to-lose. It is now implicitly
added to the list by Sanitize, unless Sanitize knows it needs to keep it.
1993-08-02 23:29:32 +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
f5ac0101c7 Add i386lynx.h. 1993-08-02 15:57:14 +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
Ian Lance Taylor
8fa7a236b6 First cut at i386 specific NLM backend. 1993-07-30 22:32:45 +00:00
Ian Lance Taylor
5a1cb8d526 * nlm32-i386.c: New file. First cut at i386 NLM code.
* libnlm.h: Added some more prototypes.
	(struct nlm_relent): New structure.
	(nlmNAME(symbol_type)): Added rcnt and relocs fields.
	(struct nlm_obj_tdata): Added new fields: nlm_symbols,
	nlm_text_low, nlm_data_low, nlm_reloc_fixups,
	nlm_reloc_fixup_secs.
	(struct nlm_backend_data): New structure, with accessor macros.
	* nlmcode.h: Use NLM_HIBIT rather than MSB.
	(nlm_object_p): Set SEC_RELOC for .text and .data.  Don't set
	SEC_DATA for .bss.  Set HAS_RELOC and HAS_SYMS for abfd.  Set the
	architecture.
	(nlm_swap_fixed_header_out, nlm_swap_variable_header_out,
	find_nonzero, nlm_swap_auxiliary_headers_out): New outbound
	swapping functions.
	(nlm_get_symtab_upper_bound, nlm_slurp_symbol_table): Include
	external references in symbol table as undefined symbols.
	(nlm_get_symtab, nlm_slurp_symbol_table): Fill in alocation
	argument in get_symtab rather than in slurp_symbol_table.
	(nlm_slurp_symbol_table): Save symbol information in tdata.
	(nlm_print_symbol): New function.
	(nlm_slurp_reloc_fixups, nlm_get_reloc_upper_bound,
	nlm_canonicalize_reloc): New functions to read relocs.
	(nlm_compute_section_file_positions, nlm_set_section_contents,
	nlm_external_reloc_compare, nlm_write_object_contents): New
	functions to create NLM files.
	* nlm-target.h: Define all the nlm functions here either as
	default values or in terms of nlmNAME.  Use JUMP_TABLE(nlm).  Set
	the backend_data field to TARGET_BACKEND_DATA.
	* nlm32-gen.c, nlm64-gen.c: Don't define function macros here;
	they are now in nlm-target.h.
	(TARGET_BACKEND_DATA): Define as NULL.
	* nlm.c (nlm_mkobject): Do allocate the tdata field.
	(nlm_set_arch_mach): New function.
	* targets.c: Added nlm32_i386_vec.
	* Makefile.in (BFD32_BACKENDS): Added nlm32-i386.o.
	(CFILES): Added nlm32-i386.c.
	(nlm32-gen.o, nlm64-gen.o): Depend on nlm-target.h.
	(nlm32-i386.o): New target.
1993-07-30 22:32:09 +00:00
Steve Chamberlain
f751f474f4 d
Make sure ansidecl.h is included where needed.
1993-07-30 18:17:38 +00:00
Fred Fish
775d4a4096 Add .Sanitize to Things-to-lose list. 1993-07-30 16:46:19 +00:00
Fred Fish
207d7af96c Add esix.h to Things-to-lose list. 1993-07-30 07:10:33 +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
Jim Kingdon
fc18f5ca3b new for esix 1993-07-26 22:46:42 +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
Ken Raeburn
300adb3110 Reimplement segment writing.
(elf_write_phdrs): Use precomputed e_phoff rather than making assumptions.
(elf_build_phdrs): Disabled, for now.
(assign_file_position_for_section): Don't change file offset for SHT_NOBITS.
(assign_file_positions_for_symtab_and_strtabs): New function.
(struct seg_info): New type.
(map_program_segments): New function.
(assign_file_positions_except_relocs): For executables, leave section headers
&c for last, and properly align all sections with flag SHF_ALLOC set.
(prep_headers): No longer abort when EXEC_P is set.
(write_shdrs_and_ehdr): Deleted all code relating to program segments.

(various): Deleted some unused code, and debugging "malloc(0)" calls.
(write_relocs): Cache value of last symbol looked up, to save
time if the symbol is referred to repeatedly.
(elf_fake_sections): Check only SEC_RELOC flag, not number of relocs.
(assign_section_numbers): Likewise.
1993-07-26 19:27:56 +00:00
Ken Raeburn
b3024965a0 (elfXX_bed): Initialize maxpagesize from ELF_MAXPAGESIZE.
(ELF_MAXPAGESIZE): Default to 1.
1993-07-26 18:46:37 +00:00
Ken Raeburn
d79ab07c4a * libelf.h (struct elf_backend_data): New field, maxpagesize.
(struct elf_obj_tdata): New field, phdr.
1993-07-26 18:44:03 +00:00
Ken Raeburn
109a640b46 (bfd_perform_relocation): Handle 64-bit relocs. 1993-07-26 18:42:09 +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
3f93362059 Generic HP/UX core file support. 1993-07-22 19:40:46 +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
Jim Kingdon
d39d83c1be Reflect symmetry changes 1993-07-20 18:12:53 +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
84d3f42292 fix stupid typo 1993-07-19 22:24:56 +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
Ken Raeburn
2fdca02194 (BFD_LIBS): Include coff-mips.o and coff-msym.o, so that gdb will link.
(ofiles): Don't use sort or uniq; do it with sh constructs.
1993-07-19 18:55:29 +00:00