Commit graph

3099 commits

Author SHA1 Message Date
Jeff Law
23def2765b * som.c (setup_sections): Don't lose for a space which has
no data, but some symbols.
binutils/11140
1996-11-23 20:30:54 +00:00
Ian Lance Taylor
a600a89e4f * sunos.c (struct sunos_link_hash_table): Add got_needed field.
(sunos_link_hash_table_create): Initialize got_needed.
	(sunos_create_dynamic_sections): Only set .got section size if it
	is not already set.  Set got_needed.
	(bfd_sunos_size_dynamic_sections): Check got_needed.  Only set
	sdynptr, and only handle dynamic sections, if dynamic sections are
	needed.
	(sunos_scan_std_relocs): Pass false to create_dynamic_sections.
	Initialize .got section.
	(sunos_scan_ext_relocs): Likewise.
	(sunos_write_dynamic_symbol): Set up PLT entry even if this is not
	a dynamic symbol.
	(sunos_finish_dynamic_link): Check got_needed.  Only set up
	dynamic linking information if needed.
PR 11074.
1996-11-22 16:39:17 +00:00
Rob Savoye
aa09d6b2fb * config.bfd: Added VersaDOS format to the Ericsson configuration. 1996-11-21 19:04:56 +00:00
Jeff Law
c3239e6693 * elf32-mn10300.c: Rough cut at relocs for the mn10300. 1996-11-20 23:31:13 +00:00
Dawn Perchik
cf13e3fc30 * filemode.c: Include sysdep.h.
* ihex.c: Add casts to eliminate compiler warnings.
    * sunos.c: Add casts to eliminate compiler warnings.
1996-11-12 23:28:49 +00:00
Michael Meissner
9e23db7616 Add more support for V.4 shared libs 1996-11-11 15:40:04 +00:00
David Edelsohn
affcfcf9af * elf32-m32r.c (elf_m32r_howto_table, R_M32R_24): Use
complain_overflow_unsigned.
1996-10-29 23:09:51 +00:00
Ian Lance Taylor
c0e8bfc01c add missing end-sanitize-v850 1996-10-29 22:04:56 +00:00
Martin Hunt
421a2956fe Tue Oct 29 12:53:46 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* elf32-d10v.c (elf_d10v_howto_table): Don't complain on
	overflows for R_D10V_16 and R_D10V_18.
1996-10-29 20:55:52 +00:00
Ian Lance Taylor
061cc10b03 * ieee.c (ieee_write_section_part): Use LMA rather than VMA.
(do_with_relocs): Likewise.
	(do_as_repeat): Likewise.
	(copy_expression): Likewise.
PR 10946.
1996-10-29 18:26:11 +00:00
Stu Grossman
27c7e9077d * aclocal.m4, configure: Set USE_BINARY_FOPEN for *-*-windows. 1996-10-24 16:10:11 +00:00
Jeff Law
90ffe48b18 * elf32-v850.c: Add comments about assumptions about
char, short & long sizes.
        (elf32_v850_bfd_final_link_relocate): Fix sign extension
        problems for several relocs.
Still fixing sda/tda/zda stuff.
1996-10-23 21:10:55 +00:00
Ian Lance Taylor
84be2a8fa2 * xcofflink.c (bfd_xcoff_import_symbol): Don't allocate ldsym.
Store import file index in ldindx.
	(xcoff_build_ldsyms): Assume that ldsym was not previously
	allocated.  For an imported symbol, copy ldindx into l_ifile.
1996-10-23 04:22:34 +00:00
Jeff Law
c322f1b523 * elf32-v850.c (elf_v850_howto_table): Fix ordering of
R_V850_ZDAOFFSET and R_V850_TDAOFFSET.  Fix various
        fields in R_V850_TDAOFFSET.
        (elf32_v850_bfd_final_link_relocate): Tweak pc-relative
        relocs to work more like other relocs.  Handle R_V850_TDAOFF
        relocations.
v850 tda, sda & zda stuff.
1996-10-23 04:10:41 +00:00
Jeff Law
725b96f599 * elf32-v850.c: Include bfdlink.h.
(bfd_elf32_v850_reloc): Return an error if we get a reloc
        we can't handle.
        (elf32_v850_bfd_final_link_relocate): New function.
        (v850_elf_relocation_section): Likewise.
        (elf_backend_relocate_section): Define.
