Commit Graph

2348 Commits

Author SHA1 Message Date
Ian Lance Taylor 27b1ec9478 * archive.c (_bfd_construct_extended_name_table): If
BFD_TRADITIONAL_FORMAT is set, limit the length of all file names
	to ar_max_namelen.
	(bfd_dont_truncate_arname): If BFD_TRADITIONAL_FORMAT is set, call
	bfd_bsd_truncate_arname.
PR 6888.
1995-07-04 20:22:43 +00:00
Ian Lance Taylor e510074320 * archive.c (_bfd_write_archive_contents): Revert June 1 change. 1995-07-04 18:07:47 +00:00
Ian Lance Taylor b5279eb6a9 * elfcode.h (NAME(bfd_elf,record_link_assignment)): Add provide
argument.
	* bfd-in.h (bfd_elf32_record_link_assignment): Update prototype.
	(bfd_elf64_record_link_assignment): Likewise.
	* bfd-in2.h: Rebuild.
PR 7164.
1995-07-04 17:43:05 +00:00
Ian Lance Taylor b176e1e92a * libelf.h (struct elf_link_hash_table): Add needed field. Remove
saw_needed field.
	* elfcode.h (elf_link_add_object_symbols): If elf_dt_needed_name
	is an empty string, don't make a DT_NEEDED entry in the output
	file.  Record all DT_NEEDED entries found in input dynamic
	objects.
	(elf_link_output_extsym): Don't check saw_needed when issuing
	warnings.
	* elf.c (_bfd_elf_link_hash_table_init): Initialize needed, not
	saw_needed.
	(bfd_elf_get_needed_list): New function.
	* bfd-in.h (struct bfd_elf_link_needed_list): Define.
	(bfd_elf_get_needed_list): Define.
	* bfd-in2.h: Rebuild.
PR 7083.
1995-07-04 16:54:49 +00:00
Ian Lance Taylor 194fc93542 * ecoff.c (_bfd_ecoff_find_nearest_line): Also initialize
find_buffer and fdrtab_len fields of newly allocated
	find_line_info structure.
1995-07-04 16:23:58 +00:00
Jeff Law c40439a219 * som.c (hppa_som_gen_reloc_type): New argument "sym_diff",
nonzero when we're generating relocations for an expression
	using the difference of two symbols.  All callers changed.
	Handle difference of symbols for both R_HPPA and R_COMPLEX
	cases.
	(som_write_fixups): Handle R_COMP1, R_COMP2 and R_CODE_EXPR
	fixups.
1995-07-03 23:27:25 +00:00
Ian Lance Taylor 3a6eecd42f * ecoff.c (_bfd_ecoff_find_nearest_line): If we allocate
find_line_info, clear the fdrtab field.
1995-07-03 22:41:51 +00:00
Ian Lance Taylor 9fd10c34d0 x 1995-07-03 22:19:02 +00:00
Ian Lance Taylor 9675c281af * bfd.c (enum bfd_error): Define bfd_error_no_armap.
(bfd_errmsgs): Add string for bfd_error_no_armap.
	* bfd-in2.h: Rebuild.
	* ecoff.c (ecoff_link_add_archive_symbols): If an archive has no
	armap, set bfd_error_no_armap rather than bfd_error_no_symbols.
	* elfcode.h (elf_link_add_archive_symbols): Likewise.
	* linker.c (_bfd_generic_link_add_archive_symbols): Likewise.
1995-07-03 22:16:40 +00:00
Ian Lance Taylor d07445c310 * targets.c (enum bfd_flavour): Add bfd_target_msdos_flavour here,
rather than in bfd-in2.h.
1995-07-03 22:15:10 +00:00
Steve Chamberlain bd676d26ea Mon Jul 3 13:55:18 1995 Steve Chamberlain <sac@slash.cygnus.com>
* config.bfd (win32): New configuration.
	* configure.host (pe): Changed to i386win32.
	* config/i386pe.mh: Deleted.
	* config/i386win32.mh: New file.
1995-07-03 21:11:15 +00:00
Ian Lance Taylor 3004a68c46 * elfcode.h (elf_link_add_object_symbols): Permit common and
indirect symbols in weakdefs BFD_ASSERT.
	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Simplify
	BFD_ASSERT to permit some legal, but odd, cases.
	* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
	* elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
