Commit Graph

85 Commits

Author SHA1 Message Date
Ian Lance Taylor
bd23b552ef Convert m68k COFF to use new COFF backend linker.
* coff-m68k.c (coff_relocate_section): Define.
	* cf-m68klynx.c (coff_rtype_to_howto): Define.
	(coff_m68k_lynx_rtype_to_howto): New static function.
	* configure.in (m68kcoff_vec): Build cofflink.o.
	(m68kcoffun_vec, m68klynx_coff_vec): Likewise.
1994-09-09 15:54:45 +00:00
Ian Lance Taylor
69645d10fb Add new style linker support to COFF backend. a29k only for now.
* cofflink.c: New file.
	* libcoff-in.h: Include bfdlink.h.
	(obj_coff_external_syms, obj_coff_strings): Define accessor macro.
	(obj_coff_sym_hashes): Define accessor macro.
	(struct coff_tdata): Add fields external_syms, strings, and
	sym_hashes.
	(struct coff_link_hash_entry): Define.
	(struct coff_link_hash_table): Define.
	(coff_link_hash_lookup, coff_link_hash_traverse): Define.
	(coff_hash_table): Define.
	(_bfd_coff_link_hash_table_create): Declare.
	(_bfd_coff_link_add_symbols, _bfd_coff_final_link): Declare.
	* coffcode.h (bfd_coff_backend_data): Add fields _bfd_relsz,
	_bfd_coff_swap_reloc_in, _bfd_coff_sym_is_global,
	_bfd_coff_compute_section_file_positions,
	_bfd_coff_relocate_section.
	(bfd_coff_relsz, bfd_coff_swap_reloc_in): Define.
	(bfd_coff_sym_is_global): Define.
	(bfd_coff_compute_section_file_positions): Define.
	(bfd_coff_relocate_section): Define.
	(coff_mkobject_hook): Initialize obj_raw_syment_count and
	obj_conv_table_size.
	(coff_compute_section_file_positions): Set target_index of all
	sections.  Set output_has_begun field.
	(coff_write_object_contents): Don't set target_index; now done by
	coff_compute_section_file_positions.  Remove obsolete handling of
	scn_base and data_base.  Don't bother to check that target_index
	is positive, since it always is.  Remove use of pad, which is
	always zero.  Check obj_raw_syment_count, not bfd_get_symcount,
	for the number of symbols, but only write them out if
	bfd_get_symcount is non-zero.
	(coff_slurp_symbol_table): Use obj_raw_syment_count, not
	bfd_get_symcount for the number of symbols.  Don't set
	obj_conv_table_size.
	(coff_sym_is_global): New static function or macro.
	(coff_slurp_reloc_table): Call coff_swap_reloc_in, not
	bfd_swap_reloc_in.
	(coff_bfd_link_hash_table_create): If coff_relocate_section is
	defined, define as _bfd_coff_link_hash_table_create.
	(coff_bfd_link_add_symbols): Similar change.
	(coff_bfd_final_link): Similar change.
	(coff_relocate_section): Define as NULL if not defined.
	(bfd_coff_std_swap_table): Initialize new fields.
	* coffgen.c (coff_real_object_p): Don't set obj_raw_syment_count
	and obj_conv_table_size here.
	(coff_count_linenumbers): Reindent.  If bfd_get_symcount is zero,
	add up the line numbers from the sections.
	(coff_write_symbols): Don't set bfd_get_symcount.
	(coff_pointerize_aux): Don't pointerize a nonpositive x_endndx
	field.
	(coff_get_normalized_symtab): Use obj_raw_syment_count, not
	bfd_get_symcount.
	(coff_print_symbol): If auxp->fix_end, print x_endndx value.
	* coffswap.h (coff_swap_reloc_in): Rename from bfd_swap_reloc_in.
	Reindent.  Change argument type to  PTR.
	* coff-a29k.c (coff_a29k_relocate_section): New static function.
	(coff_relocate_section): Define.
	* configure.in (a29kcoff_big_vec): Compile cofflink.o.
	* coff-alpha.c (alpha_ecoff_backend_data): Initialize new fields.
	* coff-mips.c (mips_ecoff_backend_data): Likewise.
	* libcoff.h: Rebuilt.
	* Makefile.in: Rebuilt dependencies.
	(BFD32_BACKENDS): Add cofflink.o.
	(CFILES): Add cofflink.c.
