Commit graph

698 commits

Author SHA1 Message Date
Jeff Law
9d0dea6fca * som.c (som_write_fixups): New function. 1993-11-14 00:00:05 +00:00
Jeff Law
aff9779048 * som.c (som_prep_for_fixups): New function. 1993-11-13 23:28:34 +00:00
Jeff Law
980bac6418 * som.c (som_write_object_contents): Do not abort. Flesh out.
(som_set_section_contents): Do not abort.  Flesh out.
1993-11-13 08:57:07 +00:00
Jeff Law
713de7ec97 * som.c (som_build_and_write_symbol_table): New function. 1993-11-13 08:37:14 +00:00
Jeff Law
efc0df7cff * som.c (som_write_headers): New function. 1993-11-13 08:02:43 +00:00
Jeff Law
7057b78fb8 * som.c (som_reloc_call): New function. 1993-11-13 07:22:06 +00:00
Jeff Law
2212ff9277 * som.c (som_sizeof_headers): Add missing prototype.
(som_set_arch_mach): Do not abort.
1993-11-13 06:52:07 +00:00
Jeff Law
0ffa24b979 * som.c (som_prep_headers): New function. 1993-11-13 06:44:29 +00:00
Jeff Law
5532fc5af1 * som.c (som_count_spaces): New function.
(som_count_subspaces): New function.
        (compare_syms): New function.
        (som_compute_checksum): New function.
1993-11-13 00:39:20 +00:00
Jeff Law
32619c583f * som.c (hppa_som_gen_reloc_type): New function.
(som_bfd_reloc_type_lookup): New function.
1993-11-13 00:28:06 +00:00
Jeff Law
54bbfd3762 * som.c (try_prev_fixup): New function.
(som_reloc_skip): New function.
	(som_reloc_addend): New function.
1993-11-13 00:16:17 +00:00
Jeff Law
d125665cbb * som.c (som_initialize_reloc_queue): New function.
(som_reloc_queue_insert): Likewise.
	(som_reloc_queue_fix): Likewise.
	(som_reloc_queue_find): Likewise.
1993-11-13 00:07:20 +00:00
Jeff Law
fcb0c84690 * som.c (som_hppa_howto_table): SOM howto relocation table.
(hppa_som_reloc): New function.
1993-11-12 23:49:58 +00:00
Jeff Law
4fdb66cd50 * som.c (struct reloc_queue): New structure to keep track of
the last four multibyte relocations emitted.
	(enum pa_symbol_type): Type to fully describe the symbol types
	associated with .import/.export assembler directives.
1993-11-12 23:43:24 +00:00
Jeff Law
70f1d7387e * som.c: Include libhppa.h 1993-11-12 23:39:35 +00:00
Jeff Law
40249bfb73 * som.c (bfd_som_set_section_attributes): New function.
(bfd_som_set_subsection_attributes): Likewise.
	(bfd_som_set_symboL_type): Likewise.
	(bfd_som_attach_unwind_info): Likewise.
	* som.h: Declare new exported functions.
1993-11-12 23:36:04 +00:00
Jim Kingdon
115f743028 * trad-core.c (trad_unix_core_file_p): If new hook
TRAD_CORE_ALLOW_ANY_EXTRA_SIZE defined, then skip the check for the
	corefile being too big.
	* hosts/i386sco.h: Define it.
1993-11-12 17:10:56 +00:00
Jeff Law
8a71bf96a2 * bfd.c (struct _bfd): Add hppabsd_core_data.
* targets.c (target_vector): Add hppabsd_core_vec.
	* hpux-core.c (hpux_core_core_file_p): Fail if an unknown core
	section is encountered during core section scanning.
	* hppabsd-core.c: New file.
	* config/hppabsd.mh: Enable HPPA BSD core files.
1993-11-11 23:44:36 +00:00
Jeff Law
3e80841e27 * elf32-hppa.c (hppa_elf_reloc): Remove DEFUN crud. Remove code
which is either commented out or ifdef'd out.  Add, update and
	clean comments.  Fix various indention and spacing problems.  Handle
	problems related to using "ble" to jump to a stub rather than "bl"
	(%r31 is trashed by "ble", but not by "bl").
	(NEW_INSTRUCTION): Put inside curly braces.
	(CURRENT_STUB_OFFSET): Fix indention problems.
	(hppa_elf_build_arg_reloc_stub): Fix indention and spacing problems.
	Add, update and clean comments.  Handle "ble" %r31 lossage problems.
	(hppa_elf_build_long_branch_stub): Likewise.
	(hppa_look_for_stubs_in_section): Likewise.
	(hppa_elf_stub_check): Remove obsolete function.

	* hppa_stubs.h: Add new instructions to deal with %r31 lossage
	problems.  Delete unused instructions.