1995-07-03 17:57:25 +00:00
Ian Lance Taylor 6ff9c0519c Correct erroneous checkin, with no ChangeLog entry, of 13 May. 1995-07-03 17:28:14 +00:00
Ian Lance Taylor 30dc85f1b8 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Correct
BFD_ASSERT to handle __start_SECNAME symbols automatically defined
	by the linker.
	* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
	* elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
1995-07-03 17:05:56 +00:00
Ian Lance Taylor 8809320bb9 * Makefile.in: Rebuild dependencies.
(BFD32_BACKENDS): Add versados.o.
	(CFILES): Add pe-i386.c, pei-i386.c, and versados.c.
start-sanitize-arc
	(elf32-arc.o): New target.  This should be removed when
	elf32-arc.c can be added to CFILES.
end-sanitize-arc
1995-07-03 15:41:52 +00:00
Ian Lance Taylor be89267cfc * cofflink.c (_bfd_coff_generic_relocate_section): Cast base_file
to FILE * before using it.
	* stab-syms.c: Revert yesterday's patch.
1995-07-02 21:51:36 +00:00
Ian Lance Taylor 4b18dd1ec2 Remove elf32-targetd.h and elf64-targets.h. Add elfxx-target.h. 1995-07-02 19:23:29 +00:00
Fred Fish 033d545b29 * stab-syms.c (stdio.h): Include prior to libaout.h, which
includes bfdlink.h, which now uses FILE.
1995-07-01 19:14:29 +00:00
Ken Raeburn 5cab016b72 removed unused elf_64_p field 1995-07-01 04:20:05 +00:00
Ken Raeburn b968e4f491 generate elf*-target.h from common elfxx-target.h source 1995-07-01 04:16:03 +00:00
Steve Chamberlain ece22cd04c Fri Jun 30 16:07:18 1995 Steve Chamberlain <sac@slash.cygnus.com>
* cofflink.c (_bfd_coff_generic_relocate_section): Compare
	the full text of .reloc or .edata section names.
1995-06-30 23:19:57 +00:00
Fred Fish d84d840f18 * cofflink.c (_bfd_coff_generic_relocate_section):
Remove extra '+'.
1995-06-30 22:53:13 +00:00
Steve Chamberlain 69b799dfd7 * coff-h8300.c (COFF_LONG_FILENAMES): Define. 1995-06-30 00:26:53 +00:00
Steve Chamberlain 89665c8562 Wed Jun 28 18:04:42 1995 Steve Chamberlain <sac@slash.cygnus.com>
* Makefile.in: versados.o is now conditionally built.
	* coffcode.h (add_data_entry): New function.
	(coff_write_object_contents): Clean up. Calculate
	data entries.
	* cofflink.c (_bfd_coff_generic_relocate_section):
	.reloc and .edata sections are IMAGE_BASED too.
	If there's a base_file then write out base information.
	* configure.host (i386-*-pe): New.
	* syms.c (coff_section_type): Only scan prefixes.
	* targets.c (bfd_target_vector): Versados is now conditionally
	built.
	* config/m68k-coff.mt: Build versados.o
	* hosts/i386pe.h: New file.
1995-06-29 01:17:58 +00:00
Jeff Law 6cb964d4ef * elf32-hpa.c (elf32_hppa_relocate_section): Close comment before
R_PARISC_DPREL21L handling.
1995-06-26 19:55:27 +00:00
Steve Chamberlain f4761bb244 * reloc.c (bfd_perform_relocation): Add case for -ve words. 1995-06-22 15:59:14 +00:00
Jeff Law 775d12552e * elf32-hppa.c (elf32_hppa_relocate_section): Don't try to apply a
relocation against an undefined symbols.
1995-06-21 19:14:39 +00:00
Steve Chamberlain 9eacc5c494 * versados.c: Second pass/rewrite. 1995-06-21 17:19:25 +00:00
Jeff Law c2730ba305 Fix typo in last change. 1995-06-18 05:39:52 +00:00
Jeff Law 9fe4fade31 * elf32-hppa.c (elf32_hppa_size_stubs): Set the size of the stub
section if we get an error.
1995-06-18 03:39:23 +00:00
Jeff Law 9a6880571c * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Don't mess
with the operands of an R_PARISC_DPREL21L relocation if the insn
        is not "addil <symbol>,%r27".
