Commit Graph

1199 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
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
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
Ken Raeburn
6ed3ddef4c Use {start,end}-sanitize-v9 instead of `v9' on every line to be removed. 1993-07-12 14:47:30 +00:00
Ken Raeburn
cb6d724fb9 (struct elf_obj_tdata): Add field `thunk'. 1993-07-12 14:46:20 +00:00
Ken Raeburn
58acdbd76b (enum bfd_reloc_code_real): Move SPARC_BASE13 and SPARC_WDISP19 to more
appropriate places.
(bfd_perform_relocation): Whitespace changes, more comments.
1993-07-12 14:44:30 +00:00
Ken Raeburn
2d56dfba5d (sparc_reloc_map): Remove duplicate WDISP19 entry. 1993-07-12 14:39:40 +00:00
Ken Raeburn
1bea1b6fa7 Clean v9 stuff from reloc.c and bfd-in2.h also. 1993-07-12 14:37:44 +00:00
Jim Kingdon
a4b6affa7b add file 1993-07-11 23:24:49 +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
6f4d6543da new for dpx2 1993-07-11 22:58:00 +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
David MacKenzie
481d3f5a1b New file bfdsumm.texi to share with ld. 1993-07-08 17:58:15 +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
Ian Lance Taylor
2fd415dfa2 Don't crash if with_minimal_bfd is the empty string. 1993-07-07 15:26:14 +00:00
Ken Raeburn
7e37f9ff25 more prototypes, in libelf.h 1993-07-06 21:14:36 +00:00
Ken Raeburn
72fc67ed29 Several changes: type fixes; prototypes; minimal-bfd work; elf fixes. 1993-07-06 20:48:07 +00:00
Ken Raeburn
fa5ba2170f regenerated 1993-07-06 20:46:32 +00:00
Ken Raeburn
6a3eb9b606 * elfcode.h (elf_read): Delete static declaration, since function has moved.
(elf_map_symbols): Write out section symbols for all sections, for now.
(elf_symbol_from_bfd_symbol): Allow match if both symbols are section symbols
for the same section.
(elf_find_nearest_line): Don't print message, just return false.
1993-07-06 20:43:42 +00:00
Ken Raeburn
789776d7be fill out reloc table 1993-07-06 20:36:42 +00:00
Ken Raeburn
c812942fc5 Hack to cut down compilations needed for minimal-bfd:
* Makefile.in (ALL_MACHINES): Renamed from BFD_MACHINES.
	(ofiles): New target.  Build a list of unique file names, in case
	any got duplicated.
	(TARGETLIB): Use list of files from ofiles.
	* configure.in: Set BFD_MACHINES and BFD_BACKENDS depending on
	minimal-bfd flag and target makefile frag contents.
1993-07-06 20:27:25 +00:00
Ken Raeburn
70e009144e Stricter prototyping, to force type conversions between 64-bit target and
32-bit host values.

* libbfd.c (bfd_xmalloc_by_size_t): New function.
* opncls.c (bfd_cache_init, bfd_open_file): Add prototypes to declarations.
(obstack_chunk_alloc): Use bfd_xmalloc_by_size_t.
(new_bfd): Prototype-style definition, using DEFUN.
(bfd_alloc_grow, bfd_alloc, bfd_zalloc, bfd_realloc): Size argument is type
size_t, not bfd_size_type.
* ieee.c (obstack_chunk_alloc): Use bfd_xmalloc_by_size_t.
* bfd.c (bfd_default_error_trap, bfd_error_trap,
bfd_error_nonrepresentabltrap): Prototypes.
* libbfd-in.h (bfd_alloc, bfd_zalloc, bfd_realloc, bfd_alloc_grow): Adjusted
prototypes for arg type change.
* archive.c (get_elt_at_filepos, do_slurp_bsd_armap, normalize,
do_slurp_coff_armap, bfd_construct_extended_name_table): Prototypes.
1993-07-06 20:20:31 +00:00
Ken Raeburn
defcfb5570 (enum bfd_reloc_code_real): Put simple power-to-two relocs together, and add
64-bit versions.  Also add sparc v9 reloc types.
(bfd_generic_get_relocated_section_contents): Argument to alloca is size_t.
1993-07-06 19:29:36 +00:00
David Edelsohn
a76b3e14b1 * cpu-h8300.c (h8300_scan): Fix parsing of architecture string. 1993-07-05 23:50:15 +00:00
Jim Kingdon
bb552c64cf * Makefile.in (clean): Remove bfd.h and stmp-bfd.h.
(realclean): Remove generated headers.
1993-07-02 23:57:52 +00:00
Ian Lance Taylor
3de08d72db * hosts/std-host.h: Removed declarations of printf, fprintf,
fcntl, fread and fwrite.  They are all error prone for one reason
	or another.  Changed declaration of memchr from char * to PTR.