1993-11-11 23:17:51 +00:00
Ian Lance Taylor
346f04146c Entries for several checkins. 1993-11-09 21:28:19 +00:00
Stan Shebs
0f5bc78309 Fix a braino 1993-11-09 19:43:51 +00:00
Ian Lance Taylor
95469b0290 * libelf.h: Added some comments.
(struct elf_backend_data): Added elf_backend_ecoff_debug_swap
	field.  Removed unused write_relocs field.
	* elf32-target.h: Adjusted elf_backend_data initialization
	accordingly.
	* elf64-target.h: Corrected elf_backend_data initialization to
	fill in all fields and to set elf_64_p to 1.
1993-11-09 16:33:28 +00:00
Ian Lance Taylor
7b8106b484 * elfcode.h (bfd_section_from_shdr): Remove duplicate assignment
to filepos in SHT_STRTAB case.
	(assign_file_position_for_section): Set BFD section filepos as
	well as ELF section sh_offset.
1993-11-08 23:33:56 +00:00
Ian Lance Taylor
e2756048da * reloc.c: Use const instead of CONST.
(bfd_perform_relocation): Make variable howto a const pointer.
	* bfd-in2.h, libbfd.h: Rebuilt.
1993-11-08 23:22:49 +00:00
David Henkel-Wallace
007455de6e Netware target support 1993-11-08 14:19:26 +00:00
Jeff Law
1d3e88472d * libbfd.c (bfd_put_8): Add parens around reference to "val"
argument.
1993-11-08 04:23:27 +00:00
David MacKenzie
2ccb88c0d6 correct mach3 values 1993-11-06 05:51:14 +00:00
Ian Lance Taylor
0f396d2a21 coffcode.h change. 1993-11-05 20:55:58 +00:00
David MacKenzie
3234eba0b2 fix mistakes in last change 1993-11-05 20:39:26 +00:00
David MacKenzie
c188b0bec3 doc cleanup 1993-11-05 19:51:52 +00:00
John Gilmore
baf205c4f2 * bfd-in.h (bfd_get_cacheable, bfd_set_cacheable): New accessors.
* bfd.c, opncls.c:  Improve comments on file descriptor cacheing.
1993-11-04 22:49:47 +00:00
Jeff Law
fa8e86489b * From Pete Hoogenboom (hoogen@cs.utah.edu)
* elf32-hppa.c (hppa_elf_get_section_contents): Fix logic error
        in last change.  Always rebuild symbol extension section the first
        time though if output sections exist (fixes ld -r problems).
1993-11-04 16:58:27 +00:00
Jeffrey Wheat
d5d53b0a18 Added .PHONY for check and installcheck. both now also echo a message. 1993-11-04 16:37:34 +00:00
Bill Cox
31eb3ead2b HPUX portability change. 1993-11-02 22:45:05 +00:00
Jim Kingdon
242f60e214 * config.bfd: Use bigmips for mips*-*-bsd*. 1993-11-02 15:40:29 +00:00
Ian Lance Taylor
f2e945df05 * elfcode.h (elf_slurp_reloca_table, elf_slurp_reloc_table):
Handle symbol number of zero.
1993-11-01 23:36:33 +00:00
Ian Lance Taylor
7386c3b7f6 * elf32-mips.c (mips_elf_hi16_reloc, mips_elf_lo16_reloc):
Rearrange _gp_disp checks slightly.
1993-11-01 23:29:06 +00:00
Ian Lance Taylor
55d5b62d65 * aout-target.h (MY_bfd_debug_info_start, MY_bfd_debug_info_end,
MY_bfd_debug_info_accumulat [sic]): Remove unused definitions.
	(MY_bfd_get_relocated_section_contents, MY_bfd_relax_section,
	MY_bfd_seclet_link): Define.
	(MY_bfd_reloc_type_lookup): Rename from
	MY_reloc_howto_type_lookup.
	(MY_bfd_make_debug_symbol): Rename from MY_make_debug_symbol.
	(MY(vec)): Use JUMP_TABLE rather than listing functions.
	* hp300hpux.c (MY_get_symtab, MY_get_symtab_upper_bound,
	MY_canonicalize_reloc, MY_write_object_contents): Don't define in
	terms of MY, because that causes a recusive invocation of CAT when
	expanded within JUMP_TABLE, and ANSI compilers don't expand
	recursive macros.
	* mipsbsd.c (MY_bfd_reloc_type_lookup): Rename from
	MY_reloc_howto_type_lookup, and don't define in terms of MY.
	(MY_canonicalize_reloc): Don't define in terms of MY.
	(aout_mips_little_vec, aout_mips_big_vec): Use JUMP_TABLE rather
	than listing functions.
1993-11-01 19:43:39 +00:00
Jim Kingdon
6198b7a128 * config.bfd: Use m68k-elf for m68*-*-sysv4*. 1993-11-01 15:19:29 +00:00
Jim Kingdon
9e461dac71 * targets.c: Move enum target_flavour outside of struct and change
the name to enum bfd_flavour.  This means bfd clients can use it.
	* bfd-in.h: Add macro bfd_get_flavour.
	* bfd-in2.h: Rebuilt.
