Commit Graph

1218 Commits

Author SHA1 Message Date
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