Commit Graph

1123 Commits

Author SHA1 Message Date
Ian Lance Taylor
3036933a88 * ecoff.c (ecoff_slurp_armap): Correct bug in initialization of
stringbase.
1993-08-09 18:32:39 +00:00
David MacKenzie
aedc02dff0 remove unused test 1993-08-08 19:22:54 +00:00
Jim Kingdon
810a7a82a0 * Makefile.in ({dist,real}clean): Use $(MAKE), not make. 1993-08-08 17:47:17 +00:00
David MacKenzie
105ceb6a62 cleanup 1993-08-08 02:14:01 +00:00
David MacKenzie
61434ebb73 add pointer to config/README 1993-08-07 22:45:02 +00:00
David MacKenzie
2e39bde39f document bfdsumm.texi 1993-08-07 22:43:02 +00:00
David MacKenzie
5f9a2245d8 make target selection fully configurable 1993-08-07 22:38:22 +00:00
Fred Fish
9ea71abfcf * elfcode.h (elf_object_p): Add comment about what this function
does and to watch out for side effects.  Add FIXME for memory leaks.
	Fix comment about checking for matching byte order.  Preserve
	pointer to old tdata (if any), and restore it if we don't match
	file with target vector.  If we are going to use goto's, use them
	consistently and maintainably.
	* nlmcode.h (nlm_object_p):  Expand comments about leaked memory
	to note that the problem is even more serious than just leaked
	memory.  Replace goto with more traditional return.
1993-08-07 14:46:21 +00:00
David MacKenzie
dcdfa32cec cleanups 1993-08-07 01:35:00 +00:00
David MacKenzie
493a259370 add hp300bsd to default target vector 1993-08-06 20:11:42 +00:00
Ian Lance Taylor
70bec8b806 * ecoff.c (ecoff_set_symbol_info): Removed special handling for
scBss and scSBss symbols, since it was wrong.
1993-08-06 20:04:22 +00:00
Ken Raeburn
153cb9ade3 * libelf.h (NAME): Provide a default definition, that's neither
for 32 bits nor for 64.

Tue Jun 15 14:38:32 1993  Michael Meissner  (meissner@osf.org)

* libelf.h (elf_hash): Change declaration to bfd_elf_hash, since
that is what is in elf.c.
1993-08-06 19:29:57 +00:00
Ian Lance Taylor
014e4e9981 * Makefile.in (coff-mips.o, coff-alpha.o): Don't depend on
coffcode.h.
1993-08-06 19:17:36 +00:00
Ian Lance Taylor
c39fcfdca8 * coffcode.h (sec_to_styp_flags): Inspired by mb@tti.COM (Michael
Bloom): Only set STYP_BSS for SEC_ALLOC sections.
1993-08-06 19:12:47 +00:00
Ian Lance Taylor
8c11363a29 * ecoff.c (ecoff_slurp_armap): From Arne Henrik Juul
<arnej@kari.fm.unit.no>: Handle a COFF style armap.
1993-08-06 16:39:44 +00:00
Jim Kingdon
a61a4125ed * hpux-core.c: Cast return value from bfd_zalloc. 1993-08-06 15:06:23 +00:00
Ken Raeburn
b12193c073 Makefile.in, bfd-in.h, reloc, elf32-i386, elfcode changes 1993-08-05 19:23:43 +00:00
Ken Raeburn
b66b07a292 regenerated 1993-08-05 18:36:19 +00:00
Ken Raeburn
e74034d81a Wed Jun 23 06:05:58 1993 Michael Meissner (meissner@osf.org)
* elfcode.h (elf_write_object_contents): Don't drop core if
	elf_symbol_from returns a NULL pointer when processing a non-elf
	symbol, use a 0 size instead.

Tue Jun 15 14:38:32 1993  Michael Meissner  (meissner@osf.org)

	* elfcode.h (elf_hash): Delete macro mapping elf_hash to
	bfd_elf32_hash, since the hash table is independent of the 32/64
	bit system.
1993-08-05 18:32:50 +00:00
Ken Raeburn
1fa5371efb rewrite comment -- bfd-in2.h is generated too 1993-08-05 18:27:16 +00:00
Ken Raeburn
a49880c83d add i386-elf relocs (from Meissner) 1993-08-05 18:24:21 +00:00
Ken Raeburn
15db204498 (BFD_LIBS): Always include elf.o.
(BFD32_BACKENDS): Don't include elf.o here.
(ofiles): Delete references to ofiles2 and ofiles3.
(do_clean): Delete ofiles.
(BFDIN_H): Changed references to $(srcdir)/bfd-in2.h.
(stmp-bfd.h): Use bfd.h-new as temporary name, not bfd.h2.
(headers): Use bfd-in2.h-new as temporary name, not bfd.h-new.
1993-08-05 18:20:20 +00:00
Fred Fish
8b97737768 * nlmcode.h (nlm_get_reloc_upper_bound): Test return value
of nlm_slurp_symbol_table as boolean, not pointer.
	* nlmcode.h (nlm_canonicalize_reloc):  Test return value
	of nlm_slurp_reloc_fixups as boolean, not pointer.
1993-08-05 17:22:58 +00:00
David MacKenzie
ebdb7db782 fix line numbers 1993-08-05 02:47:20 +00:00
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
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