1994-09-06 19:28:55 +00:00
Ken Raeburn
318b02b6b9 ARM Acorn/RISCiX target and host patches from Richard Earnshaw 1994-09-05 10:53:00 +00:00
Ken Raeburn
4f9617ca5e unsanitize v9 1994-06-15 22:10:50 +00:00
Kung Hsu
85cc33c754 Modified Files:
ChangeLog configure.in

       * configure.in : Add i396os9k_vec.
1994-03-01 21:09:17 +00:00
Ken Raeburn
6a6676fbcc handle sparccoff_vec 1993-12-01 22:27:03 +00:00
Ian Lance Taylor
5dac2dd5a4 * config.bfd: Don't set target64 here, as the setting is ignored.
* configure.in (ecoffalpha_little_vec): Set target64.
1993-12-01 19:47:15 +00:00
Stan Shebs
c9368a3bc3 A number of minor Lynx-related changes, plus basic Sparc Lynx support. 1993-10-29 02:01:43 +00:00
Jim Kingdon
2487f88fdc * configure.in, config/i386-mach3.mt: Update for new configuration
(--with-targets	and so on).
	* hosts/i386mach3.h: Declare errno.
	* targets.c: Declare i386mach3_vec.
1993-10-28 04:05:28 +00:00
Ken Raeburn
dd4edae4db for m68klynx_coff_vec, include coff-m68k.o for now 1993-10-13 18:56:39 +00:00
Peter Schauer
cede97315d * configure.in: Do not define SELECT_VECS, SELECT_ARCHITECTURES
if configuring --with-targets=all.
1993-10-08 09:42:42 +00:00
Stan Shebs
48ee075741 * configure.in: i386lynx_coff_vec requires coff-i386lynx.o.
* coff-i386lynx.c: New file, defines Lynx target vector and name,
	includes coff-i386.c.
	* coff-i386.c (i386coff_vec): Allow redefinition of target vector
	symbol and name, if TARGET_SYM and/or TARGET_NAME are defined.
	* i386lynx.c: Remove coff vector definition entirely.
	(lynx_32_swap_ext_reloc_in): Define.
	(lynx_32_swap_std_reloc_in): Define, get reloc bits in i386
	Lynx-specific way.
	(lynx_32_swap_ext_reloc_out): Define.
	(lynx_32_swap_std_reloc_out): Define.
	(lynx_32_slurp_reloc_table): Define, call Lynx swapping fns.
	(lynx_32_squirt_out_relocs): Define, call Lynx swapping fns.
	(lynx_32_canonicalize_reloc): Define, call Lynx swapping fns.
	(WRITE_HEADERS): Define, call Lynx swapping fns.

	* config/i386-lynx.mt (SELECT_VECS): Remove redundant vector.