1995-06-17 15:43:06 +00:00
Stan Shebs 018dafca8a * bfd-in.h (NT_subsystem, NT_stack_heap): Declare but don't
define.
	* bfd-in2.h: Rebuilt.
	* bfd.c (NT_subsystem, NT_stack_heap): Define.
1995-06-16 22:08:26 +00:00
Jeff Law 31dabb6cc9 * elf32-hppa.c (elf32_hppa_bfd_link_link_relocate): Use the right
type field (there are two!) when checking to see if $global$ is
	defined.
1995-06-16 06:09:07 +00:00
Stan Shebs e0151f38e1 * bfd-in.h, bfd-in2.h (bfd_boolean): Rename bfd_true, bfd_false
to bfd_tttrue, bfd_fffalse so as not to conflict with functions.
	* coffswap.h (coff_swap_scnhdr_out): Remove version that was
	hacked for MPW C.
	* mpw-config.in: Set shell vars instead of pasting to makefile
	for each configuration, edit coffswap.h to make MPW C not choke.
	(i386-unknown-coff, sh-hitachi-hms): Recognize.
	* mpw-make.in (BFD_LIBS): Add versados.c.o.

	* versados.c (versados_scan): Properly cast results from bfd_alloc.
1995-06-15 21:18:17 +00:00
Steve Chamberlain d25079a096 * cofflink.c (process_embedded_commands): New function
reads and handles .drectve sections for PE.
	(coff_link_input_bfd): Call new function if PE.
1995-06-14 22:29:47 +00:00
Jeff Law 080f1fcb8b * bfd-in.h (bfd_set_section_vma): Case true to a boolean.
(bfd_set_cacheable): Likewise.
	* bfd-in2.h: Rebuilt.
1995-06-12 18:12:00 +00:00
Jeff Law 6167a840e5 * targets.c: Add copy_private_symbol_data and link_split_section
to the target vector.
	* libbfd-in.h (_bfd_generic_bfd_copy_private_symbol_data): Define.
	(_bfd_nolink_bfd_link_split_section): Likewise.
	(bfd_generic_link_split_section): Declare.
	* syms.c (bfd_copy_private_symbol_data): Define.
	* linker.c (bf_link_split_section): Likewise.
	* som.c (som_bfd_copy_private_symbol_data): New function
	(som_bfd_link_split_section): Likewise.
	* All other targets updated with default versions of new routines.

	* Take out my braindamaged bfd_true/bfd_false changes from earlier
	today.  Replace with just:
	* bfd-in.h: (TRUE_FALSE_ALREADY_DEFINED): Define this if
	compiling with g++-2.6 or later.
	* bfd-in2.h: Rebuilt.
1995-06-10 00:05:51 +00:00
Jeff Law 9f28686c2b * bfd-in.h (bfd_true, bfd_false): Define these to true and false
if TRUE_FALSE_ALREADY_DEFINED is not defined.
        * bfd-in2.h: Rebuilt.
1995-06-09 19:40:00 +00:00
Steve Chamberlain d1ec549d7b * elfcode.h (elf_sort_hdrs): Rewrite to be symmetrical. 1995-06-09 19:21:47 +00:00
Jeff Law 3b1f83adad * bfd-in.h: (TRUE_FALSE_ALREADY_DEFINED): Define this if
compiling with g++-2.6 or later.
        (bfd_set_section_vma): Use bfd_true and bfd_false rather than
        true and false.
        (bfd_set_section_alignment): Likewise.
        (bfd_set_section_userdata): Likewise.
        (bfd_set_cacheable): Likewise.
        * bfd-in2.h: Rebuilt.
