Commit Graph

1183 Commits

Author SHA1 Message Date
Ken Raeburn
01619b8b80 More patches from Jeff Law, plus a little cleanup of my own.
These changes separate PA-SOM support from PA-ELF support.
A sun4-x-hppaosf assembler can now be built.

Include <stdlib.h> and <unistd.h>.  Do not define malloc or free.
1993-08-28 00:12:52 +00:00
Ken Raeburn
d9ad93bce5 More patches from Jeff Law, plus a little cleanup of my own.
These changes separate PA-SOM support from PA-ELF support.
A sun4-x-hppaosf assembler can now be built.

* elf32-hppa.c (elf_hppa_howto_table): Now static.
(symext_rootP, symext_lastP, global_value, GOT_value, global_symbol,
global_sym_defined, symextn_contents, symextn_contents_real_size,
elf_hppa_stub_rootP, elf32_hppa_symextn_map, elf32_hppa_symextn_map_size): Rely
on default initialization.
(hppa_elf_gen_reloc_type): Macro "UNDEFINED" doesn't need a trailing semicolon.
(hppa_look_for_stubs_in_section): Introduce temporaries to make code more
readable in 80 columns.

* libhppa.h (all functions): Now inline under GNU C.

* elf32-hppa.c (AR_WARN): Give argument which caused the invalid argument
relocation.
(AR_UNIMP): Delete unused macro.
(hppa_elf_set_section_contents): Always return a value.
(elf32_hppa_backend_table_processing): Likewise.
(elf32_hppa_backend_section_processing: Likewise.

* som.c: New file containing SOM specific code extracted from hppa.c

* som.h: New file containing SOM specific code extracted from libhppa.h

* hppa.c: Deleted.

* libhppa.h: Delete SOM specific code.  Add generic PA code which can be shared
by both SOM and ELF backends.

* Makefile.in: Replace hppa.c with som.c.  elf32-hppa.o depends on libhppa.h
now.

* configure.in (hppa_vec): Needs som.o module instead of hppa.o.

* elf32-hppa.c: Include libhppa.h.  Do not define BYTES_IN_WORD.

* elf32-hppa.h (hppa_reloc_field_selector_type): Delete now lives in libhppa.h.
(hppa_reloc_field_selector_type_alt): Likewise.

* elf32-hppa.c (hppa_elf_relocate_unwind_table): Delete unused variables.
(elf_hppa_reloc_type_lookup): Likewise.
(elf_hppa_tc_make_sections): Likewise.
(hppa_elf_arg_reloc_needed_p): Likewise.
(hppa_elf_build_long_branch_stub): Likewise.
(elf_reloc_map): Delete, no longer used.
(elf_hppa_reloc_map): Likewise.
(elf32_hppa_symextn_map_max_size): Likewise.
(elf32_hppa_get_sym_extn): Abort if type is bogus.

* elf32-hppa.c (elf32_hppa_backend_fake_sections): Add processing
of the .hppa_unwind section.
1993-08-28 00:10:54 +00:00
Ken Raeburn
78e1e6d95a removed some "#if 0" code 1993-08-27 23:59:37 +00:00
Ken Raeburn
a8a4b6b5d9 (struct sec): Move position of user_set_vma, and document it.
(SEC_BALIGN): Disable for now.  I don't think it's currently used.
1993-08-27 23:56:49 +00:00
Ken Raeburn
5d22adf110 deleted -- no longer accurate 1993-08-27 19:44:58 +00:00
Ken Raeburn
3ba17f70f0 make config.bfd executable 1993-08-26 20:29:28 +00:00
Ken Raeburn
e2a422b84c Merged in changes from Jeff Law and Pete Hoogenboom at Utah for PA ELF
support.  Compiles, not particularly well tested.  See ChangeLog for details.
1993-08-25 01:15:07 +00:00
Jim Kingdon
ae33833d63 add ChangeLog entry for sef change to aoutx.h 1993-08-23 20:29:54 +00:00
David D. Zuhn
3d7de4c290 config.sub also has v9 code 1993-08-23 19:41:49 +00:00
Jim Kingdon
c28096f36a Write (half-assed) ChangeLog entry for sef changes.
Change name of target from netbsd-386 to a.out-netbsd-386 so that GDB
can recognize it as an a.out variant.
1993-08-23 19:35:33 +00:00
Sean Eric Fagan
05c81f45b4 Add support for netbsd386 (almost-but-not-quite 386bsd). 1993-08-23 07:45:32 +00:00
Sean Eric Fagan
fbd5481a2e Don't let netbsd386.c get sanitized out. 1993-08-23 07:43:25 +00:00
Jim Kingdon
8d3ad2528f * config/m88k-elf.mt: New file.
* config.bfd: Use it for m88*-*-sysv4*.
1993-08-21 00:52:58 +00:00
Ken Raeburn
d24928c05b * elfcode.h (elf_build_phdrs): Unused function deleted.
(bfd_shdr_from_section): Ditto.
(write_relocs): Don't change section contents for addend.
(elf_locate_sh): Return type is now always elf_internal_shdr, since the other
types were really aliases for this type anyways.  Don't compile this function,
since it is static and doesn't appear to be used in this file.
(sym_is_global): Return non-zero for weak symbols.  Abort if sec ptr is null.
(swap_out_syms): Reorder tests so function symbols can be weak.
(elf_slurp_symbol_table): Don't use BSF_EXPORT.
(elf_slurp_reloca_table): Make RELOC_PROCESSING section smaller by
extracting out some common code.  Abort if BFD section symbol has null name.
(elf_slurp_reloc_table): Translate ELF section symbols into BFD section
symbols.  Don't read section contents to fill in addend field.

* Merged from OSF:

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

* libelf.h (struct Elf_Sym_Extra): New structure to contain ELF
specific information for a symbol.  Put in elf_sym_num, which
gives the external symbol number in the elf object file, since
local symbols must come before global symbols.
(elf_sym_extra): New macro.
(elf_symtab_map): Delete, in favor of using Elf_Sym_Extra.
* elfcode.h (elf_map_symbols): Use Elf_Sym_Extra to map internal
symbol number to external number.  Store the address of the
Elf_Sym_Extra field for the symbol in the udata field.
(elf_write_object_contents): Use Elf_Sym_Extra to map out symbols.

Sun Jun 20 16:30:11 1993  Michael Meissner  (meissner@osf.org)

* elfcode.h (elf_obj_tdata): Add field to count the size of the
array of pointers to section symbols.
(elf_map_symbols): Bump the max index of the section symbols so
that we don't overwrite memory.  Store the max index into the
elf_obj_tdata field.

Sat Jun 19 10:12:27 1993  Michael Meissner  (meissner@osf.org)

* elfcode.h (elf_obj_tdata): Add pointer to an array of pointers
to the section symbols we created.  Remove unused field internal_syms.
(elf_map_symbols): Fill in array of pointers to section symbols.  Only create
section symbols for sections that have SEC_ALLOC set, and have non-zero size.
(elf_symbol_from_bfd_symbol): If udata is NULL, and this is a section symbol,
look up the section in the list of section symbols, and set the udata pointer
appropriately.  Otherwise, if udata is still NULL, fail an assertion, and use
0, instead of dropping core.
1993-08-20 22:21:49 +00:00
Ken Raeburn
7bece32411 * elf32-i386.c (elf_howto_table): All partial_inplace fields should be "true". 1993-08-20 21:18:56 +00:00
Ian Lance Taylor
03f4cf996a * config.bfd (mips-*-elfl*, mips-*-elf*): New targets, using
mipslelf and mipsbelf respectively.
	* config/mipslelf.mt, config/mipsbelf.mt: New files.
	* elf32-mips.c: Added some reloc information.
	* configure.in: Fixed error message.
1993-08-20 19:19:51 +00:00
Ken Raeburn
52f94fc486 minor doc tweaks 1993-08-20 19:10:58 +00:00
Ian Lance Taylor
5a735b6353 * ecoff.c (ECOFF_LONG_SIZE): Removed. Just use constants. 1993-08-20 16:21:45 +00:00
David MacKenzie
010877137c * Makefile.in (BFD_LIBS, ALL_MACHINES, BFD32_BACKENDS, BFD64_BACKENDS,
OPTIONAL_BACKENDS): Alphabetize entries and add a few missing ones.
	* archures.c: Alphabetize decls.
1993-08-19 21:07:50 +00:00
David MacKenzie
315b021faa add more missing vectors 1993-08-19 19:45:23 +00:00
David MacKenzie
c8e1d00b19 targets.c (target_vector): Remove hp300bsd_vec due to clash with sunos_big_vec. 1993-08-19 19:11:30 +00:00
David MacKenzie
cf39664e3c Thu Aug 19 09:45:51 1993 David J. Mackenzie (djm@thepub.cygnus.com)
* configure.in, targets.c: Add missing vectors to the tables.
	* targets.c (target_vector) [!SELECT_VECS]: Add DEFAULT_VECTOR.
1993-08-19 18:21:58 +00:00
Jim Kingdon
890eafc0e1 * hosts/i386{mach3,osf1mk}.h: New files, for Mach hosting.
* hosts/i386mach.h: removed, replaced by i386osf1mk.h.
	* config/i386mach3.mt, i386mach3.c: New files, for Mach a.out format.
	* Makefile.in, configure.host, config.bfd: Corresponding changes.
	* hosts/decstation.h: Include <sys/param.h> not <machine/param.h>.
1993-08-18 05:10:45 +00:00
Jim Kingdon
13cadf768b * hosts/i386{mach3,osf1mk}.h: New files, for Mach hosting.
* hosts/i386mach.h: removed, replaced by i386osf1mk.h.
	* config/i386mach3.mt, i386mach3.c: New files, for Mach a.out format.
	* Makefile.in, configure.host, config.bfd: Corresponding changes.
	* hosts/decstation.h: Include <sys/param.h> not <machine/param.h>.
1993-08-18 00:54:48 +00:00
Jim Kingdon
5670002f8f replaced by i386mach3.h 1993-08-17 23:11:08 +00:00
Jim Kingdon
5cd493edad new for mach 1993-08-17 22:50:20 +00:00
Ian Lance Taylor
da6102634a * coffgen.c (coff_section_symbol): If section's output_section is
not yet set, point to itself.  This is needed because this is
	called on the output file, not the input file.
1993-08-17 22:30:24 +00:00
Ian Lance Taylor
ec83e70497 * coff-rs6000.c (dummy_reloc, RTYPE2HOWTO): Set howto field to a
dummy value, rather than leaving it NULL.
1993-08-17 20:11:39 +00:00
Ian Lance Taylor
2e235c9319 * archures.c (bfd_default_set_arch_mach): Set bfd_error on
failure.
	* aoutx.h (NAME(aout,set_arch_mach)): Check return value of
	bfd_default_set_arch_mach.
1993-08-17 19:24:21 +00:00
David MacKenzie
49df10b142 Tue Aug 17 09:42:16 1993 David J. Mackenzie (djm@thepub.cygnus.com)
* config.bfd (cpu): Extract from canonical name with sed.
	* configure.in: Don't pass it.
1993-08-17 16:43:52 +00:00
Jim Kingdon
e45500abea * configure.host: Make sure all OS fields end in *. 1993-08-16 02:09:54 +00:00
Ian Lance Taylor
1095e08dba * nlmcode.h (nlm_write_object_contents): procedure offsets are
from start of code segment, not start of file.
	* config/i386-nlm.mt (DEFAULT_VECTOR): It's nlm32_i386_vec, not
	bfd_nlm32_i386_vec.
	* configure.in (SELECT_VECS switch): Likewise.
1993-08-13 20:38:02 +00:00
David MacKenzie
cba949c5a3 * format.c (bfd_check_format): If the target matches the default
target, set match_count to 1, to ignore any previous matches.
1993-08-13 00:34:19 +00:00
Ian Lance Taylor
f487c0e8ee Tipo. 1993-08-12 22:16:07 +00:00
Ian Lance Taylor
8f46bac815 * coff-aplha.alpha.c (alpha_howto_table, alpha_finish_reloc,
alpha_ecoff_swap_reloc_{in,out}, alpha_bfd_reloc_type_lookup):
	Read and write Alpha relocs.  Can't process them yet.
	* ecoff.c (ecoff_slurp_reloc_table): Recognize new reloc sections.
	If the section does not already exist, create it.
1993-08-12 22:15:25 +00:00
David MacKenzie
1461600216 keep config.bfd 1993-08-12 20:30:39 +00:00
David MacKenzie
d97523aa34 * Makefile.in (BFD32_BACKENDS): Remove srec.o, add reloc16.o. 1993-08-12 19:09:00 +00:00
Ian Lance Taylor
bb138b644e * libecoff.h (ecoff_backend_data): Added constructor_reloc and
finish_reloc fields.
	* ecoff.c: Move MIPS reloc support from here...
	* coff-mips.c: to here.
	* ecoff.c (ecoff_set_symbol_info): Get constructor reloc howto
	from backend.
	(ecoff_slurp_reloc_table): Removed MIPS specific stuff.  Call
	finish_reloc backend function.
	(ecoff_write_object_contents): Removed MIPS specific assertions.
	* coff-mips.c (mips_finish_reloc): New function.
	(mips_ecoff_backend_data): Fill in new fields.
	* coff-alpha.c (alpha_ecoff_backend_data): Use NULL for new
	fields.
	* targets.c: Added extern for ecoffalpha_little_vec.
1993-08-12 18:47:18 +00:00
David MacKenzie
ac0d500c3c * configure.in: Add reloc16.o when we add
coff-h8300.o, coff-h8500.o, coff-sh.o, coff-z8k.o.
	Makefile.in (BFD_LIBS): Remove reloc16.o.
1993-08-12 18:41:30 +00:00
David MacKenzie
180acef58b Thu Aug 12 10:32:47 1993 David J. Mackenzie (djm@thepub.cygnus.com)
* config/u68k-coff.mt: Fix typo, DEFAULT_TARGET for
	DEFAULT_VECTOR.

	* config/h8300-coff.mt, h8500-coff.mt, sh-coff.mt, st2000.mt,
	z8k-coff.mt (DEFAULT_VECTOR): Define.  Don't explicitly add
	S-records via SELECT_VECS.

	* targets.c (target_vector), Makefile.in (BFD_LIBS): Always
	support S-records, for convenience.

	* config.bfd: New file, broken out of configure.in.
	* configure.in: Use it, and use standard target names for
	--with-targets, replacing --with-bfd-targets.
1993-08-12 17:57:02 +00:00
David MacKenzie
22d276b1c0 Finish the minimizing, the right way (using normal target names).
Thu Aug 12 10:32:47 1993  David J. Mackenzie  (djm@thepub.cygnus.com)

	* config/u68k-coff.mt: Fix typo, DEFAULT_TARGET for
	DEFAULT_VECTOR.

	* config/h8300-coff.mt, h8500-coff.mt, sh-coff.mt, st2000.mt,
	z8k-coff.mt (DEFAULT_VECTOR): Define.  Don't explicitly add
	S-records via SELECT_VECS.

	* targets.c (target_vector), Makefile.in (BFD_LIBS): Always
	support S-records, for convenience.

	* config.bfd: New file, broken out of configure.in.

	* configure.in: Use it, and use standard target names for
	--with-targets, replacing --with-bfd-targets.
1993-08-12 17:55:52 +00:00
Ian Lance Taylor
8e2184bda0 * bfd.c (_bfd_host_big_endian): Removed.
* bfd-in.h (HOST_BYTE_ORDER_BIG_P, bfd_header_twiddle_required):
	Removed.
	* bfd-in2.h: Regenerated.
1993-08-12 15:33:12 +00:00
David MacKenzie
a339de272f more cleanups 1993-08-12 02:32:34 +00:00
David MacKenzie
3c957a61b3 really do last change 1993-08-11 23:24:06 +00:00
David MacKenzie
161bb4082c * configure.in: Include coff-m68k.o for m68kcoffun_vec.
Include nlm32.o and nlm.o for bfd_nlm32_i386_vec.
1993-08-11 23:22:06 +00:00
David MacKenzie
1a10f9a2dd Make bfd_error_vector extern. 1993-08-11 22:37:23 +00:00
David MacKenzie
c4726c0fe3 Include stab-syms.o for a.out/b.out targets and hp300{bsd,hpux}. 1993-08-11 19:16:21 +00:00
Ian Lance Taylor
792b5f025d * nlmcode.h (nlm_compute_section_file_positions): Add the .bss
section before setting output_has_begun.
	(nlm_set_section_contents): Remove argument names from
	mangle_relocs_func prototype.
	(nlm_write_object_contents): Remove shadowing local variable.
	Don't write out debugging symbols if debugInfoOffset is -1.  Add
	the codeImageOffset to the start, exit, and check procedure
	offsets.
	* nlm32-i386.c (nlm_i386_write_reloc, nlm_i386_mangle_relocs):
	Don't check partial_inplace field; its value is irrelevant.
1993-08-11 18:30:08 +00:00
Ian Lance Taylor
e2f4c2884c * Base use of sco-core on host, not target.
* configure.host (i[34]86-*-sco*): Use i386sco rather than i386v.
	* config/i386-sco.mt (TDEFINES): Removed.
	* config/i386sco.mh: New file to use sco-core.
	* hosts/i386sco.h: New file; just includes hosts/i386v.h.

Not needed for gdb 4.10.
1993-08-11 15:56:14 +00:00
Ian Lance Taylor
fbffaf55b8 * ecoffswap.h (ecoff_swap_{hdr,ext}_{in,out}): Use signed
conversions for some fields.
1993-08-11 13:42:17 +00:00