Commit Graph

1084 Commits

Author SHA1 Message Date
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
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
c55665ea6e * 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:37:06 +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
Ken Raeburn
fa088f5074 dtrt wrt v9 for elf64-sparc.c (sigh) 1993-07-13 18:52:44 +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
42b9004e46 make sanitize dtrt wrt v9 1993-07-13 18:39:22 +00:00
Ken Raeburn
b886bef191 Changes to reloc.c, libelf.h, config/sparc-elf.mt. 1993-07-12 14:50:45 +00:00
Ken Raeburn
5284a822d1 regenerated 1993-07-12 14:48:13 +00:00