1995-06-09 19:16:33 +00:00
Steve Chamberlain e6304bc755 * versados.c (struct esd, get_4): Lint; use unsigned chars. 1995-06-09 15:24:09 +00:00
Steve Chamberlain 9ff2fb3d25 * coff-i960.c (coff_i960_relocate): Compare output section names
when converting for vxworks.
1995-06-09 14:57:17 +00:00
Ken Raeburn 0ef449dfad * elfcode.h (elf_fake_sections): Permit .scommon or COMMON sections as random
SHT_NOBITS sections, in case a linker script is strange.
1995-06-08 20:12:25 +00:00
Steve Chamberlain dc1f8593d0 * coff-a29k.c (coff_a29k_adjust_symndx): Completely parenthesize
macro. (pr ld/7127)
1995-06-05 16:11:26 +00:00
Ken Raeburn 9e1b4d5750 Linker support for m68k-elf from Andreas Schwab
<schwab@issan.informatik.uni-dortmund.de>:

* elfcode.h (elf_link_add_object_symbols): Check for NULL when looping through
the symbol hashes.
(elf_bfd_final_link): When looking for _init and _fini don't use the symbol if
it is imported from another object.

* elf32-m68k.c: Relocation type changed from REL to RELA.  Regular and dynamic
linking support functions added, similar to other elf targets.
1995-06-05 07:04:51 +00:00
Ken Raeburn 1be0c30e50 change i386-gnu to elf 1995-06-05 06:36:11 +00:00
Steve Chamberlain c3c112fc84 *** empty log message *** 1995-06-03 02:26:19 +00:00
Steve Chamberlain fa29f969c1 Thu Jun 1 13:51:49 1995 Steve Chamberlain <sac@slash.cygnus.com>
* coffcode.h (sec_to_styp_flags, styp_to_sec_flags,
	coff_new_section_hook):  Any section that starts ".stab"
	is now marked as debugging.
1995-06-01 22:20:30 +00:00
Ken Raeburn db88e79a6a * archive.c (_bfd_write_archive_contents): Disable extended name table until it
can be made optional, so that native AR has half a chance on SunOS and HP/UX.
[PR binutils/6888]
1995-06-01 20:22:53 +00:00
Ken Raeburn 45fb9cd1ee * linker.c (_bfd_generic_link_output_symbols, case bfd_link_hash_indirect): Add
cast to correct pointer types.
1995-06-01 20:17:12 +00:00
Steve Chamberlain a3444c4926 Wed May 24 10:52:01 1995 Steve Chamberlain <sac@slash.cygnus.com>
pr ld/6997

	* elf32-i386.c (elf_i386_relocate_section): Give error
	message when linking to a shared reloc which isn't there.

Wed May 24 10:40:00 1995  Steve Chamberlain  <sac@slash.cygnus.com>

	Support for ARM-PE.

	* Makefile.in, coffcode.h, config.bfd, configure.in, pe-arm.c,
	 pei-arm.c, reloc.c, targets.c, config/arm-pe.mt:
	 Support for ARM COFF/PE.
1995-05-24 18:14:23 +00:00
Ken Raeburn a16fcab31a Make linking mips-elf and mips-ecoff work. At least, better than it did.
* bfd.c (bfd_get_relocated_section_contents): Now a function, tries calling
routine from input bfd target vector for bfd_indirect_link_order.  Put a
declaration into the header file.
* bfd-in2.h: Regenerated.
* elf32-mips.c (gprel16_with_gp): New function, split out from
mips_elf_gprel16_reloc.
(mips_elf_gprel16_reloc): Call it.  If output bfd target vector isn't elf
flavoured, abort, since it's assumed to be elf in some of this code, including
the code that looks up the gp value.
(elf32_mips_get_relocated_section_contents): New function, modified from
bfd_generic_get_relocated_section_contents to deal with passing gp to
gprel16_with_gp.
(bfd_elf32_bfd_get_relocated_section_contents): New macro.
* elf32-target.h (bfd_elf32_bfd_get_relocated_section_contents): Don't define
if already defined.
1995-05-23 23:30:33 +00:00
Jeff Law 58c56c60ca * Makefile.in: Install bfdlink.h too. 1995-05-23 22:01:20 +00:00
Steve Chamberlain 7cdedb42c1 * coffswap.h: (IMAGE_BASE): Define to 0 if not. 1995-05-19 17:01:27 +00:00
Ken Raeburn ff15324f63 Bunch of changes from Richard Earnshaw for generic bi-endian ARM aout targets.
Details in change logs.
1995-05-18 22:21:18 +00:00
Jim Kingdon 8558c4e316 * libbfd.c (bfd_stat): If bfd_cache_lookup returns an error,
return an error to the caller.  Call bfd_set_error on errors.
1995-05-18 05:20:37 +00:00
Steve Chamberlain b297038d0b Thu May 11 16:43:14 1995 Steve Chamberlain <sac@slash.cygnus.com>
tekhex.c (first_phase): Understand type 0 symbols.
	(tekhex_write_object_contents): Fix typo in final record.

