Commit graph

1514 commits

Author SHA1 Message Date
Ken Raeburn
a2805287bd changes so far 1993-12-21 17:47:38 +00:00
Ken Raeburn
cd83759cfa (coff_write_relocs) [SWAP_OUT_RELOC_OFFSET]: Copy addend to r_offset field. 1993-12-21 17:41:45 +00:00
Ken Raeburn
4d4023b875 added coff-sparc.c to CFILES, rebuilt dependencies 1993-12-21 17:27:20 +00:00
Ken Raeburn
29c4b8befb (aix386_core_file_p): Use cd_regs[0] for computing the offsetof because AIX
/bin/cc does not like to take the address of an array.  (From Minh Tran-Le.)
1993-12-21 17:24:10 +00:00
Jeff Law
277b2d2b23 * hosts/hp300bsd.h: Correctly identify 4.3BSD vs 4.4BSD. 1993-12-16 21:07:44 +00:00
David MacKenzie
f8af9b40a2 cleanups and mach3 changes 1993-12-15 17:08:52 +00:00
Jeff Law
c97ae6e42d * som.c (som_begin_writing): Fix thinkos in auxiliary header
support.
        (bfd_som_attach_aux_hdr): Likewise.
1993-12-15 05:50:44 +00:00
Jeff Law
a36b6f1d05 * elf32-hppa.c (hppa_elf_gen_reloc_type): Handle 'T' field
selectors for PIC code.

        * som.c (hppa_som_gen_reloc_type): Handle 'T' field selectors.
        (som_write_fixups): Handle R_DLT_REL, R_FSEL, R_RSEL, R_LSEL
        relocations needed by PIC.
1993-12-14 07:36:15 +00:00
Stu Grossman
9e6f24986a * nlmcode.h: Fixes to avoid compiler warnings... 1993-12-07 23:49:32 +00:00
Ian Lance Taylor
900e6d96f3 * libnlm.h (nlm_backend_data): Removed macro definition.
(nlm_alpha_backend_data): Adjusted accordingly.
1993-12-07 23:13:43 +00:00
Jeff Law
f6c2300b0a * som.c (som_begin_writing): Flesh out code for handling simple
auxiliary headers.
        (bfd_som_attach_aux_hdr): New function.

        * som.h (struct somdata): Add fields for attaching version and
        copyright headers.  Add accessor macros.
1993-12-06 08:53:53 +00:00
Jeff Law
744069b8ab * som.c (R_DLT_REL, R_AUX_UNWIND, R_SEC_STMT): Add protected
definitions for old versions of HPUX which fail to define them.
        (som_hppa_howto_talbe): Add R_DLT_REL, R_AUX_UNWIND, and R_SEC_STMT
        now that they're safe.  Delete bogus R_STATEMENT relocations.
1993-12-06 06:55:48 +00:00
Jeff Law
017a52d7a9 * som.c (som_hppa_howto_table): Add missing R_END_TRY. Delete
extra R_DATA_OVERRIDE.
        (hppa_som_gen_reloc_type): Generate a relocation for the rounding
        mode selector if needed.
        (som_write_fixups): Handle requests for a change in the default
        rounding mode.  Rounding modes do not consume input bytes, but
        are just markers much like R_ENTRY and R_EXIT.
1993-12-06 03:33:06 +00:00
Jeff Law
4861ac76c7 * elf32-hppa.c: (elf_hppa_howto_table): PLABEL and DLT
relocations are not pc-relative.
1993-12-05 03:46:12 +00:00
Jeff Law
48eb5281b5 Fri Dec 3 09:55:17 1993 Pete Hoogenboom (hoogen@cs.utah.edu)
* hppa_stubs.h: (BLE_N_XXX_0_31):  New instruction used in
        linker stub code.
        (COPY_2_31):  Likewise.