New-style linker for the v850 (necessary to handle zda, sda & tda).
sda & tda relocs seem to be working.  No tda reloc support yet.
1996-10-23 01:24:24 +00:00
Ian Lance Taylor
40c0ea5ad6 * binary.c (binary_set_section_contents): Ignore sections which
don't have SEC_LOAD and SEC_ALLOC set.
PR 10914.
1996-10-22 21:23:50 +00:00
Ian Lance Taylor
68553b6361 * elf32-mips.c (elf_mips_howto_table): Describe R_MIPS_64.
(mips32_64bit_reloc): New static function.
	(mips_reloc_map): Add entry for BFD_RELOC_64.
	(mips_elf_relocate_section): Handle R_MIPS_64.
1996-10-21 23:56:13 +00:00
Jeff Law
9c52f4b2f7 * linker.c (_bfd_generic_final_link): Avoid losing static
symbols in the .bss section.
Something Stu noticed.
1996-10-21 18:15:24 +00:00
Ian Lance Taylor
bd4dd3d011 * linker.c (default_indirect_link_order): Print an error message
when attempting to do a relocateable link with different object
	file formats, rather than calling abort.
1996-10-21 14:56:17 +00:00
David Edelsohn
5691054491 * reloc.c (m32r relocs): Rename them.
* bfd-in2.h, libbfd.h: Regenerated.
	* elf32-m32r.c: Update.
	(m32r_elf_10_pcrel_reloc): New function.
	(elf_m32r_howto_table, R_M32R_10_PCREL entry): Use it.
	(elf_m32r_howto_table, R_M32R_24 entry): Fix {src,dst}_masks.
1996-10-17 17:46:53 +00:00
Jeff Law
b6d08fce22 * elf32-v850.c (enum reloc_type): Add R_V850_SDA_OFFSET,
R_V850_TDA_OFFSET and R_V850_ZDA_OFFSET.
        (elf_v850_howto_table): Corresponding changes.
        (elf_v850_reloc_map): Corresponding changes.
        * reloc.c: Add additional V850 relocations.
        * bfd-in2.h, libbfd.h: Rebuilt.
1996-10-17 04:45:29 +00:00
Jeff Law
4948949ea2 * linker.c (_bfd_generic_final_link): Set "linker_mark" for
all sections that will be included in the output file.
        (_bfd_generic_link_output_symbols): Discard symbols in sections
        which are being discarded.