Thu May 11 16:43:14 1995  Steve Chamberlain  <sac@slash.cygnus.com>

	pr ld/6840

	* coff-i960.c (optcall_callback): don't try and optimize
	undefined refs.
	(coff_write_relocs): Search for broken relocs on the way
	out and fix them up.
	(coff_renumber_symbols): Calculate and return index of
	first undefined symbol.
	(coff_write_object_contents): Call coff_renumber_symbols
	and coff_write_relocs with the new args.
	* libcoff.h: (coff_renumber_symbols, coff_renumber_symbols):
	Modified prototypes.

Thu May 11 16:43:14 1995  Steve Chamberlain  <sac@slash.cygnus.com>
			  Tom Griest <griest@cs.yale.edu>

	Initial support for PE format.

	* Makefile.in, targets.c, configure.in, config.bfd:
	Add support for i386-*-winnt and i386-*-pe.
	* archive.c (do_slurp_coff_armap):  Understand NTPE format
	archives.
	(_bfd_slurp_extended_name_table): Turn \ in a filename
	into /.
	* bfd-in.h (bfd_link_subsystem, _bfd_link_stack_heap): New.
	* coff-i386.c  (howto_table): Conditionalize PCRELOFFSET.
	* coffcode.h (IMAGE_BASE): New.
	(coff_compute_section_file_positions): Throw away .junk
	sections for PE, align symbols.
	(coff_write_object_contents): Throw away .junk sections
	for PE. Remember info on .idata and .rsrc sections.
	Fill in the PE header.
	(coff_slurp_symbol_table): PE uses C_SECTION class.
	* cofflink.c (_bfd_coff_final_link): Keep PE info up to date.
	(_bfd_coff_generic_relocate_section): Cope with PE relocs.
	* coffswap.h (coff_swap_{aout/file/scn/sym}hdr_{in/out}):
	New code for PE headers.
1995-05-13 18:03:25 +00:00
Michael Meissner c7b44b0425 Add little endian PowerPC support. 1995-05-09 21:07:06 +00:00
Jason Molenda 0c3c868b2b * hosts/std-host.h: #include ansidecl.h 'cause PTR is used in
std-host.h.
1995-04-25 18:07:43 +00:00
Michael Meissner 423b654e17 Provide escape hatch for HAVE_PROCFS being defined. 1995-04-24 14:38:05 +00:00
Michael Meissner a96c03cca5 Do not continue processing unknown symbols. 1995-04-24 12:41:37 +00:00
Ken Raeburn 1f2025d9c1 Patches from H.J. Lu for Linux ELF core file support.
* elfcode.h (elf_core_file_matches_executable_p) [HAVE_PROCFS]: Use prpsinfo_t
instead of struct prpsinfo, for consistency.
* hosts/i386linux.h (HAVE_PROCFS): Define.
1995-04-21 16:53:57 +00:00
Steve Chamberlain 42aade756b Thu Apr 20 09:07:39 1995 Steve Chamberlain <sac@slash.cygnus.com>
* linker.c (link_action): Do the right thing when a undefined
	strong symbol appears after an undefined weak symbol.
1995-04-20 16:10:44 +00:00
Ken Raeburn 1b283698a7 * config.bfd: Add m68*-*-elf*.
* elf32-m68k.c: Filled out implementation, except for dynamic linking support.
* reloc.c (enum bfd_reloc_code_real): Added *_GOT_PCREL, *_GOTOFF, *_PLT_PCREL,
 *_PLTOFF, *_68K_* relocations for ELF.