1993-12-05 03:41:25 +00:00
Ian Lance Taylor
ecb2d88791 * config/solaris2.mh (HDEFINES): Remove -Dconst=
* hosts/solaris.h: If not __GNUC__, define const as empty.
1993-12-03 23:42:59 +00:00
Ian Lance Taylor
4919d3ab70 * ecoff.c: Added various casts for 32/64 bit cross targeting.
(ecoff_mkobject_hook): Set SEC_SHARED_LIBRARY for the .reginfo
	section so that the linker ignores it.
	* ecofflink.c: Added various casts for 32/64 bit cross targeting.
	(ecoff_add_bytes): Changed need argument to size_t.
	(bfd_ecoff_debug_link_other): Check return value of
	ecoff_add_string.
1993-12-02 23:27:15 +00:00
Ian Lance Taylor
800748cdfc * libnlm.h (struct nlm_obj_tdata): New field backend_data.
(nlm_backend_data, nlm_alpha_backend_data): New accessor macros.
	(struct nlm_backend_data): New field no_uninitialized_data.
	(nlm_no_uninitialized_data): New accessor macro.
	* nlmcode.h (nlm_compute_section_file_positions): Handle
	no_uninitialized_data.
	(nlm_external_reloc_compare): Sort relocs by address for a
	particular symbol, to make the sort more stable.
	(nlm_write_object_contents): Cast the arguments to qsort.  Get the
	value of a debugging symbol the same way we get the value of a
	normal symbol.
	* nlm32-alpha.c: Various changes.  Write out GP and .lita relocs.
	Set no_uninitialized_data to true.
	* nlm32-i386.c (nlm32_i386_backend), nlm32-sparc.c
	(nlm32_sparc_backend): Set no_uninitialized_data field false.
	* nlmswap.h (nlm_swap_fixed_header_out): Zero out destination
	before filling it in.
1993-12-02 20:52:25 +00:00
Jeff Law
a7f6a456c8 * som.c (som_section_type, som_decode_symcalss): New functions.
(som_get_symbol_info): Use them.
        (som_slurp_symbol_table): Set the section of common and undefined
        symbols correctly.
1993-12-02 05:48:46 +00:00
Ian Lance Taylor
68eaffda25 Various entries. 1993-12-02 02:22:59 +00:00
Ian Lance Taylor
cdbfad1cd7 * libnlm.h (struct nlm_backend_data): New fields
optional_prefix_size, nlm_backend_object_p, nlm_write_prefix,
	nlm_set_public_section, nlm_get_public_offset.  Removed unused
	nlm_write_reloc field.  Changed nlm_write_import to remove
	unnecessary symbol argument.  Renamed nlm_write_externals to
	nlm_write_external, and changed cound argument from bfd_vma to
	bfd_size_type.
	(nlm_optional_prefix_size, nlm_backend_object_p_func,
	nlm_write_prefix_func, nlm_set_public_section_func,
	nlm_get_public_offset_func): New accessor macros.
	(nlm_write_reloc_func): Removed.
	(nlm_write_external_func): Adjusted for field renaming.
	* nlm32-i386.c (nlm_i386_write_import): Renamed from
	nlm_i386_write_reloc.  Removed old nlm_i386_write_import which
	just called old nlm_i386_write_reloc.
	(nlm_i386_write_external): Renamed from nlm_i386_write_externals.
	Declared.  Changed second argument from bfd_vma to bfd_size_type.
	(nlm32_i386_backend): Adjusted for changes to fields and names.
	* nlm32-sparc.c (nlm_sparc_mangle_relocs): Removed unused,
	ifdeffed out code.
	(nlm_sparc_write_import): Removed second argument.
	(nlm_sparc_write_external): Renamed from
	nlm_sparc_write_externals.  Changed second argument from bfd_vma
	to bfd_size_type.
	(nlm32_sparc_backend): Adjusted for changes to fields and names.
	* nlmcode.h: Removed some unused code.
	(nlm_object_p): Don't destroy tdata pointer.  Call
	backend_object_p function if it exists.
	(nlm_slurp_symbol_table): Removed unused variable rcount.  Call
	set_public_section_func if it exists instead of checking
	NLM_HIBIT.
	(nlm_compute_section_file_positions): Account for
	optional_prefix_size.
	(nlm_write_object_contents): Account for optional_prefix_size.
	Removed useless variable write_reloc_func.  Changed declaration
	and call of write_import_func.  Call write_prefix_func if it
	exists.  Removed unused variables len and temp.  Call
	get_public_offset_func if it exists rather than setting NLM_HIBIT.
