Commit Graph

1459 Commits

Author SHA1 Message Date
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
Ken Raeburn
fd201fc392 removed two deleted files (thanks Fred) 1993-10-07 18:22:21 +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
Stan Shebs
3151f12f33 Another forgotten file. 1993-10-05 02:30:37 +00:00
Stan Shebs
47d2245116 Reflect changes in Lynx files. 1993-10-03 22:51:51 +00:00
Stan Shebs
c4a423818e More additions and changes for Lynx. 1993-10-03 22:15:52 +00:00
Jim Kingdon
8a1f626075 * config/news-mips.mh, hosts/news-mips.h: New files. 1993-10-03 05:46:21 +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
Jim Kingdon
17dbd90993 new for mips corefiles 1993-10-02 23:55:34 +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
Jim Kingdon
9b3fa58950 * 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 20:44:43 +00:00
Stan Shebs
4ac3ff671b Keep m68klynx.h 1993-09-28 20:27:21 +00:00
Stan Shebs
eefe075d6a Keep m68klynx.c 1993-09-28 20:25:00 +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
Stu Grossman
08ba2f95fe * lynx-core.c (lynx_core_file_p): Change per-thread register
section names from .regXXX to .reg/XXX to avoid parsing ambiguity
in gdb/corelow.c.  Create alias .reg section for the currently
running thread.
1993-09-24 23:54:32 +00:00
Peter Schauer
0a27542138 Fix typo in previous ChangeLog message. 1993-09-24 16:13:26 +00:00
Peter Schauer
4346ee0f97 * osf-core.c: New file for OSF/1 core file support.
* config/alphaosf.mh (HDEFINES):  Set to -DHPUX_CORE.
	(HDEPFILES):  Set to hpux-core.o.
	* bfd-in2.h (union tdata):  Add osf_core_data member.
	* targets.c:  If OSF_CORE is defined, add osf_core_vec to target list.
	* Makefile.in (OPTIONAL_BACKENDS):  Add osf-core.o.
	(osf-core.o):  New dependency.
1993-09-24 07:45:28 +00:00
Jim Kingdon
449fc5131c * ecoff.h (ecoff_set_arch_mach_hook): Accept MIPS_MAGIC_LITTLE2
and MIPS_MAGIC_BIG2.
1993-09-24 02:16:09 +00:00
Ian Lance Taylor
7437667486 * archive.c (compute_and_write_armap): Put weak symbols in the
armap.

	* elfcode.h (fix_up_strtabs): Set sh_entsize for the .stab
	section, not the .stabstr section.  Set the type of the .stabstr
	section to SHT_STRTAB.
	(elf_section_from_bfd_section): Handle SHT_STRTAB sections.