1993-10-01 21:42:59 +00:00
Ken Raeburn
ffe2639825 * configure.in: Make 64-bit stuff work with "--with-targets=all". 1993-09-09 21:03:20 +00:00
Ken Raeburn
7adbe989b6 Reorganized setting of makefile variables so 64-bit stuff works again. 1993-09-03 20:13:31 +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
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
David MacKenzie
315b021faa add more missing vectors 1993-08-19 19:45:23 +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
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
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
c4726c0fe3 Include stab-syms.o for a.out/b.out targets and hp300{bsd,hpux}. 1993-08-11 19:16:21 +00:00
Ken Raeburn
509f081ec9 configure.in: Include aout32.o for any a.out/b.out formats. 1993-08-10 16:23:32 +00:00
David MacKenzie
aedc02dff0 remove unused test 1993-08-08 19:22:54 +00:00
David MacKenzie
5f9a2245d8 make target selection fully configurable 1993-08-07 22:38:22 +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
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
David Edelsohn
7024033bfb * configure.in: Recognize h8300h-*-*. 1993-07-14 16:32:34 +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
6ed3ddef4c Use {start,end}-sanitize-v9 instead of `v9' on every line to be removed. 1993-07-12 14:47:30 +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
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
Jim Kingdon
9b4be067af make mips-sony-bsd work 1993-06-21 19:37:13 +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
Fred Fish
772b5e9b59 * configure.in (i[34]86-*-linux*): Add; bfd_target = i386-linux.
* configure.in (*-*-linux*):  Remove until linux port for a
	non-i386/i486 system is actually available.
1993-05-02 18:43:09 +00:00
Ken Raeburn
18f81c053a hppaosf target support 1993-04-29 15:59:58 +00:00
Steve Chamberlain
9faacb925f Support for Hitachi SH 1993-04-27 01:17:32 +00:00
Ken Raeburn
7a35367ceb accept mips-dec-bsd* and i?86-*-elf 1993-02-01 21:36:59 +00:00
Per Bothner
0e238aa74b * bfd-in.h: New macros bfd_asymbol_bfd and bfd_asymbol_flavour;
perhaps we can later remove the the_bfd field from each symbol.
	* syms.c (struct symbol_cache_entry):  Remove unused field
	app_data.  Add comment noting that the_bfd is almost redundant,
	but not quite.
	* aoutx.h, coff-a29k.c, coff-i386.c, coff-i960.c, coffcode.h:
	Use new macros bfd_asymbol_bfd and bfd_asymbol_flavour.
	* hppa.c (fill_spaces):  Make slightly more rebust.
	* configure.in:  Allow std-host as the "default" host.
1992-12-22 23:40:27 +00:00
Ian Lance Taylor
60ac749cab Mon Dec 21 12:40:10 1992 Ian Lance Taylor (ian@cygnus.com)
* Patches from Minh Tran-le <mtranle@paris.intellicorp.com>.
	* configure.in (i386-*-isc*, i386-*-aix*): New targets.
	* configure.host (i386-*-isc*, i386-*-aix*): New hosts.
	* hosts/i386isc.h, config/i386isc.mh: New files for Interactive
	Unix.
	* hosts/i386aix.h, config/i386aix.mh: New files for AIX on PS/2.
	* aix386-core.c: New file for handling core files on AIX on PS/2.
	* targets.c: if AIX386_CORE, use aix386_core_vec.
	* coffcode.h (coff_real_object_p): check for I386SVMAGIC as well
	as I386MAGIC.
1992-12-21 21:17:54 +00:00
John Gilmore
6ac0534341 * configure.in (i960-*-{aout,bout}): Support these. 1992-10-22 10:08:11 +00:00
John Gilmore
5a5fa3688c * configure.host: New file, contains mapping of host configs
to host support file names for bfd, binutils, opcodes.
* configure.in:  Use it.
* i386aout.c:  Cleanup, dump TARGET_IS_LITTLE_ENDIAN_P.
* i386bsd.c:  Cleanup, reformat.
* config/i386-bsd.mt:  Comment changes.
* config/i386bsd.mh:  New file for core file support.
* hosts/i386bsd.h:  Merge changes from Peter Schauer.
* bout.c (ALIGN):  Rename to ALIGNER, since system header files
on BSD 4.4 define ALIGN (sigh!).
1992-10-09 11:38:30 +00:00
John Gilmore
439a4936c3 * configure.in: Reformat the target section, test many configs. 1992-10-09 02:42:29 +00:00
Ken Raeburn
214f8f2392 * aout-target.h (callback): Don't define this function if it won't be used.
* aoutx.h (some_aout_object_p): Restore old aout_data value if this type
doesn't match.  Don't lose if file sections have already been created.
(set_arch_mach): Set reloc_entry_size.
(slurp_symbol_table): Use bfd_h_get_{16,8} for reaeding symbol data.

* hosts/i386bsd.h: New file.
* configure.in: Recognize i[34]86-*-bsd host.

* aout-target.h (callback, write_object_contents): Delete unused variables.

* aoutx.h (reloc_type_lookup): New function.
* aout-target.h (MY_reloc_howto_type_lookup): Use it as default.
* aoutf1.h (sunos4_reloc_type_lookup): Deleted.
(MY_reloc_howto_type_lookup): Don't define it.

* aoutx.h (adjust_sizes_and_vmas): Don't bother with padding for OMAGIC files.
(slurp_symbol_table): Use header byte order, not target byte order, for reading
symbol data.
1992-10-09 01:39:06 +00:00
John Gilmore
d047d16af7 * configure.in: Undo some brain damage in the host section.
* Makefile.in (make):  Remove obsolete `make make'.
	* aoutx.h (some_aout_object_p):  Make defines line up.
1992-10-09 01:34:32 +00:00
Mark Eichin
fbee357154 added i386-*-bsd, from p3 1992-10-05 08:20:22 +00:00
John Gilmore
218ce93030 Add Adobe a.out support.
* aout-adobe.c:  New file.  So far, only reads a.out.adobe.  FIXME.
* config/adobe.mt:  Add.
* configure.in (*-adobe-* target):  Add.
* targets.c (a_out_adobe_vec):  Add.
* Makefile.in:  add aout-adobe.c.

* configure.in:  Put two dashes in all entries to be matched.
Add comments to remind people to do this.
Reorder all entries that match manufacturer names, to occur
last, so they will only be matched if no more specific match
occurs.  Remove manufacturers `aout', `bout', `coff', and `elf'.
1992-09-26 02:20:05 +00:00