1993-12-02 02:22:35 +00:00
Ian Lance Taylor
f7912fb476 * nlmswap.h: Declare functions. 1993-12-02 02:19:25 +00:00
Ian Lance Taylor
1bbabdad48 New files for preliminary Alpha NetWare support. 1993-12-02 01:46:53 +00:00
Ken Raeburn
848ace961e various 1993-12-01 22:37:57 +00:00
Ken Raeburn
6a6676fbcc handle sparccoff_vec 1993-12-01 22:27:03 +00:00
Ken Raeburn
5984f609d0 declare sparccoff_vec 1993-12-01 22:26:33 +00:00
Ken Raeburn
fff9ad371a handle sparc*-*-coff* 1993-12-01 22:26:06 +00:00
Ian Lance Taylor
2f555d79cd Various entries. Added entries for NetWare changes made by Sean a
couple of weeks ago.
1993-12-01 20:06:43 +00:00
Ian Lance Taylor
074c4a12b1 Added copyright notice and comments. 1993-12-01 20:01:08 +00:00
Ian Lance Taylor
e92512bb28 * hosts/alphaosf.h (uint64_typeLOW, uint64_typeHIGH): Cast results
to unsigned long.
1993-12-01 19:51:19 +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
Ian Lance Taylor
4aed7f2496 * bfd-in.h (uint64_typeLOW, uint64_typeHIGH): Fully parenthesize
for clarity.
	(fprintf_vma, sprintf_vma): Use %lx, not %x.
	* bfd-in2.h: Rebuilt.
1993-12-01 19:41:16 +00:00
Ian Lance Taylor
7cd39d6914 Irix 4 core support entries. 1993-11-30 21:58:09 +00:00
Ian Lance Taylor
dabfe2f665 * irix-core.c: New file for Irix 4 and Irix 5 core support.
Functions taken out of coff-mips.c.  Handle vmap type VMAPFILE.
	* coff-mips.c: Irix 4 core file support moved to irix-core.c.
	* targets.c: If IRIX_CORE defined, include irix_core_vec in
	target_vector.
	* config/irix4.mh (HDEFINES): Add -DIRIX_CORE.
	(HDEPFILES): Define to be irix-core.o.
	* config/irix5.mh (HDEFINES): Define to be -DIRIX_CORE.
	(HDEPFILES): Define to be irix-core.o.
	* Makefile.in (OPTIONAL_BACKENDS): Added irix-core.o.  Removed
	sco-core.o, which no longer exists.
	(CFILES): Added all *-core.c files.
	Rebuilt dependencies.
1993-11-30 21:56:40 +00:00
Ian Lance Taylor
7ce1a44680 New file for Irix 4 and Irix 5 core file support. Split out of
coff-mips.c.
1993-11-30 21:45:15 +00:00
Ian Lance Taylor
6c35a16d6a * elfcode.h (map_program_segments): Restore check of file_size !=
mem_size, but only if SHT_PROGBITS.
1993-11-24 07:31:02 +00:00
Ian Lance Taylor
8d12f138ea * ecofflink.c: New file to hold ECOFF debug information linking
routines.
	* ecoff.c (ecoff_clear_output_flags, ecoff_rel, ecoff_dump_seclet,
	ecoff_add_string, ecoff_get_debug): Removed.  Functionality now in
	ecofflink.c.
	(ecoff_get_extr, ecoff_set_index): New functions.
	(ecoff_slurp_symbolic_info): Don't save raw_size.
	(ecoff_bfd_seclet_link): Rewrote to use ecofflink.c functions.
	(ecoff_compute_section_file_positions): Don't set EXEC_P just
	because there is a start address.
	(ecoff_write_object_contents): Handle external symbols here.  Use
	ecofflink.c functions to write out debugging information.
	* elf32-mips.c (mips_elf_read_ecoff_info, mips_elf_get_extr,
	mips_elf_set_index): New functions.
	(mips_elf_seclet_link): Discard empty sections, the .options
	section and .gptab sections.  Handle linking .mdebug section.
	* libecoff.h (ecoff_data_type): Removed raw_size and ifdbase.
	* libelf.h (elf_symbol_type): Added mips_extr to tc_data union.
	* bfd-in.h: Added prototypes for routines in ecofflink.c (some are
	called by gas, so they are public).
	* bfd-in2.h: Rebuilt.
	* Makefile.in (BFD_LIBS): Added ecofflink.o.
	(CFILES): Added ecofflink.c.
	(ecofflink.o): New target.  Rebuilt dependencies.
