Commit graph

1147 commits

Author SHA1 Message Date
Peter Schauer
3e0b555420 * sunos.c (sunos_read_dynamic_info): Assume that dynamic info
is always located at the start of the data section to allow
	recovery of the dynamic info from a stripped executable.
	* ecoff.c (ecoff_styp_to_sec_flags):  Handle STYP_PDATA, STYP_XDATA
	and STYP_COMMENT.
1994-03-11 09:03:07 +00:00
Jim Kingdon
d7fb453182 * libbfd-in.h: Remove alloca cruft. It was missing some necessary
cruft (like the #pragma alloca for AIX).
	In addition to that problem, the C alloca calls xmalloc, which
	means checking for being out of memory can't work right.  The
	following changes remove all uses of alloca from BFD.
	* hosts/solaris2.h: Remove alloca cruft.
	* som.c: Replace alloca with a fixed size auto array.
	* aoutx.h, elfcode.h, nlmcode.h, bout.c, coff-alpha.c, ecoff.c,
	ecofflink.c, elf32-hppa.c, elf32-mips.c, linker.c, reloc.c, som.c,
	sunos.c: Replace alloca with malloc and appropriate error checking and
	freeing.
	* linker.c: Replace alloca with obstack_alloc.
	* libbfd.h: Rebuilt.
1994-03-10 02:33:01 +00:00
Jim Kingdon
80425e6c82 * libbfd-in.h: Remove alloca cruft. It was missing some necessary
cruft (like the #pragma alloca for AIX).
	In addition to that problem, the C alloca calls xmalloc, which
	means checking for being out of memory can't work right.  The
	following changes remove all uses of alloca from BFD.
	* hosts/solaris2.h: Remove alloca cruft.
	* som.c: Replace alloca with a fixed size auto array.
	* aoutx.h, elfcode.h, nlmcode.h, bout.c, coff-alpha.c, ecoff.c,
	ecofflink.c, elf32-hppa.c, elf32-mips.c, linker.c, reloc.c, som.c:
	Replace alloca with malloc and appropriate error checking and
	freeing.
	* linker.c: Replace alloca with obstack_alloc.
	* libbfd.h: Rebuilt.
1994-03-10 02:09:10 +00:00
Ian Lance Taylor
1404c3656d * coff-mips.c (mips_relocate_section): Handle MIPS_R_LITERAL like
MIPS_R_GPREL.
1994-03-08 20:11:44 +00:00
Peter Schauer
802f4fe2f7 Add lost lines to previous ChangeLog entry. 1994-03-07 21:38:41 +00:00
Peter Schauer
25677b5b30 * elf32-hppa.h, elfcode.h: Replace uses of Elf*_Half, Elf*_Word,
Elf*_Off typedefs by their expansion, the typedefs have been
	removed from include/elf/internal.h.
1994-03-05 22:41:41 +00:00
Jeff Law
7b5f6e48f1 * som.h (_PA_RISC_ID): Treat HOST_HPPAOSF just like HOST_HPPABSD. 1994-03-04 04:04:48 +00:00
Jim Kingdon
baf200d479 * configure.host: Recognize i[34]86-sequent-*.
* trad-core.c (trad_unix_core_file_p): A non-zero, not zero,
	return from bfd_seek indicates an error.
	New macro TRAD_CORE_DSIZE_INCLUDES_TSIZE to replace
	TRAD_CORE_STACK_OFFSET.
	* hosts/symmetry.h: Define TRAD_CORE_DSIZE_INCLUDES_TSIZE and
	TRAD_CORE_USER_OFFSET but not HOST_STACK_OFFSET.
1994-03-03 02:38:24 +00:00
Jeff Law
4e64845ca5 * som.[ch]: Do not include libhppa.h in som.c, instead include
it in som.h.

        * elf32-hppa.[ch]: Do not include libhppa.h in elf32-hppa.c, instead
        include it in elf32-hppa.h.
1994-03-02 23:04:29 +00:00
Jeff Law
98ecc94548 * som.c (log2): Return -1 on error rather than aborting.
(setup_sections): Bubble up an error from log2.
1994-03-02 20:32:10 +00:00
Jeff Law
44fd66228a * som.c (hppa_som_gen_reloc_type): Use correct enum type for
field parameter.
        (bfd_som_set_section_attributes): Use unsigned int rather than
        unsigned char to avoid GNU-C extensions.
        (bfd_som_attach_aux_hdr): Return a boolean to indicate success
        or failure rather than aborting on failure.

        * som.h (bfd_som_set_section_attributes): Fix prototype to match
        som.c changes.
        (bfd_som_attach_aux_hdr): Add prototype.
        (hppa_som-gen_reloc_type): Likewise.

        * elf32-hppa.c: Add a couple casts to make HP compiler happy.
        (hppa_look_for_stubs_in_section): Do not return false on failure
        until rest of code is ready to handle it.  Abort for now.
1994-03-02 19:59:03 +00:00
Jim Kingdon
d1f8b18147 * bfd-in2.h: Rebuilt. 1994-03-02 02:36:07 +00:00
Kung Hsu
bb37e7161e Modified Files:
ChangeLog i386os9k.c Makefile.in

        * i386os9k.c: use new functions bfd_set_error and bfd_get_error.
        * Makefile.in: delete an extra blank.
1994-03-01 21:39:28 +00:00
Kung Hsu
85cc33c754 Modified Files:
ChangeLog configure.in

       * configure.in : Add i396os9k_vec.
1994-03-01 21:09:17 +00:00
Kung Hsu
5143c305dd Modified Files:
ChangeLog
1994-03-01 00:00:06 +00:00
Kung Hsu
2f88343dbe Modified Files:
ChangeLog targets.c Makefile.in cache.c
Added Files:
	i386os9k.c

        * i386os9k.c : new file to handle os9k format bfd.
        * Makefile.in : Handle new file i386os9k.c
        * bfd-in2.h : Add bfd_target_os9k_flavour.
        * targets.c : Add bfd_target_os9k_flavour and i386os9k_vec.
        * cache.c : Initialize cache_sentinel to 0.
1994-02-28 23:49:08 +00:00
Jeff Law
f3b477bec4 * elf32-hppa.c (mismatches, retval_mismatches): Fix mismatch
action in case where caller specified no argument relocation.
        (hppa_elf_build_linker_stub): Try again to get the sym_ptr_ptr
        right in the original relocation and the stub's relocation.
1994-02-28 04:25:14 +00:00
Jeff Law
6e58a4e5db * elf32-hppa.h (hppa_look_for_stub_in_section): Fix typo. Delete
unused symbols argument.

        * elf32-hppa.c (hppa_elf_stub_reloc): Accept asymbol ** rather
        than asymbol * for original target symbol.  All callers changed.
        Set reloc->sym_ptr_ptr appropriately.
        (hppa_elf_build_linker_stub): Set reloc->sym_ptr_ptr correctly.
        (hppa_elf_look_for_stubs_in_section): No longer need symbols
        argument.  Use the output symbols when canonicalizing the relocs,
        creating them if necessary.

        * linker.c (_bfd_generic_link_output_symbols): Do not rebuild/clobber
        the output symbols if they already exist.
1994-02-28 00:32:14 +00:00
Stan Shebs
fdfe2d1466 Sun Feb 27 15:22:36 1994 Stan Shebs (shebs@andros.cygnus.com)
* targets.c (BFD_SEND, BFD_SEND_FMT): Add debugging versions that
	check all the pointer dereferences.  Enabled via DEBUG_BFD_SEND.
	* bfd-in2.h: Rebuilt.
1994-02-27 23:45:18 +00:00
Stan Shebs
4c8d6c9f4f Sun Feb 27 15:22:36 1994 Stan Shebs (shebs@andros.cygnus.com)
* srec.c (hex_value): Always set to a size of 256 bytes.
	(srec_init): Cosmetic changes.
1994-02-27 23:28:48 +00:00
Jeff Law
e08b9ad7a1 * elf32-hppa.c: Second half of major cleanup. More comments,
PARAMize and staticize rest of functions.  Delete unused
	functions.  Delete unused/unnecessary arguments to some functions.
	Group static vars together.  Abort for bad errors until we have
	error code propogation working.  Work on spacing and indention.
	Add FIXMEs for unresolved problems.  Use enums rather than
	#defines for lots of things.  Merge two functions which build
	linker stubs into a single function (so they can easily share a
	ton of common code).
1994-02-27 19:20:44 +00:00
Ian Lance Taylor
68241b2b3f * aoutx.h, archive.c: Add casts to avoid warnings from SVR4 cc.
* ecoff.c, ecofflink.c, ecoffswap.h, srec.c: Likewise.
	* elf32-i386.c: Likewise.
	* elfcode.h (bfd_section_from_shdr): Make i unsigned; remove old
	#if 0 code.
	(elf_write_phdrs): Make i unsigned.
	(map_program_segments): Make i and n_left unsigned.
	(assign_file_positions_except_relocs): Make i unsigned.
	(write_shdrs_and_ehdr): Make count unsigned.
	(assign_file_positions_for_relocs): Make i unsigned.
	(NAME(bfd,elf_write_object_contents)): Make count unsigned.
	(section_from_elf_index): Make index argument unsigned.
1994-02-26 18:25:23 +00:00
Ian Lance Taylor
96db31875e Various entries. 1994-02-26 05:38:11 +00:00
Jeff Law
f5bfdacd47 * libhppa.h (hppa_rebuild_insn): Moved here from elf32-hppa.c.
* elf32-hppa.h (elf_hppa_tc_symbol): Add new arguments.
        (elf_hppa_tc_make_sections): Likewise.
        (elf_hppa_final_processing): Add extern decl.

        * elf32-hppa.c: First half of major cleanup.  Add/cleanup lots of
        comments.  PARAMize some static functions.  Delete unused functions.
        Delete unused/unnecessary arguments to many functions.  Group
        static vars together.  Collapse common case statements together
        in many places.  Use default case when possible instead of listing
        each case separately.  Abort for bad errors until we get error
        code propogation working.  Work on spacing and indention problems.
        Add FIXMEs for some unresolved problems.  Delete hopelessly broken
        COMPLEX relocation support (it's never used anyway).
        (hppa_elf_rebuild_insn): Delete.  Moved into libhppa.h.
        (elf_hppa_tc_symbol): Accept and use new arguments (symext chains).
        (elf_hppa_tc_make_sections): Likewise.
1994-02-26 04:58:57 +00:00
Jeff Law
43ebdfcf4e * format.c (bfd_check_format_matches): Initialize matching_vector
to keep gcc -Wall quiet.

        * elfcode.h (elf_slurp_reloca_table): Fix typo.
1994-02-26 03:41:36 +00:00
Jeff Law
d643978558 * som.c (som_get_symtab_upper_bound): Use "sizeof (asymbol *)"
not "sizeof (som_symbol_type *)".

        * elfcode.h (elf_get_symtab_upper_bound): Use "sizeof (asymbol *)"
        not "sizeof (asymbol").  Opps.
1994-02-26 00:39:03 +00:00
Ian Lance Taylor
fbb8fe5c6e * bfd.c (bfd_get_gp_size): Can't return gp value on an archive.
(bfd_set_gp_size):  Can't set gp value on an archive.
1994-02-25 21:20:18 +00:00
Steve Chamberlain
5e80812667 * srec.c (pass_over): Don't skip too many characters when
end of line seen.
1994-02-25 21:09:09 +00:00
Ian Lance Taylor
626f883f94 * ecoff.c (ecoff_sizeof_headers): Align result to 16 byte
boundary.
1994-02-25 19:42:43 +00:00
Peter Schauer
a69b39f0c5 * elfcode.h (elf_core_file_p): Check for core file e_machine match
like in elf_object_p.
1994-02-24 12:37:43 +00:00
Jeff Law
2e7b92cfa9 * elfcode.h (alloca): Delete declaration. 1994-02-24 04:00:30 +00:00
Jeff Law
4f42757e38 * som.c (som_prep_headers): Use CPU_PA_RISC1_0 for magic
number rather than HP9000S800_ID.  Note som.c is careful
        to make sure CPU_PA_RISC1_0 is always defined.
1994-02-24 02:31:01 +00:00
Ian Lance Taylor
2f0deb19eb * ecofflink.c (ecoff_write_symhdr): Set symhdr->magic here.
* ecoff.c (ecoff_write_object_contents): Make sure .bss section
	ends on a page boundary if there is no symbol table.
	(ecoff_bfd_final_link): Don't set symhdr->magic here.
1994-02-22 04:25:43 +00:00
Ian Lance Taylor
aaca79a831 * hosts/hp300.h: Include <stdlib.h>; don't declare free. 1994-02-22 01:51:38 +00:00
Ian Lance Taylor
2ab0b7f3e3 * som.c (som_bfd_count_ar_symbols): Use a pointer and alloca
rather than an array of variable size.
	(som_bfd_fill_in_ar_symbols): Likewise.
	(som_bfd_ar_write_symbol_stuff): Likewise.
1994-02-22 00:01:34 +00:00
Stan Shebs
891dc727a1 Mon Feb 21 10:12:02 1994 Stan Shebs (shebs@andros.cygnus.com)
* Makefile.in (targets.o, archures.o): Use ALL_CFLAGS to supply
	flags to explicit compile actions.
1994-02-21 18:17:21 +00:00
Ian Lance Taylor
22a71fef07 * coff-alpha.c (alpha_relocate_section): Rewrite mask and shift
operation to avoid OSF 1.3 cc bug.
	* ecoff.c (ecoff_write_object_contents): Make text_size, data_size
	and bss_size bfd_size_type instead of unsigned long.  Make
	text_start and data_start bfd_vma instead of unsigned long.
	* ecofflink.c (ecoff_add_string): Remove incorrect cast of return
	value.
1994-02-21 17:56:38 +00:00
Ian Lance Taylor
037ce95adb * linker.c (_bfd_generic_link_add_archive_symbols): Consider
symbols in the order they appear in the archive map.
1994-02-21 00:18:57 +00:00
Peter Schauer
3a1de3cc03 * coff-alpha.c (reloc_nil): Add forward declaration, add missing
error_message argument.
	* coff-sparc.c (bfd_coff_generic_reloc):  Add forward declaration,
	add missing error_message argument.
	* mipsbsd.c (mips_fix_hi16_s):  Add forward declaration, add missing
	error_message argument.
1994-02-19 11:29:48 +00:00
Ian Lance Taylor
99ec1f66c1 start-sanitize-powerpc-netware
Support for PowerPC NetWare.
	* config.bfd (powerpc-*-netware*): New target; use ppc-nlm.
	* config/ppc-nlm.mt: New file.
	* configure.in (nlm32_powerpc_vec): New target vector; use
	nlm32-powerpc.o, nlm32.o, nlm.o.
	* targets.c (nlm32_powerpc_vec): Declare.
	* Makefile.in (BFD32_BACKENDS): Add nlm32-powerpc.o.
	(CFILES): Should add nlm32-powerpc.c, but didn't, because the
	dependencies can't be sanitized.
	end-sanitize-powerpc-netware

	Initial support for PowerPC ELF.  Done without an ABI, and
	probably to be changed when I get an ABI.
	* config.bfd (powerpc-*-sysv4*): New target; use ppc-elf.
	* config/ppc-elf.mt: New file.
	* configure.in (bfd_elf32_powerpc_vec): New target vector; use
	elf32-powerpc.o, elf32.o, elf.o.
	* elf32-powerpc.c: New file.
	* elfcode.h (prep_headers): Add bfd_arch_powerpc case.
	(elf_set_arch_mach): Likewise.
	* targets.c (bfd_elf32_powerpc_vec): Declare.
	* Makefile.in (BFD32_BACKENDS): Add elf32-powerpc.o.
	(CFILES): Add elf32-powerpc.c.
	Rebuilt dependencies.
1994-02-18 17:09:13 +00:00
Ian Lance Taylor
42f62ead47 Various entries. 1994-02-17 20:56:49 +00:00
David MacKenzie
d1ad85a6e6 * bfd.c (bfd_get_error, bfd_set_error): New functions.
(bfd_error): Make static.
	(bfd_error_type): Renamed from bfd_ec.  Prepend "bfd_error_" to
	all values.
	* bfd-in2.h: Regenerated.
	* aix386-core.c, aout-adobe.c, aout-encap.c, aout-target.h,
	aoutf1.h, aoutx.h, archive.c, archures.c,
	bfd.c, bout.c, cache.c, coff-alpha.c, coff-mips.c,
	coff-rs6000.c, coffcode.h, coffgen.c, core.c, ctor.c,
	ecoff.c, ecofflink.c, elf.c, elf32-hppa.c, elf32-mips.c,
	elfcode.h, format.c, hash.c, hp300hpux.c, hppabsd-core.c,
	i386lynx.c, ieee.c, libbfd.c, libelf.h, linker.c,
	lynx-core.c, nlm.c, nlm32-alpha.c, nlm32-i386.c,
	nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c,
	ptrace-core.c, reloc16.c, rs6000-core.c, section.c, som.c,
	srec.c, sunos.c, syms.c, targets.c, tekhex.c,
	trad-core.c: Change callers.
1994-02-17 18:08:41 +00:00
Jeff Law
7430a99137 * som.c: Remove FIXMEs for things which have been dealt with. 1994-02-16 06:28:25 +00:00
Ken Raeburn
54196ea170 i960-bout linker fixes, i960 coff config changes 1994-02-16 01:00:57 +00:00
Jeff Law
c6cdb69ae4 * som.c (som_bfd_prep_for_ar_write): Iterate through the SOM
symbols, not the BFD symbols.
        (som_bfd_ar_write_symbol_stuff): Likewise.
1994-02-15 17:01:39 +00:00
Jeff Law
24a1f6a05f * som.c (som_slurp_symbol_table): Do not die if a BFD doesn't
have any symbols.
1994-02-15 07:48:56 +00:00
Jeff Law
6e033f8639 * Finish basic read-write support for SOM archive libraries. Bugs
surely remain as this hasn't been tested all that much.
	* som.c (SOM_LST_HASH_SIZE, SOM_LST_MODULE_LIMIT): Define.
	(struct som_misc_symbol_info): New structure to hold info necessary
	to build both normal and library symbol tables.
	(som_derive_misc_symbol_info): New function to derive info necessary
	to build both normal and library symbol tables.
	(som_build_and_write_symbol_table): Use new function to derive misc
	symbol information.
	(som_slurp_symbol_table): Update backend private data for symbols
	appropriately.
	(som_bfd_prep_for_ar_write): New function.
	(som_bfd_ar_symbol_hash): New function.
	(som_bfd_ar_write_symbol_stuff): New function.
	(som_write_armap): Flesh out.
	(som_vec): Fix ar padding character.

	* som.c: Consistently use memset rather than bzero.
1994-02-15 07:05:04 +00:00
Stu Grossman
5cf354ef0e * hosts/rs6000lynx.h: Create this to enable Lynx host support. 1994-02-15 01:29:26 +00:00
Stu Grossman
8b8ddedb93 * coff-rs6000.c: Add Lynx core file support, use HOST_AIX, where
appropriate.
	* rs6000-core.c:  Use HOST_AIX instead of COREFILES_PLEASE.
	* config/rs6000.mh:  Remove defs of ARCHIVES_PLEASE and
	COREFILES_PLEASE.
	* config/rs6000lynx.mh:  Turn on Lynx core file support.
	* hosts/rs6000.h:  #define HOST_AIX.
1994-02-15 01:28:16 +00:00
Jeff Law
50c5c4ad12 * som.h (som_symbol_data): Safely access backend private data
for BFD symbols.  All callers changed.
1994-02-14 06:15:00 +00:00
Jeff Law
3c37f9ca0c * som.c (som_bfd_count_ar_symbols): New helper function.
(som_bfd_fill_in_ar_symbols): New helper function.
        (som_slurp_armap): New function to read a SOM LST.
1994-02-13 23:34:52 +00:00
Jeff Law
6863eb4b74 * som.h: Include <lst.h> and <ar.h>. 1994-02-13 22:30:51 +00:00
Jeff Law
5e829a3440 * elfcode.h (elf_map_symbols): Fix typo.
(write_object_contents): Check return values from prep_headers and
        elf_compute_section_file_positions.
        (set_section_contents): Likewise.
1994-02-13 06:36:41 +00:00
David MacKenzie
a15691a56e * archive.c (normalize) [VMS]: Call malloc, not bfd_xmalloc.
(bfd_construct_extended_name_table): Check result of normalize.
1994-02-12 00:59:26 +00:00
David MacKenzie
9783e04a64 Make all callers of malloc or realloc (including via obstacks)
check the result for NULL.  Most set bfd_error to no_memory and
	return in that case; a few are harder to fix, and are marked
	with "FIXME <return type>".

	* elf32-hppa.c (hppa_elf_build_arg_reloc_stub
	hppa_elf_build_long_branch_stub):  Check bfd_make_empty_symbol return.
	* linker.c (_bfd_generic_link_output_symbols
	_bfd_generic_link_write_global_symbol): Ditto
	* section.c (bfd_make_section_anyway): Ditto.

	* tekhex.c (find_chunk tekhex_mkobject): Check bfd_alloc.
	(first_phase): Ditto.  FIXME void
	(tekhex_make_empty_symbol): Check bfd_zalloc.

	* sunos.c (sunos_read_dynamic_info): Check bfd_zalloc.
	(MY(read_dynamic_symbols) MY(read_dynamic_relocs)): Check bfd_alloc.

	* stringhash.c (_bfd_stringtab_hash_newfunc): Check bfd_hash_allocate.

	* srec.c: Indent.
	(fillup_symbols): Check bfd_alloc.  FIXME void
	(srec_mkobject srec_get_section_contents
	srec_set_section_contents): Check bfd_alloc.
	(srec_make_empty_symbol): Check bfd_zalloc.

	* som.c (hppa_som_gen_reloc_type): Check bfd_alloc_by_size_t.
	(make_unique_section): Check bfd_alloc.
	(som_new_section_hook): Check bfd_zalloc.
	(bfd_som_attach_aux_hdr): Ditto.  FIXME void

	* rs6000-core.c (rs6000coff_core_p): Check bfd_zalloc.

	* osf-core.c (osf_core_make_empty_symbol): Check bfd_zalloc.
	(osf_core_core_file_p): Check bfd_alloc.

	* oasys.c (oasys_slurp_symbol_table oasys_archive_p
	oasys_mkobject oasys_object_p oasys_new_section_hook
	oasys_set_section_contents): Check bfd_alloc.
	(oasys_slurp_section_data): Check bfd_zalloc and bfd_alloc.
	(oasys_make_empty_symbol): Check bfd_zalloc.

	* nlmcode.h (nlm_make_empty_symbol): Check bfd_zalloc.
	(nlm_slurp_symbol_table): Check bfd_zalloc and bfd_alloc.

	* nlm32-sparc.c (nlm_sparc_read_import): Check bfd_alloc.

	* nlm32-i386.c (nlm_i386_read_import): Check bfd_alloc.

	* nlm32-alpha.c (nlm_alpha_read_import): Check bfd_alloc.

	* linker.c (_bfd_link_hash_newfunc
	(generic_link_hash_newfunc
	(archive_hash_newfunc
	(_bfd_generic_link_add_one_symbol): Check bfd_hash_allocate.
	(_bfd_generic_final_link
	(_bfd_generic_link_output_symbols
	(default_indirect_link_order): Check bfd_alloc.
	(bfd_new_link_order): Check bfd_alloc_by_size_t.

	* irix-core.c (irix_core_make_empty_symbol): Check bfd_zalloc.

	* ieee.c: Indent.
	(read_id get_symbol get_section_entry ieee_archive_p ieee_object_p
	ieee_slurp_section_data ieee_new_section_hook): Check bfd_alloc.
	(do_one): Check bfd_alloc.  Return a boolean.
	(ieee_slurp_section_data): Check it.
	(init_for_output): Check bfd_alloc.  Return a boolean.
	(ieee_set_section_contents): Check it.
	(do_with_relocs):  Check bfd_alloc.  Return a boolean.
	(ieee_bfd_debug_info_accumulate): Ditto.  FIXME void.
	(ieee_mkobject): Check bfd_zalloc.
	(ieee_make_empty_symbol): Check bfd_zmalloc.

	* hpux-core.c (hpux_core_make_empty_symbol): Check
	bfd_zalloc.

	* hppabsd-core.c (hppabsd_core_make_empty_symbol): Check
	bfd_zalloc.
	(hppabsd_core_core_file_p): Check bfd_zalloc.

	* hp300hpux.c (MY(slurp_symbol_table)): Check bfd_alloc.

	* elfcode.h (elf_new_section_hook): Check bfd_alloc.
	(bfd_section_from_phdr): Ditto.
	(write_relocs): Ditto.  FIXME void
	(elf_map_symbols assign_section_numbers map_program_segments):
	Ditto.  Return a boolean.
	(swap_out_syms): Ditto.  Check elf_map_symbols.
	(elf_slurp_symbol_table): Check bfd_zalloc.
	(elf_slurp_reloca_table): Check bfd_alloc.
	(elf_slurp_reloc_table): Ditto.
	(elf_compute_section_file_positions): Check assign_section_numbers.
	(assign_file_positions_except_relocs): Return a boolean.
	Check map_program_segments.
	(elf_compute_section_file_positions): Check it.

	* elf32-mips.c (mips_elf_final_link): Check bfd_alloc.

	* elf32-hppa.c (hppa_elf_stub_branch_reloc): Check bfd_zmalloc and
	realloc.
	(hppa_elf_stub_reloc): Ditto.
	(hppa_elf_build_arg_reloc_stub): Check bfd_zalloc.
	(hppa_elf_build_long_branch_stub): Ditto.
	(elf32_hppa_backend_symbol_table_processing): Ditto.

	* ecoff.c (ecoff_set_symbol_info): Check bfd_alloc.  Return a boolean.
	(ecoff_slurp_symbol_table): Check it.
	(ecoff_slurp_armap): Check bfd_alloc.
	(ecoff_write_armap): Check bfd_zalloc.
	(ecoff_link_hash_newfunc): Check bfd_hash_allocate and
	_bfd_link_hash_newfunc.
	(ecoff_link_add_externals): Check bfd_alloc.

	* ctor.c (bfd_constructor_entry): Check bfd_alloc.

	* coffgen.c (coff_real_object_p): Check bfd_alloc.
	(coff_renumber_symbols): Check bfd_alloc_by_size_t.  Return a boolean.
	(coff_write_symbol): Check bfd_alloc.  FIXME int
	(coff_write_linenumbers): Check bfd_alloc.  Return a boolean.
	(coff_section_symbol): Check bfd_alloc_by_size_t.
	(coff_get_normalized_symtab): Check bfd_alloc.
	(coff_bfd_make_debug_symbol): Check bfd_zalloc.
	* libcoff-in.h: Change decls of coff_renumber_symbols,
	coff_write_linenumbers.
	* libcoff.h: Rebuilt.
	* coffcode.h (coff_write_object_contents): Check
	coff_renumber_symbols, coff_write_linenumbers.

	* coffcode.h: Indent.
	(coff_add_missing_symbols): Check bfd_alloc_by_size_t.  Return a
	boolean.
	(coff_write_object_contents): Check it.

	* coff-alpha.c (alpha_relocate_section): Check bfd_alloc.
	* coff-mips.c (mips_relocate_section): Ditto.

	* archive.c (bfd_slurp_bsd_armap_f2): Check bfd_alloc value.
	(do_slurp_bsd_armap): Ditto.
	(compute_and_write_armap): Check bfd_realloc value.

	* aoutx.h (translate_from_native_sym_flags): Check bfd_alloc
	return value.  Return boolean value.
	(NAME(aout,make_empty_symbol)): Check bfd_zalloc return value.
	(NAME(aout,slurp_symbol_table)): Check bf_alloc and bfd_zalloc
	return value.
	(add_to_stringtab): Ditto.  FIXME void
	(aout_link_hash_newfunc): Check bfd_hash_allocate return value.
	(aout_link_add_symbols): Check bfd_alloc value.
	(translate_symbol_table): Check translate_from_native_sym_flags.
	* hp300hpux.c (MY(slurp_symbol_table)): Ditto.
	* aoutx.h (aout_link_hash_newfunc): Check _bfd_link_hash_newfunc.

	* opncls.c (bfd_zalloc bfd_realloc): Check result of bfd_alloc.

	* opncls.c (obstack_chunk_alloc): Define as malloc, not
	bfd_xmalloc_by_size_t.
	(_bfd_new_bfd): Check obstack_begin for 0 return.

	* ieee.c (obstack_chunk_alloc): Define as malloc, not
	bfd_xmalloc_by_size_t.
	(ieee_archive_p): Check obstack_begin for 0 return and
	obstack_finish for NULL return.

	* hash.c (obstack_chunk_alloc): Define as malloc, not
	bfd_xmalloc_by_size_t.
	(bfd_hash_table_init_n): Check obstack_begin for 0 return and
	obstack_finish for NULL return.
	(bfd_hash_lookup): Check obstack_alloc for NULL return.

	* ecofflink.c (obstack_chunk_alloc): Define as malloc, not
	bfd_xmalloc_by_size_t.
	bfd_ecoff_debug_accumulate
	bfd_ecoff_debug_accumulate_other): Check obstack_alloc.
	(add_file_shuffle add_memory_shuffle): Check obstack_alloc for
	NULL return.  Return boolean, not void.
	(bfd_ecoff_debug_init): Check obstack_begin for 0 return.
	(bfd_ecoff_debug_accumulate): Check add_file_shuffle
	and add_memory_shuffle return.
	(string_hash_newfunc): Check bfd_hash_allocate and bfd_hash_newfunc.
	(bfd_ecoff_debug_accumulate): Check bfd_alloc.
	(ecoff_add_string): Check add_memory_shuffle return.

	* libbfd-in.h (xmalloc, bfd_xmalloc, bfd_xmalloc_by_size_t):
	Remove decls.
	* libbfd.h: Rebuilt.
1994-02-12 00:45:54 +00:00
Stu Grossman
30e441ca45 * configure.host: Add Lynx/rs6000 support.
* config/i386-nlm.mt:  Enable a.out file support.
	* config/rs6000lynx.mh:  Lynx/rs6000 host support.
1994-02-11 23:39:38 +00:00
Ian Lance Taylor
5ee3886b48 * archive.c (compute_and_write_armap): Rewrite somewhat to improve
memory usage.
1994-02-11 22:30:18 +00:00
Stan Shebs
9a793780e5 Fri Feb 11 13:10:42 1994 Stan Shebs (shebs@andros.cygnus.com)
* archive.c: Change all references to '\n' in archive magic
	to '\012', for greater portability.
	* ecoff.c (ecoff_write_armap): Ditto.
1994-02-11 21:18:16 +00:00
Jeff Law
a62dd44f9c * som.c: Cast return values from BFD memory allocation routines to
avoid warnings from the HP compiler.
1994-02-10 05:36:41 +00:00
Ian Lance Taylor
0d634116b2 * coff-alpha.c (alpha_relocate_section): Accept a LITERAL
reloc on an "ldl" instruction too.
1994-02-09 22:17:49 +00:00
Ian Lance Taylor
945f125b45 * coff-rs6000.c (rs6000coff_mkarchive): Return false.
(rs6000_coff_snarf_ar_hdr): Don't declare errno; it's not used.
	Also removed unused variable namelen.
	(rs6000coff_write_armap): Declare orl_count and stridx parameters.
1994-02-09 17:59:32 +00:00
Ken Raeburn
fa965415f5 * coff-alpha.c (reloc_nil): New function.
(alpha_howto_table): Use it as special_function to prevent certain relocs from
being adjusted by bfd_perform_relocation.  IGNORE reloc should be
partial_inplace.
(alpha_ecoff_get_relocated_section_contents): Accept a LITERAL reloc on an
"ldl" instruction too.
1994-02-08 20:58:20 +00:00
Peter Schauer
7c202d3775 * elf32-hppa.c (CURRENT_STUB_OFFSET, hppa_elf_build_arg_reloc_stub,
hppa_elf_build_long_branch_stub):  Cast to char * instead of int
	before performing pointer arithmetic.
1994-02-08 08:57:46 +00:00
Jeff Law
9ed21f0ebf * config.bfd (hppa*-*-osf*): Use bfd_name hppaosf for this
configuration.
        (hppa*-*-*elf*): This configuration used hppa-elf now.

        * som.c: This file is also used for HOST_HPPAOSF.

        * targets.c (bfd_target_vector): Enable som_vec for HOST_HPPAOSF.

        * hosts/hppaosf.h: New host configuration file.

        * config/hppabsd.mt (SELECT_VECS): Add bfd_elf32_hppa_vec as
        BSD handles both SOM and ELF object files.

        * config/hppaosf.mh (HDEFINES): Delete.  No longer needed.
        (RANLIB): Doesn't do anything, define it to be "echo".

        * config/hppaosf.mt: New target makefile fragment for a PA running
        OSF1.
1994-02-08 05:17:01 +00:00
Ian Lance Taylor
66f1cff54b * archures.c (enum bfd_architecture): Added bfd_arch_powerpc.
(archures_init_table): If SELECT_ARCHITECTURES is not defined,
	added bfd_powerpc_arch.
	* bfd-in2.h: Rebuilt.
	* cpu-powerpc.c: New file.
	* Makefile.in (ALL_MACHINES, CFILES): Added cpu-powerpc.c.
	Rebuilt dependencies.
1994-02-08 00:38:00 +00:00
Ian Lance Taylor
bf96913525 * elfcode.h (bfd_section_from_shdr): Get vma and alignment_power
of an SHT_STRTAB section from sh_addr and sh_addralign, rather
	than just setting them to zero.
1994-02-07 20:04:46 +00:00
David MacKenzie
b9d5cdf003 * elfcode.h (prep_headers, swap_out_syms): Check for NULL return
from bfd_new_strtab.
	(elf_compute_section_file_positions): Check for false return from
	swap_out_syms.

	* linker.c (default_indirect_link_order): Check for NULL return
	from bfd_get_relocated_section_contents.

	* syms.c: Make example application in doc call xmalloc, not
	bfd_xmalloc.

	* aoutx.h (NAME(aout,slurp_symbol_table),
	aout_link_get_symbols, NAME(aout,link_hash_table_create)):
	* bout.c (b_out_slurp_reloc_table, b_out_squirt_out_relocs):
	* ecoff.c (ecoff_bfd_link_hash_table_create):
	* ecofflink.c (bfd_ecoff_debug_init):
	* format.c (bfd_check_format_matches):
	* linker.c (_bfd_generic_link_hash_table_create):
	(_bfd_generic_final_link):
	* reloc16.c (bfd_coff_reloc16_relax_section):
	(bfd_coff_reloc16_get_relocated_section_contents):
	* elf32-hppa.c (hppa_elf_build_arg_reloc_stub):
	* elf32-mips.c (mips_elf_final_link):
	* elfcode.h (bfd_new_strtab):
	(bfd_add_2_to_strtab):
	(elf_slurp_symbol_table):
	(elf_corefile_note):
	* libbfd.c (bfd_zmalloc):
	Use malloc and check the result, instead of bfd_xmalloc.
1994-02-07 05:17:21 +00:00
Jim Kingdon
6b054519ff * config.bfd: Put m68*-*-sysv* line after m68*-*-sysv4*. 1994-02-05 20:41:44 +00:00
Peter Schauer
bf430317a5 * srec.c (srec_write_record): Put CONST keyword for "src" before
"unsigned", some compilers don't like it after "unsigned".
	* libcoff.h, libcoff-in.h (bfd_perform_slip):  Rename "value" to
	"val" in prototype declaration because some compilers don't like
	arguments whose names are the same as types.
1994-02-05 13:38:52 +00:00
Ian Lance Taylor
9b39ed6bfa * aoutx.h (aout_link_check_ar_symbols): Correct test for whether
object file defines symbol.  Also, if skipping a symbol, skip the
	second symbol of a N_WARNING or N_INDR symbol as well.
1994-02-05 06:17:36 +00:00
Ian Lance Taylor
d352be4f43 * reloc.c (bfd_perform_relocation): Work around one gross hack
with another: actually look at the target name to avoid the broken
	COFF check.
	(bfd_reloc_code_real_type): Add BFD_RELOC_PPC_B26,
	BFD_RELOC_PPC_BA26 and BFD_RELOC_PPC_TOC16.
	* bfd-in2.h: Rebuilt.
1994-02-05 05:13:59 +00:00
David MacKenzie
6a5439a91f Eliminate arg from bfd_xmalloc_by_size_t macro, allowing
undoing of obstack parts of last change.
1994-02-05 03:02:32 +00:00
David MacKenzie
0ee3427297 * libbfd.c (bfd_zmalloc): Call bfd_xmalloc instead of malloc.
(bfd_xmalloc, bfd_xmalloc_by_size_t): Functions deleted.
	* libbfd-in.h: Define them as macros calling xmalloc and declare
	xmalloc.
	* libbfd.h: Rebuilt.
	* ecofflink.c hash.c ieee.c opncls.c (obstack_chunk_alloc): Define
	to be xmalloc, not bfd_xmalloc_by_size_t.
1994-02-05 02:46:12 +00:00
Ian Lance Taylor
cbc174e7ab * ecofflink.c (bfd_ecoff_debug_externals): If a small undefined
symbol has a value in the ECOFF symbol but not in the BFD symbol,
	keep the value in the ECOFF symbol.  This helps gas.
1994-02-04 04:18:28 +00:00
Ian Lance Taylor
5072b8e530 * linker.c (_bfd_generic_link_output_symbols,
_bfd_generic_link_write_global_symbol): Don't require that all
	references to a common symbol be themselves common symbols.
1994-02-03 23:01:49 +00:00
Ian Lance Taylor
fa2302b8ed * aoutx.h (aout_reloc_index_to_section): Handle N_UNDF. 1994-02-03 21:52:06 +00:00
Jim Kingdon
0324156c66 * bfd-in2.h: Rebuilt. 1994-02-03 04:03:11 +00:00
Jim Kingdon
96ad107bcc * libbfd.c, bfd-in.h, hosts/alphaosf.h, hosts/sparc-ll.h, aoutf1.h,
sparclynx.c, Makefile.in: Change HOST_64_BIT to BFD_HOST_64_BIT.
1994-02-03 03:31:22 +00:00
Ian Lance Taylor
38e1f0cecd * coffswap.h (coff_swap_reloc_out): If RS6000COFF_C, handle type
and size correctly.
	(coff_swap_aux_in): If RS6000COFF_C, change x_csect.x_scnlen to
	x_csect.x_scnlen.l to match change in coff/internal.h.
	(coff_swap_aux_out): Likewise.
1994-02-02 19:35:14 +00:00
Ian Lance Taylor
ebf3b4cd68 * coff-mips.c (mips_ecoff_backend_data), coff-alpha.c
(alpha_ecoff_backend_data): Change casts of aux_in and aux_out
	fields to match yesterday's changes.
1994-02-02 17:40:46 +00:00
Ian Lance Taylor
192d8ee84b * coffcode.h (coff_write_relocs): If SELECT_RELOC is defined, pass
in the internal_reloc itself, not the type.
	* coff-apollo.c, coff-h8300.c, coff-h8500.c, coff-i386.c,
	coff-m68k.c, coff-sh.c, coff-we32k.c, coff-z8k.c: Changed
	definition of SELECT_RELOC accordingly.
1994-02-02 17:36:17 +00:00
Ian Lance Taylor
330595d00b * coffcode.h (bfd_coff_backend_data): Added new arguments to
_bfd_coff_swap_aux_in and _bfd_coff_swap_aux_out: aux index number
	and number of aux entries.
	(bfd_coff_swap_aux_in, bfd_coff_swap_aux_out): Changed
	accordingly.
	* libcoff.h: Rebuilt.
	* coffswap.h (coff_swap_aux_in, coff_swap_aux_out): Accept new
	arguments.  If RS6000COFF_C, only treat C_EXT and C_HIDEXT
	specially if this is the last aux entry.
	* coffgen.c (coff_write_symbol, coff_get_normalized_symtab): Pass
	new arguments to swap_aux functions.
1994-02-01 17:11:56 +00:00
Ken Raeburn
26b572e4d9 Makefile.in (check, installcheck): Identify directory in "no testsuites"
message.
1994-01-31 04:20:00 +00:00
Ken Raeburn
4e8108491b * gen-aout.c (main): Set DEFAULT_ARCH based on preprocessor macros
(only testing for m68k and vax at the moment); do verify that the
	preprocessor didn't trash the arch name inside the string version.
	Don't print out "pagesize =" line that prevents output from
	compiling.  Derive BYTES_IN_WORD and ARCH values from sizeof
	results.
	* Makefile.in (aout-params.h): Pass gen-aout a dummy target name.
1994-01-30 20:30:53 +00:00
Ian Lance Taylor
2edc8357de * aoutx.h (aout_link_write_symbols): Write out correct value for
object file symbol.
1994-01-30 18:29:26 +00:00
Ken Raeburn
098630a0e0 * hosts/vaxbsd.h (HOST_STACK_END_ADDR): Vax BSD doesn't define
KERNBASE, so hard-code 0x80000000 instead.
1994-01-28 23:42:25 +00:00
Ian Lance Taylor
c315696657 * linker.c (generic_link_add_symbol_list): If symbol is common,
set the BSF_OLD_COMMON flag.
1994-01-27 18:56:42 +00:00
David MacKenzie
d6d4e4c3d0 * format.c (bfd_check_format_matches): Put the new entry in the
correct element of matching_vector.
1994-01-26 21:53:55 +00:00
Ian Lance Taylor
8638431e66 * reloc.c (bfd_get_reloc_size): Size of type -2 is 4 bytes, not 2. 1994-01-25 20:48:48 +00:00
Ian Lance Taylor
3b490cdddb * hp300hpux.c (MY(write_object_contents)): Write out the symbols
before writing out the relocs, so that the right symbol indices
	are used.
1994-01-25 18:38:20 +00:00
Ian Lance Taylor
71d58b5976 * archive.c (do_slurp_bsd_armap, bfd_slurp_bsd_armap_f2): Do not
try to overlay the internal carsyms on the external symdefs.  That
	can not work if the size of a host pointer is larger than 4 bytes.
1994-01-25 18:20:50 +00:00
Jim Kingdon
09f7054951 * som.c, som.h (bfd_som_set_section_attributes,
bfd_som_set_subsection_attributes): Change parameters from char
	to int.  Following a prototype with an old-style function definition
	in the presence of widened parameters is a GCC-ism not supported
	by the HP compiler in ANSI mode.
1994-01-25 16:56:24 +00:00
Ian Lance Taylor
a927c32d18 * archive.c: Reindented to GNU standards. 1994-01-25 16:47:50 +00:00
David MacKenzie
f4bd7a8f0e * opncls.c (_bfd_new_bfd, _bfd_new_bfd_contained_in): Add
"_bfd_" to function names.
	* archive.c (_bfd_create_empty_archive_element_shell),
	libbfd-in.h: Change callers.

	* libbfd.c (bfd_zmalloc): Renamed from zalloc.
	* libbfd.c (bfd_add_to_string_table),
	trad-core.c (trad_unix_core_file_p),
	targets.c (bfd_target_list),
	ptrace-core.c (ptrace_unix_core_file_p),
	opncls.c (new_bfd), libbfd-in.h,
	ieee.c (ieee_make_empty_symbol),
	elf32-hppa.c (hppa_elf_stub_branch_reloc),
	(hppa_elf_stub_reloc): Change callers.
	* libbfd.h: Regenerated.

	* archive.c (_bfd_look_for_bfd_in_cache): Add "_bfd_" to name.
	(_bfd_get_elt_at_filepos),
	coff-rs6000.c (rs6000coff_get_elt_at_filepos), libbfd-in.h:
	Change callers.

	* format.c (bfd_check_format_matches), libbfd-in.h, targets.c,
	elfcode.h (elf_object_p): Rename target_vector to bfd_target_vector
	and default_vector to bfd_default_vector.
	* libbfd.h: Regenerated.
1994-01-25 13:25:26 +00:00
Ian Lance Taylor
3f048f7ff9 * coff-alpha.c (alpha_ecoff_object_p): New function. Set size of
.pdata section based on lnnoptr field, not section header.
	(alpha_relocate_section): Don't bother to check if r_symndx >= 0,
	since it is unsigned.
	(ecoffalpha_little_vec): Use alpha_ecoff_object_p rather than
	coff_object_p.
	* ecoff.c (ecoff_new_section_hook): Set alignment_power field of
	.pdata section to 3.
	(ecoff_compute_section_file_positions): Save the size of the
	.pdata section in the line_filepos field, and actually align the
	.pdata section to an alignment power of 4.
	(ecoff_compute_reloc_file_positions): Set output_has_begun after
	calling ecoff_compute_section_file_positions.
	(ecoff_write_object_contents): Set s_lnnoptr for the .pdata
	section from the line_filepos field.  Set vstamp for the optional
	header from the vstamp of the symbolic header.
	(ecoff_bfd_final_link): Set vstamp of the symbolic header to the
	vstamp used by the first object file in the link.
1994-01-25 01:52:48 +00:00
Ian Lance Taylor
a20bdb43f0 * linker.c (generic_link_check_achive_element): Set SEC_ALLOC flag
for a created common section.
	(_bfd_generic_link_add_one_symbol): Likewise.
1994-01-24 23:56:56 +00:00
David MacKenzie
aabda2da07 * format.c (bfd_check_format_matches): New function.
(bfd_check_format): Call it.
	(bfd_matching_formats): Function removed.
	* targets.c: Replace the vector added on Jan 21 with a count of
	entries in default_vector.
	* bfd-in2.h: Regenerated.
1994-01-24 23:33:23 +00:00
Ian Lance Taylor
7a60ed8cb9 * elf32-hppa.c (hppa_elf_gen_reloc_type): Typo (== for =). 1994-01-24 20:26:49 +00:00
Ian Lance Taylor
4991ebb987 * bfd/aoutx.h (aout_link_input_section_std,
aout_link_input_section_ext): Pass additional arguments to
	reloc_overflow callback.
	* coff-alpha.c (alpha_ecoff_get_relocated_section_contents,
	alpha_relocat_section): Likewise.
	* coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
	* coff-h8500.c (extra_case): Likewise.
	* coff-mips.c (mips_relocate_section): Likewise.
	* coff-z8k.c (extra_case): Likewise.
	* elf32-hppa.c (hppa_elf_stub_finish): Likewise.
	* reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
1994-01-24 20:23:18 +00:00
Ian Lance Taylor
1cedfe034e * bout.c (calljx_callback, callj_callback): Use get_value to get
the symbol value and check for undefined symbols.
	(get_value): If the symbol is undefined, look it up in the linker
	hash table.
	(b_out_get_relocated_section_contents): For PCREL24 and PCREL13
	use get_value to get the symbol value and check for undefined
	symbols.
	* reloc16.c (bfd_coff_reloc16_get_value): If the symbol is
	undefined, look it up in the linker hash table.
1994-01-24 18:05:08 +00:00
Ian Lance Taylor
ca1c6bec73 * aoutx.h (translate_symbol_table): The string index 0 has a
special meaning for normal symbols, but not for dynamic symbols.
1994-01-24 17:41:21 +00:00
Stu Grossman
3f2255e7f8 * sparclynx.c: Setup appropriate macros to enable core file
support.
1994-01-22 20:27:55 +00:00
David MacKenzie
3b31740cb2 * targets.c: Add a vector of matching format names.
* format.c (bfd_matching_formats): New function to return it.
	(bfd_check_format): Set it.
	* bfd-in2.h: Regenerated.
1994-01-22 04:28:17 +00:00
David MacKenzie
0f8f509c6a * bfd-in.h: Remove decls of bfd_ec type and error printing functions.
Remove decl of type symclass; wasn't used.
	* bfd.c: Document error handling, including code fragments
	containing the error decls that were in bfd-in.h.
	Remove DEFUNs.
	* bfd-in2.h: Regenerated.
1994-01-22 02:18:02 +00:00
Jim Kingdon
27814aa64e Fix accidental deletion of attribution for kingdon change. 1994-01-21 23:59:26 +00:00
David MacKenzie
3f40d101e6 Restore Jim's last change entry header. 1994-01-21 23:56:44 +00:00
David MacKenzie
74788cf036 * bfd.c: Remove error strings for errors removed below. 1994-01-21 23:48:55 +00:00
Jim Kingdon
4733517b4a Add ChangeLog entry for sef change. 1994-01-21 22:52:45 +00:00
Jim Kingdon
e7cc9a2e9e * sunos.c (MY(read_dynamic_relocs)): Compare info->dynrel with NULL,
not (struct external_nlist *) NULL.  info->dynrel is a PTR, not
	a struct external_nlist *.
1994-01-21 19:14:33 +00:00
David MacKenzie
6de495621b * aoutx.h (translate_to_native_sym_flags), bfd-in.h (bfd_ec),
oasys.c (oasys_write_sections): Rename
	bfd_error_nonrepresentable_section to nonrepresentable_section.
	None of the other bfd error names start with "bfd_error".
	Remove errors symbol_not_found and no_relocation_info, which seem
	to be unused.
	* bfd-in2.h: Regenerated.
1994-01-21 17:50:37 +00:00
Ian Lance Taylor
fcc41f68c4 * bfd.c (bfd_get_gp_size): Added support for ELF. 1994-01-21 06:30:40 +00:00
Ian Lance Taylor
0ee75d02e5 * syms.c (BSF_DYNAMIC): New symbol flag.
(bfd_print_symbol_vandf): Print it.
	* bfd-in2.h: Rebuilt.
	* libaout.h (struct aout_backend_data): New read_dynamic_symbols
	and read_dynamic_relocs fields.
	(struct aoutdata): New dynamic_info field.
	(obj_aout_dynamic_info): New accessor macro.
	* sunos.c (struct sunos_dynamic_info): New structure.
	(sunos_read_dynamic_info, MY(read_dynamic_symbols),
	MY(read_dynamic_relocs)): New functions to read dynamic symbols
	and relocs.
	* aoutx.h (NAME(aout,some_aout_object_p)): If the object is
	dynamically linked, set SEC_RELOC for both the .text and .data
	sections.
	(translate_from_native_sym_flags): Don't set BSF_LOCAL for an
	undefined symbol.
	(translate_symbol_table): New function, split out of
	slurp_symbol_table; set the BSF_DYNAMIC flag appropriately.
	(NAME(aout,slurp_symbol_table)): Read dynamic symbols, if any.
	(NAME(aout,slurp_reloc_table)): Read dynamic relocs, if any.
	(NAME(aout,get_reloc_upper_bound)): Include dynamic reloc count in
	return value.
	* aoutf1.h (NAME(aout,sunos4_write_object_contents)): Don't write
	out dynamic symbols or relocs against reloc symbols, since they
	are already in the .text section and we wouldn't know where to
	write them anyhow.
	(sunos4_aout_backend): Initialize read_dynamic_symbols and
	read_dynamic_relocs fields.
	* aout-target.h (MY(backend_data)): Initialize
	read_dynamic_symbols and read_dynamic_relocs fields.
1994-01-21 06:29:21 +00:00
Ken Raeburn
dc3da58f2c * hosts/alphaosf.h (uint64e_type, uint64_type, int64_type): Delete typedefs,
since HOST_64_BIT will take care of defining them in bfd.h.
1994-01-21 02:00:05 +00:00
Ken Raeburn
7e7fb4a834 updated with alpha changes 1994-01-20 00:07:58 +00:00
Ian Lance Taylor
d7e34f67be * aoutx.h (translate_to_native_sym_flags): Set the type of a
BSF_WARNING symbol to N_WARNING.
1994-01-19 05:05:27 +00:00
Ian Lance Taylor
3a5b50f457 Resolve warning symbols like indirect symbols. 1994-01-19 04:48:37 +00:00
Ian Lance Taylor
53155af199 * aoutx.h (aout_link_add_symbols): Increment sym_hash as well as p
for an indirect or warning symbol.
	(aout_link_write_symbols): Update sym_hash with the target of an
	indirect symbol.  If an indirect symbol is defined, output the
	calculated value and don't output the target symbol.
1994-01-18 21:46:46 +00:00
David MacKenzie
0c205af2c5 * aoutx.h (translate_from_native_sym_flags): Give warning symbols
an (unused) nonzero section value, needed for check below.
1994-01-18 12:05:32 +00:00
David MacKenzie
964affdcf8 * aoutx.h (translate_from_native_sym_flags,
aout_link_add_symbols): Treat N_SET[ABDT] | N_EXT like
	N_SET[ABDT].
1994-01-17 23:21:07 +00:00
Ian Lance Taylor
38a5f510bc * elfcode.h (elf_object_p): If there is a SHT_DYNAMIC section, set
the DYNAMIC flag for the BFD.
	(NAME(bfd_elf,write_object_contents)): Don't try to write out a
	BFD with the DYNAMIC flag set, since we don't generate the program
	header table correctly.
1994-01-14 22:35:41 +00:00
Ian Lance Taylor
75919b3b2f * ecoff.c (ecoff_link_write_external): An ifd can be -1. 1994-01-14 04:10:44 +00:00
Jeff Law
9558d13f84 * som.c (som_set_reloc_info): Provide a default symbol for
relocations which don't actually have an associated symbol.
1994-01-13 22:53:03 +00:00
Jeff Law
3996115456 * som.c (hppa_som_reloc): Add new "error message" argument. 1994-01-13 20:34:25 +00:00
Peter Schauer
3247659731 Enable gdb to write to core files on more core file readers.
* libbfd.c (bfd_generic_set_section_contents):  Remove range check
	for section size, it is already done in bfd_set_section_contents
	with bfd_get_section_size_now.
	* aix386-core.c, hppabsd-core.c, hpux-core.c, irix-core.c,
	osf-core.c, ptrace-core.c, trad-core.c (*_set_section_contents):
	Use bfd_generic_set_section_contents instead of bfd_false.
1994-01-12 21:40:42 +00:00
Ian Lance Taylor
92f345b9e4 * linker.c (default_indirect_link_order): Don't expect space for
output relocations if there aren't any input relocations.
1994-01-12 20:33:30 +00:00
Ian Lance Taylor
c5481a5e52 * aoutx.h (NAME(aout,final_link)): Set a_entry before computing
file offsets.
1994-01-11 20:58:30 +00:00
Ian Lance Taylor
fed872d325 * elfcode.h (swap_out_syms): A common symbol is STT_OBJECT, not
STT_NOTYPE.
1994-01-11 19:39:28 +00:00
Ian Lance Taylor
cf286547ef * ecofflink.c: Extensive changes to compress and merge debugging
information, and to write some of out directly rather than saving
	it in memory.  Several new functions and structures, and new
	arguments to existing functions.
	* ecoff.c (ecoff_compute_reloc_file_positions): Compute
	sym_filepos as well.
	(ecoff_get_extr): Use ifdmap instead of ifdbase.
	(ecoff_write_object_contents): Don't compute sym_filepos here.
	Only output symbols if outsymbols is not NULL.
	(ecoff_bfd_final_link): Adjust for changes in ecoff_debug_info and
	bfd_ecoff_debug functions.  Write out debugging information here.
	(ecoff_final_link_debug_accumulate): Adjust for changes in
	bfd_ecoff_debug functions.
	(ecoff_link_write_external): Use ifdmap rather than ifdbase.
	* elf32-mips.c (mips_elf_read_ecoff_info): Read external symbols
	first, to put them in the first memory buffer.  Clear fdr field.
	(mips_elf_get_extr): Use pointer to unswapped external symbol.
	(mips_elf_final_link): Adjust for changes in bfd_ecoff functions.
	Preserve .text, .data and .bss even if they are empty.  Save
	pointer to unswapped external symbol rather than copying it.
	Don't free up the external symbols.
	* libelf.h (elf_symbol_type): Change mips_extr to PTR.
	* bfd-in.h (bfd_ecoff_debug_init, bfd_ecoff_debug_free): Declare.
	(bfd_ecoff_debug_accumulate): Update declaration.
	(bfd_ecoff_debug_accumulate_other): Rename declaration from
	bfd_ecoff_debug_link_other and update.
	(bfd_ecoff_write_accumulated_debug): Declare.
	* bfd-in2.h: Rebuilt.
	* Makefile.in: Rebuilt dependencies.
1994-01-11 16:23:41 +00:00
Jim Kingdon
b36b8a6e94 * config.bfd: Use ELF, not COFF for m88*-*-dgux*.
Combine m88k-*-* and m88110-*-* cases into m88*-*-*.
1994-01-11 14:13:55 +00:00
Jim Kingdon
2c96ba79c4 * Makefile.in (install): Remove "@" which follows a backslash. In
this position it just causes errors, not suppresses echoes.
1994-01-11 01:54:37 +00:00
Jeff Law
2304e1e878 * som.c (hppa_som_gen_reloc_type): Fix handling of LT and RT
field selectors.
1994-01-10 17:07:52 +00:00
Ken Raeburn
fb4cf140d6 * config/i386-netbsd.mt (SELECT_VECS): Include i386bsd_vec, for compatibility
with 386bsd and netbsd0.8.
1994-01-09 20:30:00 +00:00
David MacKenzie
5330499f72 * aoutx.h (adjust_z_magic): Don't merge the start of bss with the
end of data if they are not contiguous.
1994-01-07 21:33:00 +00:00
David MacKenzie
d44b2ddb59 * aoutf1.h (sunos4_aout_backend): Comment the fields' meanings. 1994-01-07 20:50:57 +00:00
Ian Lance Taylor
a5a835ffd8 * ecoff.c (ecoff_mkobject_hook): Don't set SEC_SHARED_LIBRARY flag
for .reginfo section here.
	(ecoff_new_section_hook): Set it here instead.
1994-01-07 20:43:55 +00:00
Stan Shebs
442da99575 Fri Jan 7 10:29:27 1994 Stan Shebs (shebs@andros.cygnus.com)
* bfd-in.h: (bfd_boolean): Add workaround for systems that also
	define true and false as enums.
	(ALMOST_STDC): Add as alternative to __STDC__.
	* bfd-in2.h: Rebuilt.
	* syms.c (bfd_print_symbol_vandf): Convert a PTR to FILE*.
1994-01-07 19:03:10 +00:00
Ian Lance Taylor
90d58284c1 Various entries. 1994-01-07 01:24:33 +00:00
David MacKenzie
6f56c941ee * aoutx.h (translate_to_native_sym_flags): Catch the case where
there is no output section.
1994-01-06 22:26:18 +00:00
Ian Lance Taylor
559d5074f7 * hp300hpux.c (ARCH_SIZE): Define before including aoutx.h. 1994-01-06 22:18:59 +00:00
Ian Lance Taylor
2f84ec0d97 Various entries. 1994-01-06 20:05:44 +00:00
Stan Shebs
6625a2efec Remove ChangeLog entry, since one change was backed out immediately and
the other never committed.
1994-01-04 00:42:09 +00:00
David MacKenzie
83acd9a218 * aout-target.h (MY(vec)): Add DYNAMIC to mask of object flags.
* aoutf1.h (NAME(aout,sunos4_write_object_contents)):
	If the DYNAMIC flag is set, set it in the exec header.
	* aoutx.h (NAME(aout,some_aout_object_p)): If the object is
	dynamically linked, set the DYNAMIC flag in the BFD.
	* libaout.h (N_SET_DYNAMIC): New macro.
	(N_DYNAMIC): Add missing 0 in mask.
1994-01-04 00:08:53 +00:00
Ian Lance Taylor
85d739444c * bfd-in.h, hash.c: Change bfd_hash_allocate argument from size_t
to unsigned int, because size_t may not be defined in bfd.h.
	* bfd-in2.h: Rebuilt.
1994-01-03 22:42:12 +00:00
Stan Shebs
c91884b377 Mon Jan 3 13:05:08 1994 Stan Shebs (shebs@andros.cygnus.com)
* syms.c (bfd_print_symbol_vandf): Change PTR to FILE *.
	* hosts/irix4.h (exit): Declare properly.
1994-01-03 22:02:48 +00:00
Ian Lance Taylor
8120aa8f45 Entry for making swapping retrieval routines take const argument. 1994-01-03 21:36:02 +00:00
Ian Lance Taylor
2af2b7c4f2 Renamed get_elt_at_filepos to _bfd_get_elt_at_filepos, and made it
non-static.
1994-01-03 18:27:24 +00:00
Ian Lance Taylor
b59f0276fa * libbfd-in.h (struct artdata): Added tdata field.
(_bfd_add_bfd_to_archive_cache): Declare.
	(_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
	* libbfd.h: Rebuilt.
	* archive.c: Cleaned up some more.
	(_bfd_generic_mkarchive, bfd_generic_archive_p): Initialize
	pointer elements of artdata.
	(_bfd_add_bfd_to_archive_cache): Renamed from add_bfd_to_cache.
	(_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
	(get_extended_arelt_filename, get_elt_at_filepos,
	bfd_construct_extended_name_table, bfd_ar_hdr_from_filesystem,
	compute_and_write_armap): Made static.
	* ecoff.c: Some comment changes.
	(ecoff_slurp_armap): Handle rename of snarf_ar_hdr.  Set
	ardata->tdata to raw_armap.
	(ecoff_archive_p): Initialize pointer elements of artdata.
	* coff-rs6000.c (rs6000coff_get_elt_at_filepos): Handle rename of
	add_bfd_to_cache.
1994-01-03 18:05:19 +00:00
Ian Lance Taylor
031534b0e6 * hash.c: Added some documentation. 1994-01-03 16:47:46 +00:00
Jim Kingdon
3f99570ec9 * aout-target.h, netbsd386.c: Replace NO_SWAP_MAGIC with SWAP_MAGIC,
and do the swapping here rather than calling ntohl from the N_*
	macros.  This cleans up assumptions about the size of a host long,
	the existence to ntohl, etc.
1994-01-03 16:16:01 +00:00
David MacKenzie
00fe3f5326 * hosts/i386mach3.h (HOST_SEGMENT_SIZE): Fix value. 1994-01-01 23:39:18 +00:00
Rob Savoye
e38bcbdb72 * config.bfd: Add support for VSTa micro-kernel. It currently uses
i386-aout.
1994-01-01 20:52:24 +00:00
David MacKenzie
f4d7c848df * i386mach3.c (SEGMENT_SIZE): Fix value. 1994-01-01 19:09:51 +00:00
Ian Lance Taylor
728472f170 Minor cleanups suggested by CodeCenter.
* aoutx.h, coffgen.c, ecoff.c, ecofflink.c, elf.c, libbfd.c,
	linker.c, reloc.c, section.c, srec.c: Added /*ARGSUSED*/ as
	appropriate.
	* aoutx.h (struct external_exec): Removed unnecessary declaration.
	(NAME(aout,some_aout_object_p)): Set some tdata pointers to NULL.
	(adjust_z_magic): Removed useless variable data_vma.
	(stringtab_init): Initialize hash_zero.
	(add_to_stringtab): Removed unused fourth argument.
	(NAME(aout,swap_std_reloc_out)): Removed useless variable
	r_addend.
	(aout_link_input_section): Added some casts.
	* archive.c (get_extended_arelt_filename, do_slurp_coff_armap,
	bfd_ar_hdr_from_filesystem, bsd_write_armap, coff_write_armap):
	Minor code rewriting to make it more C like.
	(do_slurp_bsd_armap): Added some casts.
	* ecoff.c (ecoff_write_object_contents): Removed useless variable
	scn_base.
	(ecoff_write_armap): Added some casts.  Use "" rather than "\0".
	* ecofflink.c (bfd_ecoff_write_debug): Added a cast.
	* libaout.h (struct internal_exec): Removed unnecessary
	declaration.
	* linker.c (_bfd_generic_indirect_link_order): Added a cast.
	* opncls.c (new_bfd): Removed a cast.
	* reloc.c (bfd_generic_get_relocated_section_contents): Added
	some casts.
	* srec.c (internal_srec_write_object_contents): Removed useless
	variable bytes_written.
1993-12-31 21:51:05 +00:00
David MacKenzie
696df58f2d * i386mach3.c (N_TXTADDR): Don't define after all.
(TEXT_START_ADDR): Don't include exec header size in value.
1993-12-31 21:11:49 +00:00
David MacKenzie
e450eb45f5 Define N_TXTADDR 1993-12-30 23:48:44 +00:00
Ian Lance Taylor
4c3721d514 Extensive changes to move the bulk of the linker into BFD so that
more efficient backend code can be written for specific object
	files.  Only existing efficient backend is a.out.
	* seclet.c, seclet.h: Removed.
	* hash.c, linker.c, genlink.h: New files.
	* bfd-in.h: Removed bfd_error_vector.  Declared hash table
	structures and functions.
	(JUMP_TABLE): Removed bfd_seclet_link, added
	bfd_link_hash_table_create, bfd_link_add_symbols and
	bfd_final_link.
	* All backends: Changed accordingly.
	* bfd-in2.h: Rebuilt.
	* bfd.c (struct _bfd): Added link_next and archive_pass fields.
	Removed ld_symbols field.
	(bfd_nonrepresentable_section, bfd_undefined_symbol,
	bfd_reloc_value_truncated, bfd_reloc_is_dangerous,
	bfd_error_vector): Removed.
	(bfd_default_error_trap, bfd_error_trap,
	bfd_error_nonrepresentabltrap): Removed.
	(bfd_get_relocated_section_contents): Pass link_info.  Pass
	link_order instead of seclet.  Pass symbols.
	(bfd_relax_section): Pass link_info.
	(bfd_seclet_link): Removed.
	(bfd_link_hash_table_create, bfd_link_add_symbols,
	bfd_final_link): New macros.
	* libbfd-in.h: If __GNUC__ is defined and alloca is not, define
	alloca as __builtin_alloca.  Declare internal linking functions.
	* libbfd.h: Rebuilt.
	* libbfd.c (bfd_seek): Comment out fseek assertion.  It's worked
	for months.
	* reloc.c (reloc_howto_type): Added error_message argument to
	special_function field.  Changed all callers and all definitions.
	(bfd_get_reloc_size): Make argument a const pointer.
	(bfd_perform_relocation): Add error_message argument to hold
	string set if return value if bfd_reloc_dangerous.  Changed all
	callers.
	(_bfd_final_link_relocate, _bfd_relocate_contents): New functions.
	* section.c (asection): Renamed seclets_head and seclets_tail to
	link_order_head and link_order_tail.
	* targets.c (bfd_target): Replaced seclet argument with link_info
	and link_order and symbols arguments in
	bfd_get_relocated_section_contents.  Added symbols argument to
	bfd_relax_section.  Removed bfd_seclet_link.  Added
	bfd_link_hash_table_create, bfd_link_add_symbols and
	bfd_final_link.
	* libaout.h (struct aoutdata): Added external_syms,
	external_sym_count, external_strings, sym_hashes fields.
	(obj_aout_external_syms, obj_aout_external_sym_count,
	obj_aout_external_strings, obj_aout_sym_hashes): New accessor
	macros.
	(WRITE_HEADERS): Only output symbols if outsymbols is not NULL.
	* aoutx.h: Wrote new back end linker routines.
	(translate_to_native_sym_flags): Return boolean value.  Don't use
	bfd_error_vector.
	(NAME(aout,write_syms)): Return boolean value.  Check return value
	of translate_to_native_sym_flags and bfd_write.
	* aout-target.h (final_link_callback): New function.
	(MY_bfd_final_link): New function.
	* aout-adobe.c (aout_adobe_write_object_contents): Check return
	value of aout_32_write_syms.
	* hp300hpux.c (MY(write_object_contents)): Likewise.
	* i386lynx.c (WRITE_HEADERS): Likewise.
	* libaout.h (WRITE_HEADERS): Likewise.
	* bout.c: Changed functions to use link_info->callbacks rather
	than bfd_error_vector, and link_orders rather than seclets.
	* coff-alpha.c: Likewise.
	* coff-h8300.c: Likewise.
	* coff-h8500.c: Likewise.
	* coff-sh.c: Likewise.
	* coff-z8k.c: Likewise.
	* elf32-hppa.c: Likewise.
	* reloc16.c: Likewise.
	* coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Look
	up _gp in the hash table rather than in outsymbols.
	* coff-a29k.c (a29k_reloc): Pass errors back in new error_message
	argument rather than printing them.
	* coffcode.h (bfd_coff_reloc16_extra_cases): Take link_info and
	link_order arguments rather than seclet.  Changed all uses and
	definitions.
	(bfd_coff_reloc16_estimate): Pass link_info arguments.  Changed
	all uses and definitions.
	* libcoff.h: Rebuilt.
	* ecoff.c (ecoff_get_extr): If symbol is defined by linker, but
	not by ECOFF, make it scAbs.
	(ecoff_bfd_final_link): Renamed from ecoff_bfd_seclet_link and
	rewritten.
	* elf32-mips.c (mips_elf_final_link): Renamed from
	mips_elf_seclet_link and rewritten.
	* elf32-hppa.c (elf32_hppa_stub_description): Added link_info
	field.
	(new_stub, add_stub_by_name, hppa_elf_build_arg_reloc_stub,
	hppa_elf_build_long_branch_stub, hppa_look_for_stubs_in_section):
	Added link_info arguments.  Changed all callers.
	* elfcode.h (elf_slurp_symbol_table): Don't quit if outsymbols is
	not NULL.
	* oasys.c (oasys_write_sections): Return boolean value rather than
	using bfd_error_vector.
	(oasys_write_object_contents): Check return value of
	oasys_write_sections.
	* hosts/std-host.h: Don't declare qsort or strtol.
	* Makefile.in: Rebuild dependencies.
	(BFD_LIBS): Removed seclet.o.  Added hash.o and linker.o.
	(CFILES): Removed seclet.c.  Added hash.c and linker.c.
	(HFILES): Removed seclet.h.  Added genlink.h.
1993-12-30 19:56:50 +00:00
Peter Schauer
1adbf66264 * section.c (bfd_get_section_contents): Return zero filled buffer
if section has no contents.
1993-12-30 15:51:16 +00:00
Ian Lance Taylor
d1b44e837e * elf.c (bfd_elf_generic_reloc): If this is not an inplace reloc,
then skip bfd_perform_relocation even if the addend is non-zero.
1993-12-28 17:45:14 +00:00
Ken Raeburn
a2805287bd changes so far 1993-12-21 17:47:38 +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
Ken Raeburn
848ace961e various 1993-12-01 22:37:57 +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
7cd39d6914 Irix 4 core support entries. 1993-11-30 21:58:09 +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
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
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
Ian Lance Taylor
f8944f8414 Various entries. 1993-11-18 17:24:53 +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
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
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
Jim Kingdon
115f743028 * trad-core.c (trad_unix_core_file_p): If new hook
TRAD_CORE_ALLOW_ANY_EXTRA_SIZE defined, then skip the check for the
	corefile being too big.
	* hosts/i386sco.h: Define it.
1993-11-12 17:10:56 +00:00
Jeff Law
8a71bf96a2 * bfd.c (struct _bfd): Add hppabsd_core_data.
* targets.c (target_vector): Add hppabsd_core_vec.
	* hpux-core.c (hpux_core_core_file_p): Fail if an unknown core
	section is encountered during core section scanning.
	* hppabsd-core.c: New file.
	* config/hppabsd.mh: Enable HPPA BSD core files.
1993-11-11 23:44:36 +00:00
Jeff Law
3e80841e27 * elf32-hppa.c (hppa_elf_reloc): Remove DEFUN crud. Remove code
which is either commented out or ifdef'd out.  Add, update and
	clean comments.  Fix various indention and spacing problems.  Handle
	problems related to using "ble" to jump to a stub rather than "bl"
	(%r31 is trashed by "ble", but not by "bl").
	(NEW_INSTRUCTION): Put inside curly braces.
	(CURRENT_STUB_OFFSET): Fix indention problems.
	(hppa_elf_build_arg_reloc_stub): Fix indention and spacing problems.
	Add, update and clean comments.  Handle "ble" %r31 lossage problems.
	(hppa_elf_build_long_branch_stub): Likewise.
	(hppa_look_for_stubs_in_section): Likewise.
	(hppa_elf_stub_check): Remove obsolete function.

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

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

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

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

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