* libbfd.h, bfd-in2.h: Regenerated.
1995-04-14 20:25:09 +00:00
Ken Raeburn 56e57a6be7 * aoutx.h (machine_type, case bfd_arch_mips): Treat R8000 like R6000 and R4000
for now.
1995-04-12 16:41:50 +00:00
Stan Shebs 241d8883ed Always keep all MPW support files 1995-04-04 19:53:04 +00:00
Stan Shebs 3da0c638f8 No longer need MPW-only history 1995-04-04 19:51:10 +00:00
Ian Lance Taylor e83f77457b Thu Mar 30 14:32:26 1995 H.J. Lu (hjl@nynexst.com)
* config.bfd: Change linux to default to elf.  Using
	i[345]86-*-linuxaout will build a library which defaults to a.out.
	* config/i386-laout.mt: Rename from old config/i386-linux.mt.
	* config/i386-linux.mt: Rename from old config/i386-lelf.mt.
	Comment out EXTRALIBS.
	* config/i386-lelf.mt: Remove.
1995-03-30 19:37:22 +00:00
Ian Lance Taylor 21e061e3f8 * coff-i960.c (coff_i960_relocate): Cache the section symbol in
the used_by_bfd field of the section, to avoid looping for each
	reloc.
PR 6638.
1995-03-29 18:20:33 +00:00
Ian Lance Taylor 75afa8846b * cpu-h8500.c (arch_info_struct): Change name from "H8/300" to
"h8300" for consistency with other cpu-* files.
1995-03-29 17:02:34 +00:00
Jeff Law 0cd908d2b9 Add entry I forgot to commit:
* som.c (som_set_reloc_info): Sign extend constants from
        R_DATA_OVERRIDE fixups.
        * libhppa.h (sign_extend): Renamed from sign_ext.  Fix.
        (low_sign_extend): Likewise.
1995-03-28 23:28:50 +00:00
Ian Lance Taylor 661cf37446 * bout.c (b_out_canonicalize_reloc): Handle SEC_CONSTRUCTOR
sections.
	(b_out_get_reloc_upper_bound): Likewise.
1995-03-28 20:27:35 +00:00
Ian Lance Taylor da7bfa91fb * linker.c (generic_link_add_symbol_list): Skip constructor
symbols which the main linker code did not do anything with.
	(_bfd_generic_link_output_symbols): Use udata.p if it is set,
	rather than looking the symbol up in the hash table.  Just pass
	through constructor symbols for which udata.p is not set.  If the
	linker defined the symbol, clear the constructor flag.
Fix -r for b.out file format when constructor symbols are defined.
1995-03-28 20:17:37 +00:00
Jeff Law 6adcecef34 * som.c (som_slurp_symbol_table): Tighten test to determine
what symbols are section symbols.
1995-03-21 05:40:30 +00:00
Ian Lance Taylor 03788f0539 * elfcode.h (elf_bfd_link_add_symbols): An empty archive is OK. 1995-03-18 06:56:00 +00:00
Ian Lance Taylor 7fe4ed45e9 * elfcode.h (elf_link_add_object_symbols): Check whether a dynamic
object has already been included, and ignore it the second time.
1995-03-17 16:51:36 +00:00
Ian Lance Taylor de906b511e * libelf.h (bfd_elf32__write_relocs): Don't declare.
(bfd_elf64__write_relocs): Don't declare.
1995-03-15 16:57:15 +00:00
Ken Raeburn 75236adbd2 stab-syms.c: Rewrite to improve performance. Shaves about 5% off gprof run
time, according to gprof itself, on i486-netbsd.
1995-03-14 11:02:19 +00:00
Ian Lance Taylor d042121899 * elfcode.h (write_relocs): Make static. Use PTR argument as a
pointer to a boolean variable set to true if something fails.
	Cast to PTR rather than void *.
	(sym_is_global): Rewrite for clarity.
	(map_program_segments): If the program header size is too small,
	call _bfd_error_handler and return failure rather than aborting.
	(NAME(bfd_elf,write_object_contents)): Pass boolean variable when
	calling write_relocs.
	(elf_symbol_from_bfd_symbol): Use BFD_ASSERT rather than abort.
	(struct elf_info_failed): Define.
	(NAME(bfd_elf,size_dynamic_sections)): Declare variables in inner
	blocks.  Pass elf_info_failed structure when calling
	elf_export_symbol and elf_adjust_dynamic_symbol.
	(elf_export_symbol): Treat data argument as elf_info_failed rather
	than bfd_link_info.  Set failed field on error.
	(elf_adjust_dynamic_symbol): Likewise.
	(struct elf_finfo_failed): Define.
	(elf_bfd_final_link): Pass elf_finfo_failed structure when calling
	elf_link_output_extsym.  Use BFD_ASSERT rather than abort.
	(elf_link_output_extsym): Treat data argument as elf_finfo_failed
	rather than elf_final_link_info.  Set failed field on error.
	(elf_link_input_bfd): Use BFD_ASSERT rather than abort.
	(elf_reloc_link_order): Likewise.