1993-11-24 07:21:28 +00:00
Ian Lance Taylor
71efdf833f New file to hold ECOFF linking routines used by both ECOFF and MIPS ELF. 1993-11-24 07:18:44 +00:00
Steve Chamberlain
ceeca31c76 Split ChangeLog into two. 1993-11-23 08:06:20 +00:00
Jeff Law
abb324b2c9 * som.c (hppa_object_p): Also recognize SHARED_MAGIC_CNX as
a valid magic number if it's been defined.
1993-11-23 06:27:45 +00:00
Ian Lance Taylor
8f45f60421 * ecoff.c (ecoff_mkobject): Don't create .scommon section; linker
no longer requires it.
	(ecoff_bfd_seclet_link, ecoff_sizeof_headers,
	ecoff_write_object_contents): Don't treat .scommon section
	specially
1993-11-22 19:22:23 +00:00
Fred Fish
c236d8b3a5 * bfd/config/delta88.mh (HDEFINES): Define this to be -DPTRACE_CORE.
* bfd/config/delta88.mh (HDEPFILES): Defined to be ptrace-core.o.
	* bfd/ptrace-core.c:  New file for dealing with core files with
	start with the ptrace_user structure found on BCS compliant systems.
	* bfd/targets.c (ptrace_core_vec):  New vector.
1993-11-22 19:01:55 +00:00
Jeff Law
36456a67f8 * Minimal support for reading SOM fixup streams. Allows
objdump -r to do something reasonable.
        * som.c (som_get_reloc_upper_bound): Implement.
        (som_canonicalize_reloc): Implement.
        (som_set_reloc_info, som_slurp_reloc_table): New functions.
1993-11-22 10:37:02 +00:00
Ken Raeburn
c60af619fb Modified to be based on lynx.h, like i386 and m68k versions. 1993-11-21 21:29:46 +00:00
Ken Raeburn
196f097043 define FPRINTF_ALREADY_DECLARED 1993-11-21 21:28:01 +00:00
Ian Lance Taylor
533af0314f * coff-a29k.c (a29k_reloc): For R_IREL, don't left shift
signed_value before sign extending it.  Don't subtract out
	reloc_entry->address.  This makes it compatible with what gas is
	generating.

Fixes PR 3790.
1993-11-19 19:51:52 +00:00
Ian Lance Taylor
a1bff336ec * elfcode.h (elf_fake_sections): Accept .sbss as the name for a
SHT_NOBITS sections.
	(map_program_segments): Don't leave the loop after the first
	SHT_NOBITS section.
	(assign_file_positions_except_relocs): Only force sh_offset and
	sh_addr to match modulo maxpagesize for a section which is not
	SHT_NOBITS.  Changed the method used to force page alignment after
	a SHT_NOBITS section to only do it for the last such consecutive
	section, and to really force page alignment.