1993-07-02 17:38:16 +00:00
Ian Lance Taylor
125d719751 * configure.in (mips-*-riscos*): New target; use riscos.
* configure.host (mips-*-riscos*): New host; use riscos.
1993-07-02 16:46:48 +00:00
Ian Lance Taylor
d6b4c1d79d * config/riscos.mh (HDEFINES): Add -G 4. 1993-07-02 16:41:14 +00:00
Ian Lance Taylor
d10a9a4628 * libaout.h (GET_SWORD): Use the bfd_h_get_signed entry points
rather than casting the result of bfd_h_get.
1993-07-02 16:32:54 +00:00
Jim Kingdon
e213ebd6a4 update .Sanitize for delta68 1993-07-02 15:24:17 +00:00
Jim Kingdon
af40ced804 * configure.in, hosts/delta68.h, config/delta68.mh: Add stuff for
Motorola Delta 68.
1993-07-02 15:19:18 +00:00
Jim Kingdon
a77d35b0e5 new file for delta 68 1993-07-02 15:05:47 +00:00
Ken Raeburn
7d9bb6dab4 (CAT4): Added Saber-C (ANSI mode) version.
(bfd_elf64_*): New decls.
1993-06-30 10:04:58 +00:00
Ken Raeburn
5b53e0c1b1 delete setting of a variable i wound up not using 1993-06-30 09:17:06 +00:00
Ken Raeburn
b864c03c2f list new files, new stuff to sanitize 1993-06-30 02:54:35 +00:00
Ken Raeburn
3adad029e0 new generic elf64 stuff 1993-06-30 02:52:52 +00:00
Ian Lance Taylor
64485c8910 * coff-mips.c (ecoff_find_nearest_line): If procedure has no line
number information, return 0 for line number.
1993-06-29 17:51:34 +00:00
Jim Kingdon
09a78a3d12 * hosts/riscos.h: Define NBPG and UPAGES. 1993-06-28 14:58:42 +00:00
Ken Raeburn
36689999e2 elf32.c (slurp_symbol_table): fix cast-as-lvalue bug 1993-06-27 20:32:32 +00:00
David MacKenzie
3caa6924bc * aoutx.h (hash, compare, struct stringtab_entry, add_to_stringtab):
Use unsigned hash values for better hashing.
	(hash): Hash in the string length for long strings.
	* aoutx.h (compare): Replace 3 if's with a subtraction.
	(translate_to_native_sym_flags, add_to_stringtab): Reorder tests
	in decreasing order of success, as an optimization.
	(hash): Take a length arg; ignore chars after #25, for speed.
	(add_to_stringtab): Pass length to hash.
1993-06-26 15:00:47 +00:00
Ken Raeburn
998ce1e0c7 Thu Jun 24 17:25:51 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
* elfcode.h (elf_new_section_hook): Do nothing for now.
	(elf_write_object_contents): Output common symbols the way ELF
	wants them.

Wed Jun 23 16:20:07 1993  Ken Raeburn  (raeburn@poseidon.cygnus.com)

	* libelf.h (struct elf_obj_tdata and associated macros): Moved
	here from elfcode.h.  A couple of size-specific structure pointers
	were changed to PTR; uses fixed appropriately.
	(elf32_symbol_type, elf64_symbol_type): Separated definitions.
	(bfd_elf_mkobject): Renamed from bfd_elf32_mkobject.
	(bfd_elf32_mkobject, bfd_elf64_mkobject, elf_mkobject): New
	temporary macros to ease name change.
	* elf.c (elf_read, elf_mkobject, elf_get_str_section,
	elf_string_from_elf_section, bfd_elf_find_section): Moved here
	from elfcode.h.
	* doc/Makefile.in (libbfd.h): Process elf.c too.
	* Makefile.in (elf.o): Note new dependencies.

	* elfcode.h: Lots of stuff moved elsewhere.  Deleted some unused
	code, tweaked some debug hooks.
	(elf_slurp_reloca_table): Translate ELF section symbols into BFD
	section symbols.