1995-03-13 21:55:44 +00:00
Ian Lance Taylor f786a73f08 * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Only write
out PLTRELSZ, PLTREL and JMPREL relocs if there is a .rela.plt
	section.  Solaris 2.4 apparently does not handle empty reloc
	information correctly.
1995-03-13 20:39:36 +00:00
Ian Lance Taylor c4299ed83a * archive.c (bsd_write_armap): Cast getuid and getgid results to
long, and print with %ld.
1995-03-13 18:49:44 +00:00
David Edelsohn 890b53ef65 * elf32-arc.c (elf_arc_howto_table): Relocs with implicit addends
don't work too well with zero src_masks.  Correct values.
1995-03-12 13:26:57 +00:00
Ian Lance Taylor 6a107a2838 * aoutx.h (translate_to_native_sym_flags): Always use the output
section if it is not NULL.
PR 6477.
1995-03-10 21:43:02 +00:00
Ian Lance Taylor 99514eec14 * coffswap.h (coff_swap_scnhdr_out): If the line number count or
the reloc count does not fit, print an error and return 0.
	* coffcode.h (coff_write_object_contents): Check return value of
	coff_swap_scnhdr_out.
	* ecoff.c (_bfd_ecoff_write_object_contents): Check return value
	of bfd_coff_swap_scnhdr_out.
1995-03-09 22:58:14 +00:00
Ian Lance Taylor 0318ed3109 * bfd.c: Include <stdarg.h> or <varargs.h>, depending upon
ANSI_PROTOTYPES.
	(bfd_error_handler_type): New global type.
	(_bfd_error_program_name): New static variable.
	(_bfd_default_error_handler): New static function.
	(_bfd_error_handler): New BFD private global variable.
	(bfd_set_error_handler): New globally visible function.
	(bfd_set_error_program_name): New globally visible function.
	* libbfd-in.h (_bfd_error_handler): Declare.
	* bfd-in2.h, libbfd.h: Rebuild.
1995-03-09 22:16:40 +00:00
Ian Lance Taylor 2f6754271f * aoutx.h (NAME(aout,swap_ext_reloc_in)): Add symcount parameter,
and use it instead of bfd_get_symcount.  Check r_index after
	setting r_extern based on whether this is a base relative reloc.
	(NAME(aout,swap_std_reloc_IN)): Add symcount parameter, and use it
	instead of bfd_get_symcount.
	(NAME(aout,slurp_reloc_table)): Pass bfd_get_symcount to reloc
	swap routines.
	* libaout.h (NAME(aout,swap_ext_reloc_in)): Add symcount parameter
	to declaration.
	(NAME(aout,swap_std_reloc_in)): Likewise.
	* sunos.c (sunos_canonicalize_dynamic_reloc): Pass
	info->dynsym_count to reloc swap routines.
	* aout-ns32k.c (MY_swap_std_reloc_in): Add symcount parameter.
	* hp300hpux.c (MY(swap_std_reloc_in)): Likewise.
	(MY(slurp_reloc_table)): Pass bfd_get_symcount to reloc swap
	routine.
	* i386lynx.c (NAME(lynx,swap_ext_reloc_in)): Add symcount
	parameter.
	(NAME(lynx,swap_std_reloc_in)): Likewise.
	(NAME(lynx,slurp_reloc_table)): Pass bfd_get_symcount to reloc
	swap routines.