Fixes 4 failures in the g++ testsuite on the v850.
1996-10-16 20:27:18 +00:00
Jeff Law
e1d98a0a65 * elf32-v850.c (bfd_elf32_v850_reloc): Mask out bits we
no longer want in pc-relative relocs.
Fixing some g++ testsuite failures.
1996-10-16 17:26:50 +00:00
Jeff Law
05f1baaa20 * elf32-v850.c (bfd_elf32_v850_reloc): Don't silently
accept a reloc against an undefined sybmol!
jeez.  I'm going to go sit in the corner and hide.
1996-10-16 04:18:51 +00:00
Stu Grossman
1336da39bd * elf32-v850.c: Define elf_symbol_leading_char to be '_'. 1996-10-15 23:19:29 +00:00
Ian Lance Taylor
ede836b9aa * VERSION: Bump for new relocation. 1996-10-15 20:58:52 +00:00
Ian Lance Taylor
c24453fece * hosts/i386bsd.h: If NBPG is not defined, define it as
PAGE_SIZE, for recent versions of FreeBSD.
1996-10-15 16:41:38 +00:00
Ian Lance Taylor
e7a5045867 * configure.host: Use `long long' as the 64 bit type on a Solaris
host, since both gcc and the SunPRO compilers support it.
1996-10-14 16:38:13 +00:00
Ian Lance Taylor
6b31fd3af3 Mon Oct 14 11:17:24 1996 Richard Henderson <rth@tamu.edu>
* reloc.c: Create a new BFD_RELOC_ALPHA_ELF_LITERAL.  It was a
	mistake to have reused the ECOFF LITERAL for ELF since they have
	different semantics.
	* elf64-alpha.c (elf_reloc_map): Map from ELF_LITERAL.
	* bfd-in2.h, libbfd.h: Rebuild.

	* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Trap .got
	section overflow.

	* elf64-alpha.c (elf64_alpha_relocate_section): Do not emit a
	dynamic relocation for an undefweak symbol when we are building
	a static executable.
1996-10-14 15:21:54 +00:00
Stan Shebs
f20f247499 * mpw-make.sed (config.bfd, targmatch.sed): Edit references to
point explicitly to srcdir.
	(targmatch.h): Edit references to point explicitly to objdir.
1996-10-10 18:21:37 +00:00
Ian Lance Taylor
3e222a5a5b * config.bfd: When setting targ_cpu, don't get confused by
linux-gnu.
1996-10-10 18:15:23 +00:00
Ian Lance Taylor
1c4794f58f * elflink.h (elf_link_add_object_symbols): If a symbol is a weak
definition in a dynamic object, add it to the dynamic symbol table
	if any dynamic object mentions it.  Reverts part of last patch.
PR 10827.
1996-10-08 18:50:59 +00:00
Ian Lance Taylor
9d81de1984 * sunos.c (struct sunos_link_hash_table): Add got_base field.
(sunos_link_hash_table_create): Initialize got_base.
	(bfd_sunos_size_dynamic_sections): If the .got section is more
	than 0x1000 bytes, set __GLOBAL_OFFSET_TABLE_ and got_base to
	0x1000.
	(sunos_check_dynamic_reloc): Subtract got_base from a base
	relative relocation.
PR 10684.
1996-10-08 16:02:35 +00:00
Stu Grossman
8150179797 * configure.host: Add support for windows host (a build done
under the Microsoft build environment).
1996-10-08 15:54:19 +00:00
Ian Lance Taylor
fe4ff51570 * elf32-mips.c (elf_mips_isa): New static function.
(_bfd_mips_elf_merge_private_bfd_data): Don't warn about linking
	-mips1 and -mips2 code together, or -mips3 and -mips4 code.
1996-10-08 15:41:08 +00:00
Ian Lance Taylor
1233f74bc4 * archive.c (do_slurp_coff_armap): Only treat archive as little
endian for i960 COFF.
1996-10-07 15:45:44 +00:00
Ian Lance Taylor
65f56a5863 * coffcode.h (coff_compute_section_file_positions): Adjust sofar
by the change in size of the section when EXEC_P is not set.
1996-10-04 22:52:58 +00:00
Ian Lance Taylor
a9dd34a919 * coff-m68k.c (coff_rtype_to_howto): Define if not defined.
(m68kcoff_rtype_to_howto): New static function.
	* cf-m68klynx.c (coff_m68k_lynx_rtype_to_howto): Add the section
	VMA to the addend for a PC relative reloc.
1996-10-04 22:40:55 +00:00
Ian Lance Taylor
05a68c24cb * dep-in.sed: Rework backslash loop a bit to avoid bug in sed on
HP/UX 10.20.
	* Makefile.in: Rebuild dependencies.
1996-10-04 20:24:34 +00:00
Ian Lance Taylor
a3d5a7062d * dep-in.sed: Remove ../bfd/sysdep.h, since it will appear when
som.h is included.
1996-10-04 17:50:47 +00:00
Jeff Law
c00ae065d4 * Makefile.in: Remove explicit dependencies for mn10200 and
mn10300 files.
        (ALL_MACHINE_CFILES): Add cpu-mn10200.c and cpu-mn10300.c.
        (BFD32_BACKENDS_CFILES): Add elf32-mn10200.c and elf32-mn10300.c
        (dependencies): Rebuilt.
1996-10-04 17:44:55 +00:00
Ian Lance Taylor
1d871eb78f * cofflink.c (coff_link_add_symbols): Set obj_coff_keep_syms
during this function.
1996-10-03 23:17:36 +00:00
Ian Lance Taylor
6b5af55cea * elflink.c (_bfd_elf_create_linker_section): Only use an existing
section if the flags are compatible.
1996-10-03 22:48:20 +00:00
Ian Lance Taylor
dee9979493 * configure.in: Add havevecs, and put it in tdefaults.
* mpw-config.in: Likewise.
	* configure: Rebuild.
	* targmatch.sed: New file; a sed script to build targmatch.h from
	config.bfd.
	* config.bfd: Add #if, #endif, and comments for targmatch.h.
	* targets.c: Include "fnmatch.h".
	(struct targmatch): Define.
	(bfd_target_match): Define by including targmatch.h.
	(bfd_find_target): If the target is not found by name, search for
	it as a configuration triplet.
	* Makefile.in: Rebuild dependencies.
 	(BFD32_BACKENDS): Add aout-arm.o, aout-sparcle.o, hp300bsd.o,
	i386dynix.o, m68k4knetbsd.o, and riscix.o.
	(BFD32_BACKENDS_CFILES): Add aout-arm.c, aout-sparcle.c,
	hp300bsd.c, i386dynix.c, m68k4knetbsd.c, and riscix.c.
	(HFILES): Add targmatch.h.  Also, alphabetize and reindent.
	(CFILES): Remove i386dynix.c and hp300bsd.c.
	(targmatch.h): New target.
	(do_clean): Remove targmatch.h.

	* configure.in: Add BFD_NEED_DECLARATION(getenv).
	* acconfig.h: Add NEED_DECLARATION_GETENV.
	* configure, config.in: Rebuild.
	* sysdep.h: If NEED_DECLARATION_GETENV, declare getenv.
	* aout-adobe.c (aout_adobe_object_p): Don't declare getenv.
1996-10-03 21:36:08 +00:00
Jeff Law
ae1b99e42d Grrr. The mn10200 and mn10300 are _not_ similar enough to easily support
with a single generic configuration.  So break them up into two different
configurations.  See the individual ChangeLogs for additional detail.
1996-10-03 16:42:22 +00:00
Jason Molenda
4c7f3fdef5 * Makefile.in (do_clean): Move config.log to do_distclean. 1996-10-03 06:37:32 +00:00
Jeff Law
efc2b06463 * cpu-mn10x00.c, elf32-mn10x00.c: New files.
* Makefile.in (ALL_MACHINES): Add cpu-mn10x00.o.
        (BFD32_BACKENDS): Similarly for elf32-mn10x00.o.
        (elf32-mn10x00.o): Add dependencies.
        * archures.c (enum bfd_architecture): Add bfd_arch_mn10x00.
        (bfd_mn10x00_arch): Declare.
        (bfd_archures_list): Add bfd_mn10x00_arch.
        * config.bfd: Add mn10x00-*-*.
        * configure.in: Add bfd_elf32_mn10x00_vec.
        * elf.c (prep_headers): Handle bfd_arch_mn10x00.
        * targets.c (bfd_elf32_mn10x00_vec): Declare.
        (bfd_target_vector): Add bfd_elf32_mn10x00_vec.
        * bfd-in2.h, configure: Rebuilt.
Stubbing out Matsushita support.
1996-10-03 03:56:20 +00:00
Ian Lance Taylor
a0fe6c2dc6 * freebsd.h (N_GET_MAGIC_NET): Don't use ntohl.
(N_GETMID_NET, N_GETFLAG_NET): Likewise.
	(NO_SWAP_MAGIC): Don't define.
	(SWAP_MAGIC): Define.
1996-10-02 20:41:36 +00:00
Ian Lance Taylor
bf53bd9faa Wed Oct 2 15:46:45 1996 Klaus Kaempf <kkaempf@progis.de>
openVMS/Alpha: Provide filename and case_hack flags via
	symbol table from gas.
	Add case_hack code for symbol output from vax/vms.
	* evax-alpha.c (evax_initialize): Remove filename handling,
	filename is provided via symbol table.
	(evax_get_symtab): Use local symbol count when setting up table.
	* evax-egsd.c (_bfd_evax_slurp_egsd): Print correct name when
	debugging.
	(_bfd_evax_write_egsd): Skip file name symbol.
	* evax-emh.c (get_vms_time_string): Local function now.
	(_bfd_evax_write_emh): Extract source filename and case_hack flags
	from symbol table.
	* evax_write_etir (_bfd_evax_write_etir): Pass all symbol names
	through _bfd_evax_case_hack_symbol.
	* evax-misc.c (hash_string, _bfd_evax_case_hack_symbol): New
	functions.
	(_bfd_evax_basename): Removed.
	(_bfd_get_vms_time_string): Moved to evax-emh.c.
	* evax.h (evax_private_data_struct): Remove filename.
	(flag_hash_long_names, flag_show_after_trunc,
	flag_no_hash_mixed_case, vms_name_mapping): New flags for
	vms_case_hack.
1996-10-02 19:49:01 +00:00
Ian Lance Taylor
263d4a626b * cofflink.c (_bfd_coff_link_input_bfd): Don't crash if there is
no hash table entry for a global symbol.
1996-10-02 16:02:56 +00:00