1993-06-24 21:30:26 +00:00
Steve Chamberlain
ef323d7076 Get 64bit stuff right. 1993-06-24 20:45:31 +00:00
Jim Kingdon
d297ca717f * hosts/riscos.h: New file. 1993-06-23 18:38:41 +00:00
David MacKenzie
042c6907f3 * aoutx.h (howto_table_ext): Comment the field names.
* reloc.c (bfd_perform_relocation): Fix max and min values.
1993-06-22 21:57:24 +00:00
Ken Raeburn
9110f70b26 elfcode.h:bfd_section_from_shdr change 1993-06-22 21:42:31 +00:00
Jim Kingdon
fdebd6296a * hosts/std-host.h: Return value of puts and fputs is int not void. 1993-06-22 21:40:17 +00:00
Ken Raeburn
15012ad131 Sigh. Null pointer return might be right in some cases; don't abort. 1993-06-22 21:39:40 +00:00
Ken Raeburn
94dbb655ba More get_word/put_word changes.
(bfd_section_from_shdr, case SHT_PROGBITS): If section already exists, still
use its address to fill in the rawdata slot.
(section_from_elf_index): Abort if section pointer is null.
1993-06-22 21:38:10 +00:00
Ken Raeburn
a1865d8049 Lots o' changes.
Mostly ELF changes, or misc cleanup.
1993-06-22 03:24:48 +00:00
Ken Raeburn
3ceaa2556e regenerated 1993-06-22 03:22:54 +00:00
Ken Raeburn
238ac6ecd2 Use new size-independent elf internal data structures.
(put_word, get_word): Define as appropriate for architecture word size.
Structure swapping functions changed to use them as appropriate.
(bfd_add_to_strtab): Now static.
(sym_is_global): New function.
(elf_map_symbols): Call it.  Now returns void.  Removed unused local variable.
(bfd_section_from_shdr): Mark string tables other than for section and symbol
names as normal sections having contents.
(fix_up_strtabs): New function; fixes up ELF header fields for stab sections
with string tables associated.
(elf_write_object_contents): Map fix_up_strtabs over all BFD sections.
Reordered condition tests for symbol flags; default to local-object value
instead of global-object.
(elf_symbol_from_bfd_symbol): Hid conditionally-used variable inside condition
test.
(elf_print_symbol): Use fprintf_vma.
(elf_idx_of_sym, bfd_shdr_from_section): Unused functions commented out.
1993-06-22 03:21:12 +00:00
Ken Raeburn
ab00002f15 Use new size-independent elf internal data structures. 1993-06-22 03:07:39 +00:00
Ken Raeburn
268f94aca3 Use new size-independent versions of elf internal data structures. 1993-06-22 03:06:29 +00:00
Ken Raeburn
c48ff89fe1 Before casting a pointer into an integer field, verify that the field is
wide enough to hold it.
1993-06-22 03:00:43 +00:00
Ken Raeburn
2c3b9e4714 (srec_write_symbols): Use sprintf_vma, in case bfd_vma is too wide for
printf to handle.
1993-06-22 02:58:25 +00:00
Ken Raeburn
d429d6064c Don't define int64 stuff here. 1993-06-22 02:56:29 +00:00
Jim Kingdon
9b4be067af make mips-sony-bsd work 1993-06-21 19:37:13 +00:00
Jim Kingdon
6418521d71 fix typo in name of elf32-generic.c 1993-06-21 17:27:37 +00:00
Fred Fish
0bbc1a34ee Add news.h to list of files to keep. 1993-06-21 16:34:36 +00:00
Fred Fish
8d936d1f5b Add elf32-generic.c to list of files to keep. 1993-06-21 15:27:00 +00:00
Ken Raeburn
09058bfd6f Recent changes, mostly ELF and bfd.h generation. 1993-06-21 00:54:46 +00:00
Ken Raeburn
fce361373d * elfcode.h (bfd_add_to_strtab): Now static.
(sym_is_global): New function.
(bfd_section_from_shdr): Makr stirng tables other than for section and symbol
names as normal sections having contents.
(fix_up_strtabs): New function; fixes up ELF header fields for stab sections
with string tables associated.
(elf_write_object_contents): Map fix_up_strtabs over all BFD sections.
Reordered condition tests for symbol flags; default to local-object value
instead of global-object.