1993-11-19 19:41:49 +00:00
Ken Raeburn
4c01d9b5be * coffcode.h (coff_slurp_symbol_table): Print more verbose message
in the case of an unknown (or unhandled) storage class.
1993-11-19 19:17:14 +00:00
Ken Raeburn
96be1f522f recent coff/lynx changes 1993-11-19 17:00:07 +00:00
Ken Raeburn
ab31ae5384 (coff_bfd_reloc_type_lookup): Don't define if already defined.
(coff_slurp_line_table): Reformatted.
1993-11-19 16:30:08 +00:00
Ian Lance Taylor
f8944f8414 Various entries. 1993-11-18 17:24:53 +00:00
Ian Lance Taylor
062189c6ea * elfcode.h (bfd_section_from_shdr): Don't dump core if target
section has no ELF section data.
	(elf_make_sections): Set addralign of reloc section to 4.
	(elf_fake_sections): Likewise.
	(map_program_segments):	Don't consider section 0.
	(assign_file_positions_except_relocs): Don't consider section 0.
	In the main loop, skip the symtab and strtab sections, since their
	positions are set elsewhere.
	(swap_out_syms): Set addralign of symtab section to 4.  Set
	addralign of strtab sections to 1.
	(assign_file_positions_for_relocs): Don't consider section 0.
	(write_object_contents): Don't write out section 0.
	(sym_is_global): Take abfd argument.  Call
	elf_backend_sym_is_global if it is not NULL.
	(elf_map_symbols): Pass abfd to sym_is_global.
	(write_object_contents): Call elf_backend_final_write_processing
	if it is defined.
1993-11-18 17:12:47 +00:00
Ian Lance Taylor
643e9fc768 * libelf.h (struct elf_backend_data): Added fields
elf_backend_sym_is_global and elf_backend_final_write_processing.
	* elf32-target.h (elf32_bed): Added corresponding initializers.
	* elf64-target.h (elf64_bed): Likewise.
1993-11-18 17:10:42 +00:00
Ian Lance Taylor
c9668c588a * libecoff.h: Include coff/ecoff.h.
(struct ecoff_backend_data): Move external debugging information
	fields into a single field pointing to an ecoff_debug_swap
	structure.
	(ecoff_data_type): Move debugging information fields into a single
	field pointing to an ecoff_debug_info structure.
	* coff-alpha.c, coff-mips.c, ecoff.c: Corresponding changes.
1993-11-18 00:07:33 +00:00
Stan Shebs
55ff7aef7e Wed Nov 17 13:56:10 1993 Stan Shebs (shebs@rtl.cygnus.com)
* i386lynx.c (swap_std_reloc_in, swap_ext_reloc_in): Ignore
	garbage bits appearing in the upper end of symbolnums.

	* config/sparc-lynx.mt (TDEFINES): Add -DFPRINTF_ALREADY_DECLARED.
1993-11-17 23:25:23 +00:00
Sean Eric Fagan
c96451db27 Need to declare nlm32_sparc_vec; oopsie. 1993-11-17 20:31:32 +00:00
Sean Eric Fagan
38f422db00 Don't want the new files to disappear unexpectedly! 1993-11-17 19:54:51 +00:00
Sean Eric Fagan
4a703e0610 Two more files in BFD updated for NetWARE/SPARC. 1993-11-17 19:54:02 +00:00
Sean Eric Fagan
cecbf7ed45 NetWare/SPARC changes; required changes to the interface as well as
adding files.
1993-11-17 19:52:09 +00:00
Stu Grossman
343c1a9641 * lynx-core.c (lynx_core_file_p): Change bfd_zalloc to bfd_alloc.
* m68klynx.c:  Define core file macros.
	* hosts/i386lynx.h, hosts/m68klynx.h, hosts/lynx.h:  Move all
	non-architecture specific stuff into lynx.h.
1993-11-17 01:11:30 +00:00
Jim Kingdon
794057a7c0 * i386linux.c: Define new macro ZMAGIC_DISK_BLOCK_SIZE to 1024, and
change PAGE_SIZE to 4096.
1993-11-16 23:07:40 +00:00
Ken Raeburn
f130fb33e5 * Makefile.in (diststuff): New target.
* VERSION: Updated.
1993-11-15 20:10:49 +00:00
Jeff Law
3be544982d * som.c (som_object_setup): Do not create dummy ".text", ".data",
and ".bss" sections.
	(setup_sections): Do not set SEC_HAS_CONTENTS if a section's size
	is zero.  Recognize BSS type sections and turn off SEC_LOAD and
	SEC_DATA (so binutils/size works).  Set the correct value for
	a section's _raw_size.
	(som_slurp_symbol_table): Program entry points, and millicode are
	also functions.  Mark them as such.  Also mark L$* symbols as
	debugging symbols.
