Commit Graph

657 Commits

Author SHA1 Message Date
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
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
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
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 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
Ian Lance Taylor d5a30a0879 * elf32-mips.c: Extensive additions to do relocations and to
handle MIPS specific sections.
	* libelf.h (elf_backend_data): Pass fourth argument to
	elf_backend_section_from_bfd_section to permit it to control the
	section index to use.
	(elf_obj_tdata): Add gp and gp_size fields.
	(elf_gp, elf_gp_size): New accessor macros.
	* elfcode.h: Removed a number of unused local variables.
	(elf_fake_sections): Clear section header before calling
	elf_backend_fake_sections, not after.
	(prep_headers): Return true at end.
	(elf_section_from_bfd_section): Pass retval argument to
	elf_backend_section_from_bfd_section.
	* elf32-hppa.c (elf32_hppa_backend_section_from_bfd_section):
	Accept and ignore new retval argument.
	* bfd.c: Include libelf.h.
	(bfd_set_gp_size): Handle ELF targets.
	* Makefile.in (bfd.o): Depends upon libelf.h.
	(elf32-mips.o): Depends upon $(INCDIR)/elf/mips.h.
1993-10-12 21:16:14 +00:00
Ian Lance Taylor a785321604 * ecoff.c (ecoff_mkobject): Check bfd_make_section return value.
(ecoff_mkobject_hook): New function.
	(ecoff_new_section_hook, ecoff_sizeof_headers,
	ecoff_compute_section_file_positions, ecoff_set_section_contents,
	ecoff_write_object_contents): Handle dummy REGINFO section.
	(ecoff_get_section_contents): New function to handle reading
	REGINFO section.
	* libecoff.h (ecoff_get_section_contents): Change from macro
	definition to function prototype.
	(ecoff_mkobject_hook): New prototype.
	* coff-alpha.c (alpha_ecoff_mkobject_hook): Removed.
	(alpha_ecoff_backend_data): Use ecoff_mkobject_hook.
	* coff-mips.c (mips_ecoff_mkobject_hook): Removed.
	(mips_ecoff_backend_data): Use ecoff_mkobject_hook.
1993-10-11 21:38:38 +00:00
Peter Schauer 22d33fb2f5 * libbfd.c (bfd_get*32, bfd_get*64): Prevent ANSI sign extension
by casting the most significant byte to bfd_vma.
1993-10-08 22:27:53 +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
Ken Raeburn fb32909add * aoutx.h (howto_table_std): Correct the "size" field in some entries.
* reloc.c (reloc_howto_type): Change documentation to dispel any
notion that the "size" field is a power-of-two indicator.
1993-10-07 21:46:12 +00:00
Steve Chamberlain fbb61b5029 * coffswap.h: (bfd_swap_reloc_in): a symndx is signed. 1993-10-07 19:24:22 +00:00
Steve Chamberlain 5cfdedb902 Make support for relaxing more generic.
* reloc16.c: Add new target entry - bfd_coff_reloc16_estimate,
	fix bit rot.
	* libcoff.h, libcoff-in.h: declarations. Prototypes
	* coffcode.h (bfd_coff_std_swap_table): Add calls to
	coff_reloc_16_extra_cases and coff_reloc16_estimate.
	(dummy_reloc16_estimate): New function.
	* coff-h8300.c (h8300_reloc16_estimate): New function
1993-10-07 19:21:54 +00:00
Ken Raeburn 01383fb458 elfcode.h (EALIGN): Define, dependent on ARCH_SIZE.
(align_file_position): New function.
(elf_locate_sh): Disabled function deleted.
(assign_file_positions_for_symtab_and_strtabs): Align position, then place
symtab, then do other sections.
(map_program_segments): Align program header.
(assign_file_positions_except_relocs): Align section headers.
(assign_file_positions_for_relocs): Align relocation sections.

Fixes ld/3584.
1993-10-07 18:34:59 +00:00
Jim Kingdon bdacad9c48 * configure.host: Recognize hppa*-*-hiux* (currently synonym for hpux).
Change other hppa entries to use -*- not -hp-.
	* config.bfd: Recognize hppa*-*-hiux* (currently synonym for hpux).
1993-10-05 17:46:28 +00:00
Jim Kingdon cf513c6e39 * coff-rs6000.c, cpu-rs6000.c, rs6000-core.c: Change non-ASCII
characters in comment to octal escapes.
1993-10-05 16:01:49 +00:00
Jim Kingdon bc991bc903 * config/news-mips.mh, hosts/news-mips.h: New files.
* configure.host: Use news-mips for mips-sony-bsd*.
1993-10-03 00:35:12 +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 763cfca018 reloc.c (bfd_reloc_code_type): Add linkage-table relative reloc of size 8, 16,
32.  Sort generic relocs by type, not size.  Added a little documentation too.
1993-09-30 21:54:49 +00:00
Jim Kingdon a1b51eb3eb * section.c (bfd_make_section_anyway): New function.
* section.c: Change comments to say several sections can have
	the same name.
	* bfd-in2.h: Re-generate to reflect above change.
	* coffgen.c (make_a_section_from_file): Call bfd_make_section_anyway
	if still no section after the bfd_coff_make_section_hook.
	* coffcode.h: Add comment about TWO_DATA_SECS.
1993-09-28 21:47:15 +00:00
Peter Schauer 2c24db3b2d * ecoff.c (ecoff_slurp_symbolic_info): Always determine raw_size
explicitly.
	* ecoff.c (ecoff_sec_to_styp_flags, ecoff_styp_to_sec_flags):  Handle
	.fini section.
1993-09-28 10:23:52 +00:00
Stan Shebs 32940b9fe3 Fix a typo 1993-09-28 01:57:25 +00:00
Stan Shebs 96e39d2aaa New and improved Lynx support. 1993-09-28 01:53:25 +00:00
Jim Kingdon 69bdf1a5da * archive.c: Define offsetof here.
* hosts/*.h: Don't define it here.
1993-09-27 23:27:46 +00:00
Ian Lance Taylor 8737c2f4e5 * elfcode.h (bfd_section_from_shdr): Set filepos for SHT_STRTAB
section.
1993-09-27 23:12:40 +00:00
Jim Kingdon eafdb69561 * hpux-core.c: Add comment about hpux version 7. 1993-09-26 18:47:53 +00:00