Also set SEC_DEBUGGING for appropriate SHT_STRTAB sections.
1993-09-23 21:59:07 +00:00
Ken Raeburn
869cbaae87 * gen-aout.c (main): Output newline after end of comment, not before.
(Reported by Jonathan Stone, jonathan@oscar.stanford.edu).
1993-09-23 16:51:30 +00:00
Ian Lance Taylor
d6e5f95000 * section.c (SEC_DEBUGGING): New section flag.
* elfcode.h (bfd_section_from_shdr): If section is SHT_PROGBITS,
	and the name starts with .debug, .line or .stab, set
	SEC_DEBUGGING.
	* elf32-target.h (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Added
	SEC_DEBUGGING to section_flags.
	* elf64-target.h (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Added
	SEC_DEBUGGING and SEC_CODE to section_flags.
	* bfd-in2.h: Updated.
1993-09-23 15:14:12 +00:00
Ian Lance Taylor
01657c7aec * bfd.c (tdata): Add lynx_core_data. 1993-09-22 20:57:58 +00:00
Ian Lance Taylor
e544ed4f3d * ecoff.c (ecoff_compute_section_file_positions): Set filepos for
sections with SEC_LOAD set, even if SEC_HAS_CONTENTS is clear.
	(ecoff_write_object_contents): Don't set scnptr to zero just
	because size of section is zero.  Needed for Irix 4.0.5F.
1993-09-22 20:49:57 +00:00
Jim Kingdon
bdb45162af * config.bfd: Use i960-bout, not i960-coff for i960-*-nindy*. 1993-09-22 15:11:59 +00:00
Stu Grossman
6c08c1ef02 * Makefile.in (OPTIONAL_BACKENDS): Add lynx-core.o.
* bfd-in2.h (tdata):  Add lynx_core_data;
	* config.bfd configure.host:  Get rid of superfluous netbsd and
	lynxos entries.
	* configure.in:  Add lynx-core.o to Lynx config.
	* i386lynx.c:  Add defs for core file support.
	* lynx-core.c:  New file with Lynx core file support.
	* hosts/i386lynx.h:  Move lots of host specific includes to here.
	Add def of HOST_LYNX.  Remove unnecessary defs.
1993-09-22 14:58:31 +00:00
Stu Grossman
2b91cc453b * Makefile.in (OPTIONAL_BACKENDS): Add lynx-core.o.
* bfd-in2.h (tdata):  Add lynx_core_data;
* config.bfd configure.host:  Get rid of superfluous netbsd and
lynxos entries.
* configure.in:  Add lynx-core.o to Lynx config.
* i386lynx.c:  Add defs for core file support.
* lynx-core.c:  New file with Lynx core file support.
* hosts/i386lynx.h:  Move lots of host specific includes to here.
Add def of HOST_LYNX.  Remove unnecessary defs.
1993-09-22 14:54:50 +00:00
Ian Lance Taylor
36d541b1c7 * elfcode.h (bfd_section_from_shdr): Only set SEC_DATA for a
SHF_PROGBITS or SHT_STRTAB section if SEC_ALLOC is set.  Never set
	SEC_DATA for a SHF_NOBITS section.

	* nlm32-i386.c (nlm_i386_mangle_relocs): Check SEC_LOAD rather
	than SEC_CODE | SEC_DATA.  Add some casts to avoid warnings.
	* nlmcode.h: Add some casts to avoid warnings.
	(nlm_write_object_contents): Ignore relocs for sections that are
	neither code nor data.  Just use the symbol value for debugging
	symbols; don't offset by the section vma.
1993-09-20 23:25:52 +00:00
Ian Lance Taylor
4fe784bb8f * reloc.c (bfd_perform_relocation): Don't return an error when
performing a reloc against an undefined weak symbol.
	* syms.c (bfd_print_symbol_vandf): Show value of BSF_WEAK rather
	than obsolete BSF_EXPORT.
1993-09-17 22:13:33 +00:00
John Gilmore
9d6323bace * hosts/{alphaosf.h, amix.h, apollo68.h, apollov68.h,
decstation.h, delta88.h, dgux.h, dose.h, go32.h, harris.h,
hp300.h, hp300bsd.h, hppabsd.h, hppahpux.h, i386aix.h, i386bsd.h,
i386linux.h, i386lynx.h, i386v.h, i386v4.h, irix3.h, irix4.h,
mipsbsd.h, ncr3000.h, rs6000.h, rtbsd.h, solaris2.h, sparc-ll.h,
std-host.h, stratus.h, sun3.h, sysv4.h, tahoe.h, ultra3.h,
vaxult.h, vaxult2.h, we32k.h}:  Make sure that "offsetof" is
defined on all hosts, now that archive.c uses it.
1993-09-17 09:14:31 +00:00
John Gilmore
c5652bffcb Make sure that "offsetof" is defined on all hosts, now that archive.c uses it. 1993-09-17 09:08:00 +00:00
Ian Lance Taylor
e621c5cc37 * elfcode.h (elf_map_symbols): Create section symbols for all
sections, not just allocated sections; debugging sections can have
	relocs.
	(elf_symbol_from_bfd_symbol): If there is an output section, use
	the section index from that rather than the input section.
1993-09-16 22:24:33 +00:00
Ian Lance Taylor
0542a638d7 * libbfd.h (COERCExx): Cast x to bfd_signed_vma before doing the
xor and subtract.  Otherwise it will not sign extend if the type
	of bfd_vma is larger than int.
1993-09-15 20:57:47 +00:00
Ian Lance Taylor
2fbb0a713c * ecoffswap.h (ecoff_swap_pdr_in): Get regoffset, iopt, fregoffset
and frameoffset as signed numbers.  From Peter Schauer.
1993-09-15 15:58:11 +00:00
Ian Lance Taylor
207f85b54b * elf32-i386.c (elf_howto_table): Add bfd_elf_generic_reloc
special function for all reloc entries.
	* elf32-target.h (TARGET_LITTLE_SYM): Add SEC_CODE to
	section_flags.
	* libelf.h (elf_symbol_type): Remove desc, type and other fields.
	* Makefile.in (elf32-*.o): These depend upon elf32-target.h.
1993-09-14 22:29:26 +00:00
Steve Chamberlain
a6f5fcd8c2 Tue Sep 14 14:34:45 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
* libbfd-in.h (struct artdata):  Add armap_timestamp and
 	armap_datepos here too.
1993-09-14 21:39:33 +00:00
John Gilmore
cb4acadb8c Avoid minor warning in archive.c change. 1993-09-14 04:19:40 +00:00
John Gilmore
f26a0e9bcf * hosts/std-host.h (offsetof): Define, if not already, for archive.c. 1993-09-14 04:15:23 +00:00
John Gilmore
b5b4294e65 Improve timestamp support in BSD archive files to avoid linker
warnings.

* libbfd.h (struct artdata):  Add armap_timestamp and armap_datepos.
(bfd_flush, bfd_stat):  Add prototypes.
* libbfd.c (bfd_flush):  Add, does fflush on a BFD.
(bfd_stat):  Add, does fstat on a BFD.

* archive.c (_bfd_write_archive_contents): At end of file writing,
verify and possibly update the timestamp in the armap, if a BSD
archive.  FIXME!  Kludge recognizes BSD archive, rather than
vectoring properly.  Should add to xvec.
(compute_and_write_armap):  Move prototype to top, avoid PROTO.
(bsd_write_armap): Save timestamp and file location thereof, when
writing the armap in a BSD file.
(bsd_update_armap_timestamp):  New function to check and
rewrite the timestamp.
1993-09-14 04:13:43 +00:00
Jim Kingdon
66eca5ee10 add som.c and som.h 1993-09-13 22:51:51 +00:00
Jim Kingdon
4793011a34 * hosts/i386sco.h: Define a bunch of stuff for core files.
* sco-core.c: Remove, replace by trad-core.c.
	* trad-core.c: If HOST_STACK_START_ADDR is defined, use it.
	* config/i386sco.mh: Use trad-core not sco-core.
	* hosts/i386isc.h, config/i386isc.mh: Remove.
	* configure.host: Use i386sco for isc.
	* config/i386-sco.mt: Remove, identical to i386-coff.mt.
	* config.bfd: Use i386-coff not i386-sco.
1993-09-12 05:09:08 +00:00
Jim Kingdon
d36bdf4005 * config.bfd: Recognize i[34]86-*-solaris2* specifically rather
than using *-*-solaris2* (i486-unknown-solaris2 is i386-elf, not
	i486-elf which doesn't exist).
1993-09-12 01:16:45 +00:00
Ian Lance Taylor
bccf35217e * coffswap.h (coff_swap_aouthdr_out): For ALPHAECOFF, force
padding field to zero.
1993-09-10 21:54:32 +00:00
Ian Lance Taylor
1964686f00 * config.bfd (i[34]86-*-netbsd*): New target; use i386-netbsd.
* configure.in: Remove bogus netbsd386 handling.
1993-09-10 17:10:13 +00:00
Ian Lance Taylor
5f9b59542f * coff-mips.c: Don't warn about overflow for MIPS_R_JMPADDR reloc.
Correct overflow detection requires matching the upper four bits
	of the destination against the PC.
1993-09-10 17:00:49 +00:00
Ken Raeburn
ffe2639825 * configure.in: Make 64-bit stuff work with "--with-targets=all". 1993-09-09 21:03:20 +00:00
Ian Lance Taylor
23f44e6f1a * libbfd-in.h: Removed swapping routines declarations.
* bfd-in.h: Added swapping routine declarations, and renamed them
	from _do_* to bfd_*.
	* libbfd.c: Renamed swapping routines from _do_* to _bfd_*.
	* Changed all callers.
	* libbfd.h, bfd-in2.h: Rebuilt.
1993-09-07 18:32:33 +00:00
Ian Lance Taylor
f3e8b15d8e * elf32-i386.c (elf_howto_table): Set pcrel_offset to true for
R_386_PC32.
1993-09-07 15:45:42 +00:00
Ken Raeburn
c6d33b2ff2 configure.in, libbfd, elf, elf-hppa (utah) changes 1993-09-03 20:24:07 +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
3a70b01d63 more changes from Utah, see log for details 1993-09-03 20:12:51 +00:00
Ken Raeburn
ee8cb54804 Deleted some fields of elf*_symbol_type and elf_obj_tdata that were getting
set but not used.  Merged elf*_symbol_type into a single elf_symbol_type.
1993-09-03 20:12:05 +00:00
Ken Raeburn
bc750ff1c1 regenerated after doc fix 1993-09-03 20:09:31 +00:00
Ken Raeburn
6affd66ac1 (_do_get*, _do_put*): Renamed via macros to clean up namespace. 1993-09-03 20:04:52 +00:00
Jim Kingdon
e808f62943 * libhppa.h (hppa_field_adjust): Remove unused `init_value' variable. 1993-09-02 19:24:33 +00:00
Jim Kingdon
aa93c577df * hosts/delta88v4.h: New for SVR4.
* configure.hosts: Use it.
1993-09-02 06:06:40 +00:00
Jim Kingdon
d44759e1c0 new for /proc support on svr4 delta88 1993-09-02 05:57:31 +00:00
Jim Kingdon
f6fcc08262 * libaout.h, netbsd386.c: Change M_I386 to M_386_NETBSD. M_I386
is an SCO pre-define.
1993-09-01 19:28:53 +00:00
Ian Lance Taylor
45a78ebbfb * nlmcode.h (nlm_object_p): Set HAS_SYMS if there are external
references.
	(nlm_swap_auxiliary_headers_{in,out}): The copyright length is
	only one byte.
	(nlm_get_symtab_upper_bound): Include debugging symbols in symbol
	count.
	(nlm_slurp_symbol_table): Make symlength unsigned.  Read debugging
	symbols as BFD local symbols.
	(nlm_write_object_contents): Don't bother writing out exported
	symbols more than once; they now appear in the symbol table more
	than once (with and without a prefix) if necessary.  Set offset
	values to be non-zero as NLMLINK does.
1993-08-31 17:28:03 +00:00
Jim Kingdon
aef3ae9a8f * libhppa.h: Restore #undefs of e_fsel and other e_* symbols. 1993-08-31 17:11:46 +00:00
Ken Raeburn
b2ae9efbe0 regenerated after section.c changes 1993-08-28 00:35:56 +00:00
Ken Raeburn
5f05dcd9ac section.c, hppa changes 1993-08-28 00:17:05 +00:00
Ken Raeburn
94772e9b80 %$#@ cvs bugs 1993-08-28 00:16:15 +00:00
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
Ian Lance Taylor
53a6ff7e1d * libnlm.h (struct nlm_backend_data): Added mach field.
(nlm_machine): New accessor macro.
	* nlm.c (nlm_mkobject): Set architecture and machine from backend
	information.
	* nlm32-i386.c (nlm32_i386_backend): Initialize new mach field.
1993-08-10 17:41:17 +00:00
David MacKenzie
7505d16f52 Replace calls to sort with shell code 1993-08-10 16:35:12 +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
505f714f81 support COFF on ELF systems 1993-08-10 05:01:12 +00:00
Ken Raeburn
e5c5fbca67 include elf doc 1993-08-09 20:31:30 +00:00
K. Richard Pixley
5757d35bba config/m88k-coff.mt (DEFAULT_VEC -> DEFAULT_VECTOR): renamed. 1993-08-09 20:17:40 +00:00
Ian Lance Taylor
41efeb59a0 * bfd-in.h (bfd_get_architecture, bfd_get_machine): Removed
obsolete macros.
	* bfd-in2.h: Updated.
1993-08-09 20:08:16 +00:00
Ken Raeburn
e543618c75 code changes to syms.c bfd.c 1993-08-09 19:27:43 +00:00
Ken Raeburn
ef758f3ee8 regenerated 1993-08-09 19:25:56 +00:00
Ken Raeburn
36d701ab49 sanitize targets.c 1993-08-09 19:16:24 +00:00
Ian Lance Taylor
3036933a88 * ecoff.c (ecoff_slurp_armap): Correct bug in initialization of
stringbase.
1993-08-09 18:32:39 +00:00
David MacKenzie
aedc02dff0 remove unused test 1993-08-08 19:22:54 +00:00
Jim Kingdon
810a7a82a0 * Makefile.in ({dist,real}clean): Use $(MAKE), not make. 1993-08-08 17:47:17 +00:00
David MacKenzie
105ceb6a62 cleanup 1993-08-08 02:14:01 +00:00
David MacKenzie
61434ebb73 add pointer to config/README 1993-08-07 22:45:02 +00:00
David MacKenzie
2e39bde39f document bfdsumm.texi 1993-08-07 22:43:02 +00:00
David MacKenzie
5f9a2245d8 make target selection fully configurable 1993-08-07 22:38:22 +00:00
Fred Fish
9ea71abfcf * elfcode.h (elf_object_p): Add comment about what this function
does and to watch out for side effects.  Add FIXME for memory leaks.
	Fix comment about checking for matching byte order.  Preserve
	pointer to old tdata (if any), and restore it if we don't match
	file with target vector.  If we are going to use goto's, use them
	consistently and maintainably.
	* nlmcode.h (nlm_object_p):  Expand comments about leaked memory
	to note that the problem is even more serious than just leaked
	memory.  Replace goto with more traditional return.
1993-08-07 14:46:21 +00:00
David MacKenzie
dcdfa32cec cleanups 1993-08-07 01:35:00 +00:00
David MacKenzie
493a259370 add hp300bsd to default target vector 1993-08-06 20:11:42 +00:00
Ian Lance Taylor
70bec8b806 * ecoff.c (ecoff_set_symbol_info): Removed special handling for
scBss and scSBss symbols, since it was wrong.
1993-08-06 20:04:22 +00:00
Ken Raeburn
153cb9ade3 * libelf.h (NAME): Provide a default definition, that's neither
for 32 bits nor for 64.

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

* libelf.h (elf_hash): Change declaration to bfd_elf_hash, since
that is what is in elf.c.
1993-08-06 19:29:57 +00:00
Ian Lance Taylor
014e4e9981 * Makefile.in (coff-mips.o, coff-alpha.o): Don't depend on
coffcode.h.
1993-08-06 19:17:36 +00:00
Ian Lance Taylor
c39fcfdca8 * coffcode.h (sec_to_styp_flags): Inspired by mb@tti.COM (Michael
Bloom): Only set STYP_BSS for SEC_ALLOC sections.
1993-08-06 19:12:47 +00:00
Ian Lance Taylor
8c11363a29 * ecoff.c (ecoff_slurp_armap): From Arne Henrik Juul
<arnej@kari.fm.unit.no>: Handle a COFF style armap.
1993-08-06 16:39:44 +00:00
Jim Kingdon
a61a4125ed * hpux-core.c: Cast return value from bfd_zalloc. 1993-08-06 15:06:23 +00:00
Ken Raeburn
b12193c073 Makefile.in, bfd-in.h, reloc, elf32-i386, elfcode changes 1993-08-05 19:23:43 +00:00
Ken Raeburn
b66b07a292 regenerated 1993-08-05 18:36:19 +00:00
Ken Raeburn
e74034d81a Wed Jun 23 06:05:58 1993 Michael Meissner (meissner@osf.org)
* elfcode.h (elf_write_object_contents): Don't drop core if
	elf_symbol_from returns a NULL pointer when processing a non-elf
	symbol, use a 0 size instead.

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

	* elfcode.h (elf_hash): Delete macro mapping elf_hash to
	bfd_elf32_hash, since the hash table is independent of the 32/64
	bit system.
1993-08-05 18:32:50 +00:00
Ken Raeburn
1fa5371efb rewrite comment -- bfd-in2.h is generated too 1993-08-05 18:27:16 +00:00
Ken Raeburn
a49880c83d add i386-elf relocs (from Meissner) 1993-08-05 18:24:21 +00:00
Ken Raeburn
15db204498 (BFD_LIBS): Always include elf.o.
(BFD32_BACKENDS): Don't include elf.o here.
(ofiles): Delete references to ofiles2 and ofiles3.
(do_clean): Delete ofiles.
(BFDIN_H): Changed references to $(srcdir)/bfd-in2.h.
(stmp-bfd.h): Use bfd.h-new as temporary name, not bfd.h2.
(headers): Use bfd-in2.h-new as temporary name, not bfd.h-new.
1993-08-05 18:20:20 +00:00
Fred Fish
8b97737768 * nlmcode.h (nlm_get_reloc_upper_bound): Test return value
of nlm_slurp_symbol_table as boolean, not pointer.
	* nlmcode.h (nlm_canonicalize_reloc):  Test return value
	of nlm_slurp_reloc_fixups as boolean, not pointer.
1993-08-05 17:22:58 +00:00
David MacKenzie
ebdb7db782 fix line numbers 1993-08-05 02:47:20 +00:00
Ian Lance Taylor
7389debf1c * libnlm.h (nlm_backend_data): Added nlm_mangle_relocs.
(nlm_mangle_relocs_func): New macro.
	* nlm32-i386.c (nlm_i386_write_reloc): Rewrote correctly.
	(nlm_i386_mangle_relocs): New function.
	* nlmcode.h (nlm_compute_section_file_positions): Move all common
	symbols into the .bss section.
	(nlm_set_section_contents): Call the mangle_relocs function.
	(nlm_write_object_contents): Treat a reloc against any defined
	symbol as an internal reloc.  Fix bug in external reloc counting.
	Get the offset and debugging type right for .bss symbols.  Only
	output debugging symbols for defined symbols.
1993-08-04 20:25:53 +00:00
Ian Lance Taylor
e4b6b3e71b * coff-h8500.c (rtype2howto): Do an fprintf to stderr rather than
using printf.
	* coff-z8k.c (rtype2howto): Likewise.
	* coffcode.h (dummy_reloc16_extra_cases): Likewise.
	* elf32-i386.c (TRACE): Likewise.
	* hp300hpux.c (convert_sym_type, swap_std_reloc_in): Likewise.
	* rs6000-core.c (rs6000coff_get_section_contents): Likewise.
	* coffgen.c (coff_print_symbol): Do an fprintf to the file
	argument rather than using printf.
1993-08-04 16:36:10 +00:00
Ian Lance Taylor
48edba8191 With these changes, the binutils mostly work on the Alpha, except for
objdump -r.

	* coffswap.h: Added macros used when accessing several fields;
	default is the same as before.
	(coff_swap_aouthdr_{in,out}): Handle the Alpha ECOFF fields.
	* coff-alpha.c: Defined macros to use the right sizes in
	coffswap.h.
	* libecoff.h: Backend information is now in target vector, not
	BFD.  Start of backend information is COFF backend information.
	* coff-alpha.c, coff-mips.c: Changed accordingly.
	* ecoff.c (ecoff_mkobject): New function.
	(ARMAP_START): Changed into backend information, since Alpha uses
	a different name.
	(ecoff_slurp_armap): Don't overlay archive header.
	* bfd.c: Include libcoff.h.
1993-08-04 01:37:25 +00:00
David MacKenzie
5d4c714ebd fix syntax error 1993-08-04 00:28:19 +00:00
David MacKenzie
eca6fef226 make a common extern 1993-08-03 23:37:45 +00:00
Fred Fish
b6e7553c42 * nlm_slurp_symbol_table: Don't use '&' on arrays. 1993-08-03 22:22:13 +00:00
Ian Lance Taylor
dae31cf51b * ecoff.c: New file for generic ECOFF functions.
* ecoffswap.h: New file for ECOFF swapping functions which differ
	only slightly for different targets.
	* libecoff.h: Added prototypes for ecoff.c functions.
	(ecoff_backend_data): New structure.
	(ecoff_tdata): Added backend_data field.  Changed external data
	pointers to be PTR rather than to a particular struct.
	(ecoff_symbol_struct): Moved in from coff-mips.c.
	* coff-alpha.c, coff-mips.c: Moved common functions into ecoff.c.
	Added ECOFF backend structures.  Include ecoffswap.h.
	* coff-msym.c: Removed; superseded by ecoffswap.h.
	* bfd.c: Include coff/internal.h.
	* Makefile.in (BFD_LIBS): Removed coff-mips.o and coff-msym.o.
	Added ecoff.o.
	(BFD64_BACKENDS): Added coff-alpha.o.
	(CFILES): Removed coff-msym.c.  Added ecoff.c.
	(bfd.o): Added dependency on $(INCDIR)/coff/sym.h.
	(coff-mips.o): Added dependency on ecoffswap.h and coff/ecoff.h.
	(ecoff.o, coff-alpha.o): New targets.
	(coff-msym.o): Removed target.
1993-08-03 20:22:47 +00:00
John Gilmore
e49d537916 * elf32-hppa.h, hosts/*: Remove (one more time) all occurrances
of EXFUN in the BFD sources.  Heave ho!
1993-08-03 06:36:30 +00:00
Fred Fish
b5ed6e32c2 Remove '.Sanitize' from explicit list of Things-to-lose. It is now implicitly
added to the list by Sanitize, unless Sanitize knows it needs to keep it.
1993-08-02 23:29:32 +00:00
David D. Zuhn
19d06401a4 remove some conflicting decls 1993-08-02 19:18:38 +00:00
Stu Grossman
78e551e560 Mon Aug 2 11:48:23 1993 Stu Grossman (grossman at cygnus.com)
* i386lynx.c:  Remove unnecessary def of N_HEADER_IN_TEXT,
	redefine TEXT_START_ADDR to be 0.
1993-08-02 18:50:02 +00:00
Stu Grossman
f5ac0101c7 Add i386lynx.h. 1993-08-02 15:57:14 +00:00
Stu Grossman
3481ad9a11 Sun Aug 1 22:54:08 1993 Stu Grossman (grossman at cygnus.com)
* configure.host, configure.in, hosts/i386lynx.h:  Lynx/386
	host and target info.
1993-08-02 05:57:29 +00:00
David MacKenzie
45743c7867 common section fix 1993-07-30 22:45:04 +00:00
Ian Lance Taylor
8fa7a236b6 First cut at i386 specific NLM backend. 1993-07-30 22:32:45 +00:00
Ian Lance Taylor
5a1cb8d526 * nlm32-i386.c: New file. First cut at i386 NLM code.
* libnlm.h: Added some more prototypes.
	(struct nlm_relent): New structure.
	(nlmNAME(symbol_type)): Added rcnt and relocs fields.
	(struct nlm_obj_tdata): Added new fields: nlm_symbols,
	nlm_text_low, nlm_data_low, nlm_reloc_fixups,
	nlm_reloc_fixup_secs.
	(struct nlm_backend_data): New structure, with accessor macros.
	* nlmcode.h: Use NLM_HIBIT rather than MSB.
	(nlm_object_p): Set SEC_RELOC for .text and .data.  Don't set
	SEC_DATA for .bss.  Set HAS_RELOC and HAS_SYMS for abfd.  Set the
	architecture.
	(nlm_swap_fixed_header_out, nlm_swap_variable_header_out,
	find_nonzero, nlm_swap_auxiliary_headers_out): New outbound
	swapping functions.
	(nlm_get_symtab_upper_bound, nlm_slurp_symbol_table): Include
	external references in symbol table as undefined symbols.
	(nlm_get_symtab, nlm_slurp_symbol_table): Fill in alocation
	argument in get_symtab rather than in slurp_symbol_table.
	(nlm_slurp_symbol_table): Save symbol information in tdata.
	(nlm_print_symbol): New function.
	(nlm_slurp_reloc_fixups, nlm_get_reloc_upper_bound,
	nlm_canonicalize_reloc): New functions to read relocs.
	(nlm_compute_section_file_positions, nlm_set_section_contents,
	nlm_external_reloc_compare, nlm_write_object_contents): New
	functions to create NLM files.
	* nlm-target.h: Define all the nlm functions here either as
	default values or in terms of nlmNAME.  Use JUMP_TABLE(nlm).  Set
	the backend_data field to TARGET_BACKEND_DATA.
	* nlm32-gen.c, nlm64-gen.c: Don't define function macros here;
	they are now in nlm-target.h.
	(TARGET_BACKEND_DATA): Define as NULL.
	* nlm.c (nlm_mkobject): Do allocate the tdata field.
	(nlm_set_arch_mach): New function.
	* targets.c: Added nlm32_i386_vec.
	* Makefile.in (BFD32_BACKENDS): Added nlm32-i386.o.
	(CFILES): Added nlm32-i386.c.
	(nlm32-gen.o, nlm64-gen.o): Depend on nlm-target.h.
	(nlm32-i386.o): New target.
1993-07-30 22:32:09 +00:00
Steve Chamberlain
f751f474f4 d
Make sure ansidecl.h is included where needed.
1993-07-30 18:17:38 +00:00
Fred Fish
775d4a4096 Add .Sanitize to Things-to-lose list. 1993-07-30 16:46:19 +00:00
Fred Fish
207d7af96c Add esix.h to Things-to-lose list. 1993-07-30 07:10:33 +00:00
David D. Zuhn
6592e701b3 remove some sun3 function decls 1993-07-30 03:22:30 +00:00
Fred Fish
e895e2a577 * nlm{32,64}-gen.c (JUMP_TABLE_PREFIX): Delete.
* nlm{32,64}-gen.c (JUMP_TABLE_INIT):  New macro that works with
	older cpp's, that don't do additional replacement on the JUMP_TABLE
	macro's argument.
	* nlm-target.h (JUMP_TABLE_INIT):  Use new macro in place of
	JUMP_TABLE macro.
1993-07-27 19:56:00 +00:00
Jim Kingdon
1fe54c2374 Yet another trad-core variant:
* config/esix.mh, hosts/esix.h: New files.
	* configure.hosts: Use them.
1993-07-26 22:53:02 +00:00
Jim Kingdon
fc18f5ca3b new for esix 1993-07-26 22:46:42 +00:00
Ian Lance Taylor
8f22c1af21 * reloc.c (bfd_perform_relocation): Handle the case of
complain_overflow_bitfield, rightshift > bitpos, and a negative
	number.
1993-07-26 20:24:26 +00:00
Ken Raeburn
718bb803b5 Lots o' elf changes 1993-07-26 19:37:05 +00:00
Ken Raeburn
300adb3110 Reimplement segment writing.
(elf_write_phdrs): Use precomputed e_phoff rather than making assumptions.
(elf_build_phdrs): Disabled, for now.
(assign_file_position_for_section): Don't change file offset for SHT_NOBITS.
(assign_file_positions_for_symtab_and_strtabs): New function.
(struct seg_info): New type.
(map_program_segments): New function.
(assign_file_positions_except_relocs): For executables, leave section headers
&c for last, and properly align all sections with flag SHF_ALLOC set.
(prep_headers): No longer abort when EXEC_P is set.
(write_shdrs_and_ehdr): Deleted all code relating to program segments.

(various): Deleted some unused code, and debugging "malloc(0)" calls.
(write_relocs): Cache value of last symbol looked up, to save
time if the symbol is referred to repeatedly.
(elf_fake_sections): Check only SEC_RELOC flag, not number of relocs.
(assign_section_numbers): Likewise.
1993-07-26 19:27:56 +00:00
Ken Raeburn
b3024965a0 (elfXX_bed): Initialize maxpagesize from ELF_MAXPAGESIZE.
(ELF_MAXPAGESIZE): Default to 1.
1993-07-26 18:46:37 +00:00
Ken Raeburn
d79ab07c4a * libelf.h (struct elf_backend_data): New field, maxpagesize.
(struct elf_obj_tdata): New field, phdr.
1993-07-26 18:44:03 +00:00
Ken Raeburn
109a640b46 (bfd_perform_relocation): Handle 64-bit relocs. 1993-07-26 18:42:09 +00:00
Ian Lance Taylor
a751d66160 * configure.in: Don't look in ${srcdir} for ${target_makefile_frag};
the top level script has already adjusted for it.
1993-07-26 16:11:38 +00:00
Steve Chamberlain
8092d7de16 * srec.c (srec_write_symbols): Get CR LF in the right order. 1993-07-26 15:11:38 +00:00
Jim Kingdon
050110a282 * hosts/vaxbsd.h: Include std-host.h. Don't include <machine/param.h>. 1993-07-26 07:17:30 +00:00
David Edelsohn
8060dd44e2 * bfd.c (bfd_nonrepresentable_section, bfd_undefined_symbol,
bfd_reloc_value_truncated, bfd_reloc_is_dangerous, bfd_assert):
Send error messages to stderr.
1993-07-23 17:23:14 +00:00
Fred Fish
d1f83f4494 * nlm{32,64}-target.h: Remove.
* nlm-target.h:  New file, merged from nlm{32,64}-target.h
	* libnlm.h (NLM_ARCH_SIZE):  Define to ARCH_SIZE.
	* nlm.c (ARCH_SIZE):  Remove define to zero.
	* nlm32-gen.c (ARCH_SIZE):  Define to 32.
	* nlm32-gen.c (JUMP_TABLE_PREFIX):  Define to nlm32.
	* nlm{32,64}-gen.c (nlm-target.h):  Include.
	* targets.c, libnlm.h, nlm.c, nlm{32,64}-gen.c, nlm{32,64}.c,
	nlmcode.h:  Convert prefixes from bfd_nlm<size> to just
	nlm<size>, and use macros select size.
1993-07-22 23:09:07 +00:00
K. Richard Pixley
148e69afc5 * Makefile.in (Makefile): add configure.in, drop redundant
$(srcdir), drop redundant ./
1993-07-22 22:43:07 +00:00
Ian Lance Taylor
3f93362059 Generic HP/UX core file support. 1993-07-22 19:40:46 +00:00
Ian Lance Taylor
a643e6260e * hpux-core.c: New file; backend for HP/UX style core files.
* bfd.c (struct _bfd): Renamed hppa_core_data field to
	hpux_core_data.
	* bfd-in2.h: Updated.
	* hppa.c (make_bfd_asection, hppa_core_file_p,
	hppa_core_file_failing_command, hppa_core_file_failing_signal,
	hppa_core_file_matches_executable_p): Moved into hpux-core.c.
	Removed from target vector.
	* libhppa.h (struct hppa_core_struct and accessor macros): Moved
	into hpux-core.c.
	* targets.c: If HPUX_CORE is defined, add hpux_core_vec to
	target list.
	* config/hp300.mh (HDEFINES): Set to -DHPUX_CORE.
	(HDEPFILES): Set to hpux-core.o.
	* config/hppabsd.mh, config/hppahpux.mh: Likewise.
	* hosts/hp300.h (HOST_HP300HPUX): Define.
	* Makefile.in (OPTIONAL_BACKENDS): Added sco-core.o,
	aix386-core.o, hpux-core.o.
	(sco-core.o, aix386-core.o, hpux-core.o): New dependencies.
1993-07-22 19:39:41 +00:00
Ian Lance Taylor
66a277abe2 * reloc.c (enum complain_overflow): New enumeration with the
various flavours of overflow checking.
	(srtuct reloc_howto_struct): Changed complain_on_overflow field
	from boolean to emum complain_overflow.  Removed obsolete absolute
	field.
	(HOWTO): Removed absolute argument.
	(bfd_perform_relocation): Do overflow checking on all types of
	fields.
	* bfd-in2.h: Updated accordingly.
	* all targets: Updated initialization of reloc howto tables.
1993-07-22 18:03:51 +00:00
Ken Raeburn
10bd43a89c don't use 'template' in C code, so it'll be friendlier to C++ 1993-07-22 01:08:25 +00:00
Fred Fish
8e946a3bde * coff-m68k.c (m68k_howto2rtype): Make arg CONST to match callers. 1993-07-20 23:20:36 +00:00
Fred Fish
af0175cf41 * elfcode.h: Fix several illegal pointer combination warnings for
usages of bfd_alloc and alloca.
1993-07-20 22:42:59 +00:00
Fred Fish
f03b1f0d44 * libnlm.h (nlm_obj_tdata): Rename hidden struct members to avoid
apparent Sun C preprocessor recursion.  Fix access macros.
	* nlmcode.h:  Remove spurious '&' before several array references.
1993-07-20 22:07:39 +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
Ken Raeburn
051cdcb33e * elf32-sparc.c (elf_sparc_howto_table): Don't use "^&" before
function name; it's valid without, and some compilers give
warnings with it there.
1993-07-20 20:26:51 +00:00
Jim Kingdon
d39d83c1be Reflect symmetry changes 1993-07-20 18:12:53 +00:00
Fred Fish
b70cb81eb5 * bfd.c (union tdata): Add nlm_obj_data;
* targets.c (enum target_flavour):  Add bfd_target_nlm_flavour.
1993-07-20 15:30:58 +00:00
Fred Fish
2b87236749 * bfd-in.h: Apply some of the changes that were made to bfd-in2.h. 1993-07-20 15:22:37 +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
Ken Raeburn
32090b8e4f * elf.c, elfcode.h, libelf.h: Serious reorganization.
Deleted `thunk' structure, merged into tdata, duplicate data eliminated.
Rearranged functions, grouping by function.
Broke up many functions in elfcode.h, re-ordered many parts of file writing
to handle unpredictable state of section relocation table as provided by
various applications.
Still needs cleanup: Merge functions back together, split out data structure
with only data that is used only when writing out object file.

* elf.c (bfd_elf_generic_reloc): New function, taken from coff-mips.c.
* elf32-sparc.c (elf_sparc_howto_table): Use it, to work around
bfd_perform_relocation lossage.
1993-07-19 19:12:59 +00:00
Ken Raeburn
2fdca02194 (BFD_LIBS): Include coff-mips.o and coff-msym.o, so that gdb will link.
(ofiles): Don't use sort or uniq; do it with sh constructs.
1993-07-19 18:55:29 +00:00
Jim Kingdon
bea80b013d * coffcode.h: Recognize I386PTXMAGIC.
* aoutf1.h, libaout.h: Add M_386_DYNIX.
	* trad-core.c (TRAD_CORE_USER_OFFSET, TRAD_CORE_STACK_FILEPOS):
	New macros; use it if defined.
	* config/symmetry.mh, hosts/symmetry.h: New files.
1993-07-19 04:55:21 +00:00
Jim Kingdon
c55665ea6e * Rename elf{32,64}-generic.c to *-gen.c for 14 char filenames.
* Makefile.in: Change accordingly.
	(CFILES): Add elf64-gen.c.
1993-07-17 01:37:06 +00:00
Jim Kingdon
d9d9782312 * Rename elf{32,64}-generic.c to *-gen.c for 14 char filenames.
* Makefile.in: Change accordingly.
	(CFILES): Add elf64-gen.c.
1993-07-17 01:28:11 +00:00
Ian Lance Taylor
851f2e3f00 * coff-mips.c: Use MIPS_AOUT_{OZ}MAGIC rather than {OZ}MAGIC. 1993-07-16 16:56:05 +00:00
Ian Lance Taylor
6585e9e347 * coff-m88k.c (howto_table): Corrected bitsize for R_PCR26L from
16 to 26.
1993-07-15 20:06:41 +00:00
Jim Kingdon
89c789f6fa * hppa.c [HOST_HPPABSD]: Use hpux-style core files.
* libhppa.h [HOST_HPPABSD]: Include hpux version of core.h
1993-07-14 20:35:18 +00:00
David Edelsohn
7024033bfb * configure.in: Recognize h8300h-*-*. 1993-07-14 16:32:34 +00:00
Steve Chamberlain
46dd06224b * coff-h8500.c (reloc_processing, rtype2howto): New relocation
type R_H8500_HIGH_16.
	* coff-sh.c (r_imm32): Get the width of the reloc right.
1993-07-13 19:08:25 +00:00
Ken Raeburn
fa088f5074 dtrt wrt v9 for elf64-sparc.c (sigh) 1993-07-13 18:52:44 +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
42b9004e46 make sanitize dtrt wrt v9 1993-07-13 18:39:22 +00:00
Ken Raeburn
b886bef191 Changes to reloc.c, libelf.h, config/sparc-elf.mt. 1993-07-12 14:50:45 +00:00
Ken Raeburn
5284a822d1 regenerated 1993-07-12 14:48:13 +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
Ken Raeburn
cb6d724fb9 (struct elf_obj_tdata): Add field `thunk'. 1993-07-12 14:46:20 +00:00
Ken Raeburn
58acdbd76b (enum bfd_reloc_code_real): Move SPARC_BASE13 and SPARC_WDISP19 to more
appropriate places.
(bfd_perform_relocation): Whitespace changes, more comments.
1993-07-12 14:44:30 +00:00
Ken Raeburn
2d56dfba5d (sparc_reloc_map): Remove duplicate WDISP19 entry. 1993-07-12 14:39:40 +00:00
Ken Raeburn
1bea1b6fa7 Clean v9 stuff from reloc.c and bfd-in2.h also. 1993-07-12 14:37:44 +00:00
Jim Kingdon
a4b6affa7b add file 1993-07-11 23:24:49 +00:00
Jim Kingdon
4d09e8acfb * elfcode.h: Use memset not bzero.
* trad-core.c: Don't include <sys/file.h>.
	* i386linux.h: Include <sys/file.h>.
	* coff-m68k-un.c: new file to handle names with underscores on
	svr3 machines.
	* coff-m68k.c (m68k_rtype2howto): added #ifdef ONLY_DECLARE_RELOCS
	to not duplicate the function in the executable.
	(TARGET_SYM, TARGET_NAME, NAMES_HAVE_UNDERSCORE): new macros needed
	by coff-m68k-un.c.
	* coffcode.h (MC68KBCSMAGIC): case added.
	* targets.c: Add m68kcoffun_vec.
	* configure.host: added support for Bull dpx/2.
	* config/dpx2.mh, hosts/dpx2.h: new files.
	* Makefile.in: added target coff-m68k-un.
1993-07-11 23:23:20 +00:00
Jim Kingdon
6f4d6543da new for dpx2 1993-07-11 22:58:00 +00:00
Jim Kingdon
a40fe908ce * aoutf1.h: Add definition of MACHTYPE_OK. 1993-07-09 05:47:07 +00:00
Jim Kingdon
ce93f56967 * hosts/i386bsd.h: Conditionalize HOST_STACK_END_ADDR on __bsdi__.
i386bsd.c: Remove defines of N_TXT*; the versions in aout64.h should
	be sufficient.  Define TEXT_START_ADDR.
1993-07-08 19:24:29 +00:00
David MacKenzie
481d3f5a1b New file bfdsumm.texi to share with ld. 1993-07-08 17:58:15 +00:00
Ian Lance Taylor
ebd2413529 * aoutx.h (translate_from_native_sym_flags): Removed statep
argument.  Just let an indirect symbol point to the next symbol
	without forcing the next symbol to be undefined.  Changed all
	callers.
	* hp300hpux.c (slurp_symbol_table): Changed call to
	translate_from_native_sym_flags.
	* targets.c: Added hp300hpux_vec.
	* Makefile.in (hp300hpux.o): Added dependencies.
1993-07-07 18:05:06 +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
7e37f9ff25 more prototypes, in libelf.h 1993-07-06 21:14:36 +00:00
Ken Raeburn
72fc67ed29 Several changes: type fixes; prototypes; minimal-bfd work; elf fixes. 1993-07-06 20:48:07 +00:00
Ken Raeburn
fa5ba2170f regenerated 1993-07-06 20:46:32 +00:00
Ken Raeburn
6a3eb9b606 * elfcode.h (elf_read): Delete static declaration, since function has moved.
(elf_map_symbols): Write out section symbols for all sections, for now.
(elf_symbol_from_bfd_symbol): Allow match if both symbols are section symbols
for the same section.
(elf_find_nearest_line): Don't print message, just return false.
1993-07-06 20:43:42 +00:00
Ken Raeburn
789776d7be fill out reloc table 1993-07-06 20:36:42 +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
Ken Raeburn
70e009144e Stricter prototyping, to force type conversions between 64-bit target and
32-bit host values.

* libbfd.c (bfd_xmalloc_by_size_t): New function.
* opncls.c (bfd_cache_init, bfd_open_file): Add prototypes to declarations.
(obstack_chunk_alloc): Use bfd_xmalloc_by_size_t.
(new_bfd): Prototype-style definition, using DEFUN.
(bfd_alloc_grow, bfd_alloc, bfd_zalloc, bfd_realloc): Size argument is type
size_t, not bfd_size_type.
* ieee.c (obstack_chunk_alloc): Use bfd_xmalloc_by_size_t.
* bfd.c (bfd_default_error_trap, bfd_error_trap,
bfd_error_nonrepresentabltrap): Prototypes.
* libbfd-in.h (bfd_alloc, bfd_zalloc, bfd_realloc, bfd_alloc_grow): Adjusted
prototypes for arg type change.
* archive.c (get_elt_at_filepos, do_slurp_bsd_armap, normalize,
do_slurp_coff_armap, bfd_construct_extended_name_table): Prototypes.
1993-07-06 20:20:31 +00:00
Ken Raeburn
defcfb5570 (enum bfd_reloc_code_real): Put simple power-to-two relocs together, and add
64-bit versions.  Also add sparc v9 reloc types.
(bfd_generic_get_relocated_section_contents): Argument to alloca is size_t.
1993-07-06 19:29:36 +00:00
David Edelsohn
a76b3e14b1 * cpu-h8300.c (h8300_scan): Fix parsing of architecture string. 1993-07-05 23:50:15 +00:00
Jim Kingdon
bb552c64cf * Makefile.in (clean): Remove bfd.h and stmp-bfd.h.
(realclean): Remove generated headers.
1993-07-02 23:57:52 +00:00
Ian Lance Taylor
3de08d72db * hosts/std-host.h: Removed declarations of printf, fprintf,
fcntl, fread and fwrite.  They are all error prone for one reason
	or another.  Changed declaration of memchr from char * to PTR.
1993-07-02 17:38:16 +00:00
Ian Lance Taylor
125d719751 * configure.in (mips-*-riscos*): New target; use riscos.
* configure.host (mips-*-riscos*): New host; use riscos.
1993-07-02 16:46:48 +00:00