1993-11-15 08:43:36 +00:00
Jeff Law
097960116a * bfd-in2.h: Rebuilt. 1993-11-15 07:34:01 +00:00
Jeff Law
91c0bcbbd0 * som.c (som_bfd_reloc_type_lookup): Add missing prototype. Returns
a pointer to constant data.  Delete bogus #define which made the
        function useless.
1993-11-14 01:32:09 +00:00
Jeff Law
6eb644081a * som.c (som_begin_writing): New function. 1993-11-14 00:56:58 +00:00
Jeff Law
0b35f7ec59 * som.c (som_write_space_strings): New function.
(som_write_symbol_strings): New function.
1993-11-14 00:33:00 +00:00
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
Jeff Law
176ed088ef * som.h (struct som_symbol): Add new fields to hold additional
information needed to build/write symbol tables and fixup streams.
	(struct som_section_data_struct): Add new fields to hold additional
	information needed to build/write space and subspace headers.
	(som_symbol_data): New accessor macro for SOM symbol information.
	(R_HPPA_*): Basic relocation types to be used by the assembler.
1993-11-12 23:08:13 +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
Ian Lance Taylor
a5ccdad1fc * elfcode.h (elf_object_p): Rather than looking through an array
of architectures, get the ELF EM_xxx code from the backend
	information.  Let the generic ELF target match any EM_xxx code not
	matched by another ELF target.  Call elf_backend_object_p to let
	the backend do more checks and set global information.
	* libelf.h (struct elf_backend_data): Added elf_machine_code and
	elf_backend_object_p fields.
	(struct bfd_elf_arch_map): Removed.
	(bfd_elf_arch_map, bfd_elf_arch_map_size): Don't declare.
	* elf32-target.h, elf64-target.h: Initialize elf_machine_code
	field with ELF_MACHINE_CODE.  Initialize elf_backend_object_p
	field with elf_backend_object_p (if it is defined).
	* elf32-gen.c, elf32-hppa.c, elf32-i386.c, elf32-i860.c,
	elf32-m68k.c, elf32-m88k.c, elf32-mips.c, elf32-sparc.c,
	elf64-gen.c (ELF_MACHINE_CODE): Defined.
	* elf32-mips.c: Include ecoffswap.h to get ECOFF swapping
	routines.
	(mips_elf_object_p): Set the right machine number.
	(mips_elf_ecoff_debug_swap): Defined.
	(elf_backend_object_p): Defined to be mips_elf_object_p.
	(elf_backend_ecoff_debug_swap): Defined to be
	mips_elf_ecoff_debug_swap.
	* elf.c (bfd_elf_arch_map, bfd_elf_arch_map_size): Removed.

	* elf32-mips.c (elf_mips_howto_table): Don't complain on overflow
	for R_MIPS_26.  Correct overflow detection requires matching the
	upper four bits of the destination against the PC.  From Ted Lemon
	<mellon@pepper.ncd.com>.

	* elf32-hppa.c (elf_hppa_reloc_type_lookup): Return type
	should point to const data.
1993-11-09 21:08:58 +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
David MacKenzie
17ecba1a84 more doc cleanups 1993-11-06 04:10:25 +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
0a197a969c Check in version built from changed bfd-in.h. 1993-11-05 08:34:09 +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
b3c0fc577b * reloc.c (enum bfd_reloc_code_real): Added
BFD_RELOC_MIPS_LITERAL, BFD_RELOC_MIPS_GOT16,
	BFD_RELOC_MIPS_CALL16, BFD_RELOC_MIPS_GPREL32.
	* bfd-in2.h: Rebuilt.
	* coff-mips.c (mips_bfd_reloc_type_lookup): Handle
	BFD_RELOC_MIPS_LITERAL.
	* elf32-mips.c (mips_reloc_map): Handle new relocs.