1995-03-09 20:14:04 +00:00
Michael Meissner d5fb1e2a71 Add support for checking whether all PowerPC ELF modules either use -mrelocatable or do not. 1995-03-09 17:20:20 +00:00
Ian Lance Taylor 0f6020cb02 * cpu-mips.c (arch_info_struct): Add mips:8000 entry. 1995-03-08 20:47:26 +00:00
Ian Lance Taylor a48769bfbf * elfcode.h (swap_out_syms): Mark an undefined BSF_WEAK symbol as
STB_WEAK rather than STB_GLOBAL.
1995-03-08 05:56:53 +00:00
David Edelsohn 917666603b * configure.in (SELECT_VECS): Split bfd_elf32_arc_vec into big/little.
* targets.c (bfd_target_vector): Likewise.
	* elf32-arc.c (TARGET_BIG_SYM): Define.
	(TARGET_BIG_NAME): Define.
	* config/arc-elf.mt (DEFAULT_VECTOR): Set to bfd_elf32_littlearc_vec.
	(SELECT_VECS): Add bfd_elf32_bigarc_vec.
1995-03-08 04:41:13 +00:00
Ian Lance Taylor f135c69272 * coffcode.h (bfd_coff_backend_data): Add new field
_bfd_coff_adjust_symndx.
	(bfd_coff_adjust_symndx): Define.
	(coff_adjust_symndx): Define as NULL if not already defined.
	(bfd_coff_std_swap_table): Initialize new field to
	coff_adjust_symndx.
	* cofflink.c (coff_link_input_bfd): Call coff_adjust_symndx if it
	is defined.
	* coff-a29k.c (coff_a29k_adjust_symndx): New static function.
	(coff_adjust_symndx): Define before including coffcode.h.
	* libcoff.h: Rebuild.
1995-03-07 19:56:31 +00:00
Ian Lance Taylor 597e3d58ba * format.c (bfd_check_format_matches): Skip binary_vec when
searching through bfd_target_vector.
1995-03-07 19:32:39 +00:00
Ian Lance Taylor d211786089 * elfcode.h (elf_sort_hdrs): Check SHT_NOBITS before checking
sh_size.
1995-03-07 17:25:07 +00:00
David Edelsohn df168c35f9 * elfcode.h (elf_sort_hdrs): Keep SHT_NOBITS sections after
!SHT_NOBITS ones.
1995-03-07 07:34:21 +00:00
Jeff Law 0f4161ddd0 * cpu-hppa.c (arch_info_struct): Support both PA1.0 and PA1.1
machine types.
	(bfd_hppa_arch): Link in both PA1.0 and PA1.1 architecture info
	structures.
	* libhppa.h (enum pa_arch): New enumeration to describe the
	different variants of the PA architecture.
	* som.c (som_object_setup): Use new enumeration to set machine
	type.
	(som_finish_writing): If the machine type is PA1.1, then use the
	PA1.1 machine identifier in the output file.
1995-03-06 17:00:18 +00:00
Stan Shebs ab62d0499e * hosts/mpw.h (SEEK_SET, SEEK_CUR, BYTES_IN_PRINTF_INT):
Remove definitions.
	(mpw_fread, mpw_fwrite): Declare, define as substitutes
	for fread and fwrite.
1995-03-04 00:47:01 +00:00
Ian Lance Taylor 773033d2d2 * aoutx.h (NAME(aout,set_section_contents)): Double check that the
caller is writing to a valid section.
PR 5996 cleanup.
1995-03-02 21:00:39 +00:00
Ian Lance Taylor c9f92c114b Thu Mar 2 14:37:57 1995 Bryan Ford <baford@cs.utah.edu>
* binary.c: Add support for reading binary files.  Loads the raw
	contents of the file into a data section and wraps some symbols
	around it.  The symbols `_binary_<filename>_start' and
	`_binary_<filename>_end' indicate the start and end of the data,
	while `_binary_<filename>_size' is an absolute symbol whose value
	is the size of the data.  <filename> is the name of the binary
	input file, with all non-alphanumeric characters converted to
	underscores.

	* archures.c (bfd_arch_get_compatible): Assume users knows what
	they're doing if one of the architectures is bfd_arch_unknown.
1995-03-02 20:04:07 +00:00
Michael Meissner 3598343227 Warn if GOT16 overflows. 1995-03-01 22:34:34 +00:00
Jason Molenda 8760f77caf Wed Mar 1 11:52:55 1995 Jason Molenda <crash@phydeaux.cygnus.com>
* configure.host: Recognize powerpc-*-aix*.

for sludge.cygnus.com.
1995-03-01 19:55:05 +00:00