1993-10-31 18:59:59 +00:00
Jim Kingdon
e6d739ebb5 * som.c: Add comment about how abort() on corrupt executable is evil. 1993-10-31 15:40:58 +00:00
Ian Lance Taylor
9f9af845ab * bfd-in.h: Added commands for object file flag values.
* bfd-in2.h: Rebuilt.
	* elfcode.h (elf_object_p): If type is ET_DYN, set DYNAMIC flag,
	not EXEC_P.
	* bout.c, coff-h8300.c, coff-sh.c: Add BFD_IS_RELAXABLE to
	object_flags field for target vector.
	* aix386-core.c, aout-adobe.c, aout-target.h, bout.c, coff-a29k.c,
	coff-alpha.c, coff-apollo.c, coff-h8300.c, coff-h8500.c,
	coff-i386.c, coff-i960.c, coff-m68k.c, coff-m88k.c, coff-mips.c,
	coff-rs6000.c, coff-sh.c, coff-we32k.c, coff-z8k.c, hpux-core.c,
	ieee.c, mipsbsd.c, nlm-target.h, oasys.c, osf-core.c, som.c,
	srec.c, tekhex.c, trad-core.c:	Remove DYNAMIC from object_flags
	field for target vector.
1993-10-29 18:04:58 +00:00
David MacKenzie
af8a2fda3f initial mach3 386 support (not working yet) 1993-10-29 15:28:30 +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
Ian Lance Taylor
14aa9a78c3 gcc -Wall lint:
* coff-h8300.c (h8300_reloc16_estimate): Declare return type.
	Remove useless statement probably left by code copy.
	* cpu-i960.c (compatible): Fully bracket matrix initializer.
	* elf32-hppa.c (hppa_elf_build_arg_reloc_stub): Use bfd_xmalloc
	rather than xmalloc.  Use realloc and check the return value
	rather than xrealloc.
	(hppa_elf_get_section_contents): Add some casts.
	* elf32-i386.c (elf_i386_reloc_type_lookup): Remove unused
	variable.  Add default case to switch.
	* hp300hpux.c: Declare aout_32_write_syms.
	* i386bsd.c, i386linux.c, netbsd386.c (N_SHARED_LIB): Define as 0
	(definition from aout/aout64.h is always 0 anyhow).
	* i386lynx.c (swap_std_reloc_in): Remove unused variable.
	* ieee.c (ieee_write_id): length can never be negative.
	(read_id): Likewise.
	(ieee_archive_p): Remove unused variable.
	* libcoff-in.h (bfd_perform_slip): Declare.
	* libcoff.h: Rebuilt.
	* oasys.c (oasys_write_sections): Remove zero initialization of
	static structure.
	* reloc16.c: Indentation change.
1993-10-28 20:36:48 +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
Ian Lance Taylor
ce9416d8f4 * nlmcode.h (nlm_swap_auxiliary_headers_in,
nlm_swap_auxiliary_headers_out): Handle sharedDebugRecordOffset
	and sharedDebugRecordCount fields.
1993-10-27 16:21:30 +00:00
Jim Kingdon
56a2f3410f * targets.c (target_vector): Remove SCO_CORE. On Sep 11 1993,
we started using trad-core.c for SCO instead.

	* targets.c (target_vector): Re-enable generic ELF and NLM targets.
1993-10-26 21:36:00 +00:00
Ian Lance Taylor
f035cc474f * elfcode.h (assign_file_position_for_section): Align sh_offset to
sh_addralign (this is what UnixWare does, and it shouldn't hurt).
1993-10-26 20:58:54 +00:00
Ken Raeburn
7218bb04b2 From Jeff Law and Pete Hoogenboom at Utah:
* elf32-hppa.h (hppa_elf_stub_finish): Add prototype.
(ELF32_HPPA_R_ARG_RELOC): Renamed without the ELF32 prefix
and moved into libhppa.h.  All references changed.
(ELF32_HPPA_R_CONSTANT, ELF32_HPPA_R_ADDEND): Likewise.
(get_opcode and opcode defines): Move into libhppa.h
* elf32-hppa.c (hppa_elf_insn2fmt): Rename and move info libhppa.h.
* libhppa.h (HPPA_R_*): Moved here.  Reformatted slightly to make for easier
reading.
(get_opcode): Moved here.  FIXME! this really should be a C function
inside the opcode library!
(bfd_hppa_insn2fmt): Likewise.

* targets.c (target_vector): Enable elf32-hppa vector.

* elf32-hppa.c (hppa_elf_get_section_contents): Add new comments and clarify
existing comments.  Do not use DEFUN to declare this function.  Fix numerous
indention problems.  Correctly handle cases where symbol extension section may
need to be read from disk, read from memory, or built then read from memory.

* elf32-hppa.h: Reformat with gnu-indent and hand fix numerous
formatting and indention problems gnu-indent can not handle.
Clarify some comments about relocation types.  Comment basic
relocation "classes".  Group PARAM declarations together.
(HPPA_SXT_{NULL, SYMNDX, RG_RELOC}): Make members of a new
enumerated type rather than #defines.
1993-10-26 17:22:20 +00:00