1993-11-01 21:17:31 +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
Stan Shebs
e3b5bfa890 Keep Lynx files 1993-11-01 19:15:17 +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
David MacKenzie
66efa7af07 test 1993-10-29 19:05:11 +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
20f951757e Minor changes, plus definitions for Sparc Lynx host. 1993-10-29 02:03:32 +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
Stu Grossman
9e16fcf124 * som.c (hppa_object_setup): Set SEC_CODE for .text section so
that GDB can figure out text_start and text_end.
1993-10-26 09:42:15 +00:00
Ian Lance Taylor
56775366f3 Fix up warnings from gcc -Wall:
* coffgen.c (coff_print_symbol): Use %lx and cast n_value to
	unsigned long.  Use %ld for tagndx.  Use %lx for offset + vma and
	cast it to unsigned long.
	* ecoff.c (ecoff_emit_aggregate): Use %ld.
	(ecoff_print_symbol): Use %ld, and cast indx and sym_base to long.
	* coffcode.h (dummy_reloc16_estimate): Specify return type.
1993-10-25 21:22:33 +00:00
Ian Lance Taylor
df34342bde * libbfd.c (bfd_write): If not everything is written out, set
bfd_error to system_call_error.  If the return value is
	non-negative, set errno to ENOSPC (if ENOSPC is defined).
	(bfd_seek): If the seek fails, set bfd_error to system_call_error.
	(bfd_generic_set_section_contents): For a bad offset + count, set
	bfd_error to bad_value.
	* seclet.c (rel): Don't abort.  Instead, return false.