* elfcode.h (new_section_hook): Define here.
1993-06-21 00:53:45 +00:00
Ken Raeburn
87cc59ceb6 Regenerated after my changes to bfd-in.h. 1993-06-21 00:50:48 +00:00
Ken Raeburn
898728d4c5 Regenerated after Kingdon's changes to cache.c.
(Declaration for bfd_cache_init is gone now.)
1993-06-21 00:50:12 +00:00
Ken Raeburn
ada315eae4 No longer use dummy new-section-hook. 1993-06-21 00:36:35 +00:00
Ken Raeburn
12f367a13e Generate bfd.h in current directory by grabbing 64-bit definition (if any)
from sysdep.h (and nothing else) and inserting it into bfd-in2.h.
Remove ../include/bfd.h if found, in case it's left over from previous
versions of this code.
1993-06-21 00:34:11 +00:00
Ken Raeburn
58488bc652 Change insertion marker for new bfd.h generation scheme. 1993-06-21 00:30:11 +00:00
David MacKenzie
65cab5894f * reloc.c (bfd_perform_relocation): Check for overflow on
pc-relative relocations if the howto asked for it.
1993-06-19 03:06:36 +00:00
Jim Kingdon
06cdad7ff4 * Makefile.in (stmp-bfd.h): Ignore nonzero exit status from grep. 1993-06-18 23:02:56 +00:00
Jim Kingdon
b32ae8e2c4 * config/riscos.m{h,t}: New files.
* configure.{host,in}: Use them.
1993-06-18 22:47:06 +00:00
K. Richard Pixley
3681a95291 comment change. This is a mips file, not 88k. 1993-06-18 19:56:00 +00:00
Jim Kingdon
41126f153d * cache.c (bfd_cache_init): Increment open_files and call close_one
if necessary.
	(bfd_open_file): Don't increment open_files here.
1993-06-18 18:40:02 +00:00
Jim Kingdon
6278bcbda7 * config/delta88.mh: Don't set CC. 1993-06-18 18:38:05 +00:00
Jim Kingdon
394d1b3f0d #if 0 out some more declarations which conflict with system headers 1993-06-18 18:15:58 +00:00
Jim Kingdon
e23b7b308a new file 1993-06-18 17:54:36 +00:00
Jim Kingdon
244ffee7f1 * Makefile.in: Add elf32-{mips,m88k,generic}.
elf32-{mips,m88k,generic}.c: New files.
	targets.c (target_vector): Include bfd_elf32_{mips,m88k,generic}_vec.
	elfcode.h (elf_object_p): Match elf32-generic for all machines which
	don't match a different target.
1993-06-18 17:45:41 +00:00
Jim Kingdon
6b4b4d1791 * cache.c, bfd-in.h: New function bfd_make_cacheable.
opncls.c (bfd_fdopenr): Suggest it in the comment.
	* cache.c (bfd_cache_init): Increment open_files.
1993-06-18 16:13:10 +00:00
Jim Kingdon
2c4f2c7296 * Makefile.in: Add elf32-{mips,m88k}.
elf32-{mips,m88k}.c: New files.
	targets.c (target_vector): Include bfd_elf32_{mips,m88k}_vec.
1993-06-18 16:07:34 +00:00
John Gilmore
933ae8d4fd Eliminate "int8_type", "int16_type", "int32_type", and their
variants from the BFD universe.  Leave the 64-bit types for now,
since they are in flux.

* hosts/*.h:  Remove declarations of all these types.
1993-06-18 10:29:14 +00:00
John Gilmore
34dd8ba311 Eliminate "int8_type", "int16_type", "int32_type", and their
variants from the BFD universe.  Leave the 64-bit types for now,
since they are in flux.

* aoutx.h, hp300hpux.c:  Eliminate needless (int32_type) casts.
* libaout.h (GET_SWORD):  Convert (int32_type) to (int).
* ieee.c:  Convert uint8e_type => unsigned char.
* oasys.c:  Extensive changes to eliminate obsolete types.
These depend on changes in ../include/oasys.h as well.
1993-06-18 10:26:55 +00:00
Jim Kingdon
ec604f5f6c * hosts/delta88.h: #if 0 out some declarations which conflict with
system headers.
1993-06-18 03:12:04 +00:00
Ken Raeburn
2dce435218 allow "make bfd.h" to still dtrt 1993-06-16 02:32:27 +00:00
Ken Raeburn
fdcb04536c updated 1993-06-16 02:25:53 +00:00
Ken Raeburn
a5220fb952 Move bfd.h to ../include. (Directory is created if it doesn't exist.)
Insert sysdep.h into it, so manually including it isn't required for every
single file using bfd.h.

Search ../include when compiling.
1993-06-16 02:22:02 +00:00
Ken Raeburn
034a8a56a4 Put in marker for sysdep.h inclusion.
(int64_type, uint64_type): Define when using "long long" fallback for
HOST_64_BIT.
1993-06-16 02:08:29 +00:00
Ken Raeburn
c2623b7d30 comment branches in ARCH_SIZE test 1993-06-16 01:51:56 +00:00
David D. Zuhn
75ff789515 remove parentdir support 1993-06-16 00:44:27 +00:00