1993-10-25 20:09:46 +00:00
Ken Raeburn
7956846326 aoutx.h (reloc_type_lookup): Handle BFD_RELOC_SPARC_WDISP22. 1993-10-25 17:01:57 +00:00
Mark Eichin
dd8dd099b0 note TDEFINES setting of FPRINTF_ALREADY_DECLARED. 1993-10-22 18:14:21 +00:00
Ian Lance Taylor
609151bee8 * targets.c (target_vector): Enable MIPS ELF vectors. 1993-10-22 15:56:08 +00:00
Jim Kingdon
212b1b07fa * config.bfd: Use bigmips for mips-sony-bsd*. 1993-10-22 14:58:28 +00:00
Jim Kingdon
ffa2b1dfe7 * configure.host, config.bfd: Add * to end of all OS names. 1993-10-22 13:36:28 +00:00
Ken Raeburn
3bca03362f elfcode.h (FILE_ALIGN_: Renamed from EALIGN, to avoid conflict with Ultrix
header files.

Also, lots of changes for PA elf and som support from Utah; see ChangeLog
for details.
1993-10-21 19:22:42 +00:00
Jim Kingdon
37e6f1d0e4 gcc -Wall lint:
* coff-h8300.c, coffcode.h: Change shrink parameter
	in *_reloc16_estimate to unsigned to match prototype.
	* archive.c: Avoid "/*" in comment.
1993-10-21 19:11:15 +00:00
Ian Lance Taylor
5280bd62ff * dep-in.sed: Create our own line breaks for a more aesthetic
Makefile.
	* Makefile.in: Rebuilt dependencies.
1993-10-21 18:30:12 +00:00
Ian Lance Taylor
632f2cc779 * elf32-mips.c: Include "seclet.h".
(mips_elf_fake_sections): Force size of .reginfo section to sizeof
	Elf32_External_RegInfo.
	(mips_elf_seclet_link): New function.  Link the .reginfo section
	specially, and pass everything else to the generic routine.
	(bfd_elf32_bfd_seclet_link): Define macro.
	* elf32-target.h: If bfd_elf32_bfd_seclet_link is already defined,
	don't override it.
1993-10-21 17:13:38 +00:00
Ian Lance Taylor
0186bcc6d5 * libnlm.h (nlm_backend_data): Added signature field.
(nlm_signature): New macro.
	* nlmcode.h (nlm_object_p, nlm_write_object_contents): Use the NLM
	signature from the backend rather than the constant NLM_SIGNATURE.
	* nlm32-i386.c (nlm32_i386_backend): Initialize signature field.
1993-10-20 20:37:40 +00:00
Ken Raeburn
c6b399ceb8 (HFILES): New variable, for use in "make dep".
(.dep): Depend on $(CFILES) and $(HFILES).  Delete .dep1 and remake it, so that
"$?" is complete.
(.dep1): Don't need to remove .dep1 first.
(dep.sed): Depend on config.status, not Makefile.
(CFILES): Add nlm.c.
1993-10-20 20:04:17 +00:00
Ian Lance Taylor
e61742338b * aoutf1.h (MACHTYPE_OK): Accept M_UNKNOWN.
(NAME(sunos,set_arch_mach)): Treat M_UNKNOWN as 68000, not 68020.
1993-10-20 16:26:50 +00:00
Jim Kingdon
dc0d7d91da * hosts/i386bsd.h [__bsdi__]: Define HOST_DATA_START_ADDR. 1993-10-20 15:33:40 +00:00
Ian Lance Taylor
5fa2aaa241 * coff-alpha.c: Implemented reloc handling for the linker, made
various other related changes.
	* libecoff.h (ecoff_backend_data): Added rdata_in_text field.
	Renamed finish_reloc to adjust_reloc_in.  Added adjust_reloc_out
	field.
	(ecoff_bfd_get_relocated_section_contents): Don't define.
	* ecoff.c (ecoff_sec_to_styp_flags, ecoff_styp_to_sec_flags):
	Handle .lita section.
	(ecoff_slurp_reloc_table): Handle RELOC_SECTION_FINI.
	finish_reloc backend field renamed to adjust_reloc_in.
	(ecoff_bfd_seclet_link): Adjust number of aux entries to
	debug_align boundary.
	(ecoff_compute_section_file_positions): If rdata_in_text put
	.rdata section in text segment, not data segment.  Put .pdata
	section in text segment.
	(ecoff_write_object_contents): Likewise.  Also, call
	adjust_reloc_out, and handle .lita, .xdata, .pdata, .fini and
	absolute sections when writing out relocs.
	* coffswap.h (coff_swap_aouthdr_out): For ALPHAECOFF, output 2 for
	bldrev field, as on Alpha OSF/1.  Padding field is now 2 bytes.
	* coff-mips.c (mips_ecoff_swap_reloc_out): Added assertion.
	(mips_adjust_reloc_in): Renamed from mips_finish_reloc.
	(mips_adjust_reloc_out): New function (does nothing).
	(mips_ecoff_backend_data): Initialize new fields.
	(ecoff_bfd_get_relocation_section_contents): Define to be
	bfd_generic_get_relocated_section_contents.

	* reloc.c (bfd_perform_relocation): Added casts to avoid Alpha
	OSF/1 cc bug.
1993-10-19 19:41:44 +00:00
Stu Grossman
653dd82a60 * Makefile.in: Add dependancy for elf.o to make Sun make happy
when using VPATH.
1993-10-19 01:17:42 +00:00
Ian Lance Taylor
08243cb522 * coffcode.h (styp_to_sec_flags): Don't set SEC_DEBUGGING until it
is made to work.
	(coff_compute_section_file_positions): Remove check for
	USE_DISCARDED_SECTIONS_COUNT.
	* coff-i386.c: Don't define USE_DISCARDED_SECTIONS_COUNT.  Basing
	it on host defines is wrong.
1993-10-14 16:04:35 +00:00
Ian Lance Taylor
fa1dccfb48 * ecoff.c (ecoff_bfd_seclet_link): Don't link a .reginfo section.
(ecoff_write_object_contents): Don't require the .reginfo section
	to be a particular size.
1993-10-14 05:13:43 +00:00
Ken Raeburn
97eb2f0cb6 More "make dep" fixups.
Apollo 68k support from Troy Rollo <troy@cbme.unsw.edu.au>.
1993-10-13 23:08:10 +00:00
Ken Raeburn
6327ba5dc7 Oopsie.
Use "[^ ]*", not ".*", in matching filename patterns.
Updated dependencies in Makefile.in.
1993-10-13 22:33:48 +00:00
Ken Raeburn
28f4c45f71 remove inclusion of strings.h 1993-10-13 21:42:42 +00:00
Ken Raeburn
cbd8493e6c coff-i386.c (i3coff_object_p): Now static. 1993-10-13 19:17:05 +00:00
Ken Raeburn
f3bb56f1c8 68kcoff, makedep changes 1993-10-13 19:04:43 +00:00