Commit Graph

2445 Commits

Author SHA1 Message Date
Nick Clifton
def47b537e Add support for v850e and v850eq targets.
Add support for BFD_RELOC_V850_PCREL relocation.
1997-08-18 18:42:35 +00:00
Ian Lance Taylor
00c7247bce * coffgen.c (coff_find_nearest_line): Correctly handle the offset
argument as section relative, rather than an absolute address.
	From Jan Hoogenraad <hoogenrd@natlab.research.philips.com>.
1997-08-15 16:02:53 +00:00
David Edelsohn
76af94b9a4 Remove ARC sanitization. 1997-08-15 12:08:52 +00:00
Ian Lance Taylor
6ccdc203e6 * aoutx.h (NAME(aout,final_link)): Don't emit the string table if
there are no symbols.
1997-08-11 16:46:40 +00:00
Ian Lance Taylor
2af5a7e491 * coff-stgo32.c: Rename from coff-stubgo32.c to avoid old System V
file system 14 character limit.
	* Makefile.am, configure.in: Corresponding changes.
	* Makefile.in, configure: Rebuild.
1997-08-10 18:47:36 +00:00
Ian Lance Taylor
c40331ba92 * Makefile.am (docdir): Define.
* Makefile.in: Rebuild.
1997-08-06 22:57:44 +00:00
Ian Lance Taylor
097fd78abe * configure: Rebuild with autoconf 2.12.1. 1997-08-06 03:05:32 +00:00
Peter Schauer
e6071dc57f * rs6000-core.c (make_bfd_asection): New function to add a section
to the core file bfd.
	(rs6000coff_core_p):  Use make_bfd_asection to add the core file
	sections.
	Use BFD routines to seek, read and stat the core file.
	Handle .data sections from loaded objects and anonymously mmapped
	regions, these are available in AIX 4 core files.
1997-08-03 15:16:37 +00:00
Ian Lance Taylor
aa13d30d81 * configure.in: Set enable_shared before AM_PROG_LIBTOOL.
* acinclude.m4: Move acmacros.m4 in here.  Remove AM_PROG_LIBTOOL
	copy; use a patches libtool instead.
	* acmacros.m4: Remove.
	* Makefile.in, aclocal.m4, configure: Rebuild.
1997-08-01 17:01:36 +00:00
Ian Lance Taylor
5e377ed2f2 tweaks 1997-08-01 01:43:21 +00:00
Ian Lance Taylor
9df51f4f39 * VERSION: Remove. 1997-08-01 00:46:56 +00:00
Ian Lance Taylor
c073470881 * Makefile.am: New file, based on old Makefile.in.
* acinclude.m4: New file, copied from old aclocal.m4.
	* configure.in: Define and call AM_PROG_LIBTOOL and friends.
	Remove shared library handling; now handled by libtool.  Replace
	AC_CONFIG_HEADER with AM_CONFIG_HEADER.  Call AM_MAINTAINER_MODE,
	AM_CYGWIN32, and AM_EXEEXT.  Change all .o files to .lo.  Remove
	stamp-h handling in AC_OUTPUT.
	* acconfig.h: Mention PACKAGE and VERSION.
	* stamp-h.in: New file.
	* dep-in.sed: Change .o to .lo.
	* Makefile.in: Now built with automake.
	* aclocal.m4: Now built with aclocal.
	* config.in, configure: Rebuild.
1997-08-01 00:04:48 +00:00
Ian Lance Taylor
3745ac6db2 Thu Jul 31 12:09:20 1997 Geoff Keating <geoffk@ozemail.com.au>
* elf32-ppc.c (ppc_elf_size_dynamic_sections): Don't set TEXTREL
 	if there is only a relocation to a read-only but not allocatable
 	section (like .stab).
	* elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
	* elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
	* elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
	* elf32-mips.c (mips_elf_size_dynamic_sections): Likewise.
	* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.

	* elf32-ppc.c (ppc_elf_howto_raw): Correct various comments.
	(ppc_elf_create_linker_section): These sections are not
	created by the linker (that is, they are created by the user
	putting data in them). In particular, they can be the source
	and target of relocations.
	(ppc_elf_adjust_dynamic_symbol): Check postcondition of
 	bfd_elf32_link_record_dynamic_symbol.  Align 16-byte common
 	objects (for instance, 'long double') to 16-byte boundaries.
	(ppc_elf_size_dynamic_sections): Make the code that generates
	section symbols exactly the same as for sparc, reducing the
	number of section symbols output.
	(ppc_elf_check_relocs): Check postcondition of
	bfd_elf32_link_record_dynamic_symbol.  Make default case the
	same as corresponding code for sparc, fixing bug involving
	.rela.stabs.
	(ppc_elf_finish_dynamic_symbol): Fix case involving GOT symbols
 	forced to be local because of versioning (by replicating
 	corresponding change in sparc).  Treat R_PPC_RELATIVE RELA relocs
 	as usual in ELF, not as pseudo-REL relocs (as the sparc linker
 	does).
	(ppc_elf_relocate_section): Add handy debugging code for when
 	assertion fails.  Add some more 'symbol made local because of
 	versioning' cases.

	* elf32-ppc.c (ppc_elf_relocate_section): Cope with addend when
	processing a GOT relocation as required by ABI.
1997-07-31 16:15:02 +00:00
Ian Lance Taylor
13eb6306e7 Wed Jul 30 21:30:35 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elflink.h (NAME(bfd_elf,record_link_assignment)): Remove any
	version info if this symbol came from a dynamic object.
	(elf_link_add_object_symbols): Set the version info of a symbol
	only if the object actually contains version definitions and
	defines this symbol.
1997-07-31 01:35:46 +00:00
Rob Savoye
b1ee3d6a87 * aclocal.m4: Add CYGWIN and EXEEXT autoconf macros.
* configure.in: Use CYGWIN and EXEEXT autoconf macro to look for
        win32 dependencies.
        * configure: Regenerated with autoconf 2.12.
        * doc/Makefile.in: Add $(EXEEXT) to chew executable.
1997-07-29 00:37:04 +00:00
Felix Lee
8dbbb8be9b * coffswap.h (coff_swap_aux_in): add semicolon to make MSVC happy. 1997-07-28 21:59:14 +00:00
Peter Schauer
f366291b4f * rs6000-core.c (rs6000coff_core_p): If CORE_TRUNC is set, print
a warning rather than returning an error.
1997-07-28 09:52:23 +00:00
Felix Lee
3e94ea70e6 * cisco-core.c: define signals for wingdb. 1997-07-25 21:58:27 +00:00
Ian Lance Taylor
fbd550db30 * ecofflink.c (bfd_ecoff_debug_accumulate): Only merge files with
the same number of aux entries.
PR 12962.
1997-07-25 20:27:50 +00:00
Jeff Law
491501de77 * som.c (hppa_som_gen_reloc_type): Use R_DATA_EXPR for the
difference of two symbols if the relocation size is 32 bits.
        (som_write_fixups): Handle R_DATA_EXPR.
Useful stuff from one of the aborted attempts to fix 12912.
1997-07-25 14:20:12 +00:00
Ian Lance Taylor
1868acf81d * coff-i386.c (coff_i386_reloc): Don't offset a common symbol by
its value if COFF_WITH_PE is defined.
1997-07-23 20:08:37 +00:00
Ian Lance Taylor
88a25e44d3 Tue Jul 22 17:19:45 1997 Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>
* config.bfd (i[3456]86-*-msdosdjgpp*): New target.
	(i[3456]86-*-go32*): Change to be like new msdosdjgpp*.
1997-07-22 22:33:02 +00:00
Ian Lance Taylor
179ce6e10b Tue Jul 22 17:19:45 1997 Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>
* coff-stubgo32.c: New file.
	* go32stub.h: New file.
	* coff-i386.c: If COFF_GO32_EXE, include coff/go32exe.h.
	* targets.c (go32stubbedcoff_vec): Declare.
	(bfd_target_vector): Add go32stubbedcoff_vec.
	* configure.in (go32coff_vec): New target vector.
	(go32stubbedcoff_vec): Likewise.
	* Makefile.in: Rebuild dependencies.
 	(BFD32_BACKENDS): Add coff-stubgo32.o.
	(BFD32_BACKENDS_CFILES): Add coff-stubgo32.c.
	(HFILES): Add go32stub.h.
1997-07-22 22:29:11 +00:00
Ian Lance Taylor
e8640d5e09 Tue Jul 22 17:19:45 1997 Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>
* coffswap.h (coff_swap_filehdr_in): Invoke
	COFF_ADJUST_FILEHDR_IN_PRE and COFF_ADJUST_FILEHDR_IN_POST if they
	are defined.
	(coff_swap_filehdr_out): Invoke COFF_ADJUST_FILEHDR_OUT_PRE and
	COFF_ADJUST_FILEHDR_OUT_POST if they are defined.
	(coff_swap_aux_in): Invoke COFF_ADJUST_AUX_IN_PRE and
	COFF_ADJUST_AUX_IN_POST if they are defined.
	(coff_swap_aux_out): Invoke COFF_ADJUST_AUX_OUT_PRE and
	COFF_ADJUST_AUX_OUT_POST if they are defined.
	(coff_swap_scnhdr_in): Invoke COFF_ADJUST_SCNHDR_IN_PRE and
	COFF_ADJUST_SCNHDR_IN_POST if they are defined.
	(coff_swap_scnhdr_out): Invoke COFF_ADJUST_SCNHDR_OUT_PRE and
	COFF_ADJUST_SCNHDR_OUT_POST if they are defined.
1997-07-22 21:20:46 +00:00
Ian Lance Taylor
60f1ad85ac * configure.in: Check for fdopen.
* configure, config.in: Rebuild.
	* opncls.c (bfd_fdopenr): Check HAVE_FDOPEN rather than VMS or
	__GO32__.  Reindent a bit.
1997-07-22 19:11:04 +00:00
Ian Lance Taylor
f1c88b48db * sunos.c (sunos_create_dynamic_sections): Set SEC_LINKER_CREATED
flag for newly created sections.
	(sunos_add_dynamic_symbols): Don't discard newly created sections
	if shared library is dynobj.
1997-07-21 03:06:42 +00:00
Ian Lance Taylor
3fc2c14638 * elf.c (map_sections_to_segments): When checking whether
including a section in a segment would force us to skip a page,
	align the address of the next segment to avoid wraparound
	problems.
PR 12828.
1997-07-14 22:35:27 +00:00
Fred Fish
7f2e68542b * coffcode.h (coff_write_object_contents): Initialize
target id field to TIC80_TARGET_ID.
      * coffswap.h (coff_swap_filehdr_out): Swap out target id field
      if used.
      (coff_swap_filehdr_in): Swap in target id field if used.
1997-07-09 00:19:41 +00:00
Ian Lance Taylor
4049609622 * coff-i386.c (coff_i386_is_local_label_name): New static function
if TARGET_UNDERSCORE.
	(coff_bfd_is_local_label_name): Define if TARGET_UNDERSCORE.
	(i386coff_vec): Add SEC_CODE and SEC_DATA to section_flags.
1997-07-07 20:42:48 +00:00
Ian Lance Taylor
01da2d5213 * elf32-m68k.c (howto_table): Use complain_overflow_bitfield, not
complain_overflow_signed, for 32 bit PC relative relocations.
1997-06-30 18:30:55 +00:00
Ian Lance Taylor
677525e961 * elflink.h (elf_link_add_object_symbols): When a version
indirection symbol is overridden, make the original symbol point
	at the real overriding symbol.
1997-06-26 16:06:03 +00:00
Ian Lance Taylor
20db24950c * elf.c (bfd_elf_string_from_elf_section): Check for an invalid
string index.
1997-06-26 15:40:41 +00:00
Ian Lance Taylor
8211c92986 * elflink.h (elf_link_output_extsym): Use the right section for a
common symbol.
	* elf32-mips.c (mips_elf_link_output_symbol_hook): If a common
	symbol was in .scommon, mark it as SHN_MIPS_SCOMMON.
PR 12697.
1997-06-26 05:27:56 +00:00
Ian Lance Taylor
e9982ee534 Wed Jun 25 12:43:10 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
* elflink.h (elf_merge_symbols): Resolve indirect and warning
	symbols before checking for new symbols.
1997-06-25 16:45:12 +00:00
Ian Lance Taylor
0ac96a37f6 Wed Jun 25 12:43:10 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
* elfcore.h (elf_corefile_note): Move out of HAVE_SYS_PROCFS_H.
1997-06-25 16:43:48 +00:00
Ian Lance Taylor
a90f6864be * coffgen.c (coff_object_p): Read the f_opthdr bytes from the
file, not aoutsz bytes (they are different in XCOFF .o files).
1997-06-24 15:22:35 +00:00
Ian Lance Taylor
541a4b5425 * elflink.h (elf_merge_symbol): In the case of a new defined
symbol overriding an old defined symbol, return the hash table
	entry which we modify, even if it is the target of an
	indirection.
	(elf_link_add_object_symbols): If the real name of the symbol gets
	overridden, convert the versioned symbol into an indirect symbol
	to the real symbol.
1997-06-24 02:28:03 +00:00
Ian Lance Taylor
044d7d4944 * elflink.h (elf_merge_symbol): New static function, broken out of
elf_link_add_object_symbols.
	(elf_link_add_object_symbols): Call it.
1997-06-23 22:06:29 +00:00
Ian Lance Taylor
3ce6d9410c * coff-i386.c (i3coff_object_p): If COFF_IMAGE_WITH_PE, hack to
handle case where COFF filehdr does not immediately follow PE
	header.
	* coffgen.c (coff_object_p): Remove useless seek to current
	location.
1997-06-22 23:41:55 +00:00
Ian Lance Taylor
ba0e3b78dc * linker.c (link_action): Change COMMON_ROW/indr to from CREF to
REFC.
1997-06-18 23:04:29 +00:00
Ian Lance Taylor
c4badc83ec revert last patch 1997-06-18 23:02:58 +00:00
Ian Lance Taylor
c68867051c * elflink.h (elf_link_add_object_symbols): Don't let a common
symbol in a regular object override a common symbol in a shared
	object if the latter was found via an indirect symbol.
1997-06-18 15:36:33 +00:00
Ian Lance Taylor
ac44b2b9c7 * cofflink.c (_bfd_coff_link_input_bfd): If stripping debugging
symbols, skip N_ABS symbols with debugging storage classes.
PR 12630.
Also a couple of warning and formatting fixes.
1997-06-17 15:56:09 +00:00
Ian Lance Taylor
c1292d9ba9 whitespace tweaks 1997-06-16 23:33:49 +00:00
Ian Lance Taylor
b6eb341bf8 Mon Jun 16 18:56:27 1997 Geoff Keating <geoffk@ozemail.com.au>
* elf32-ppc.c (ppc_elf_relocate_section): Don't emit R_PPC_REL*
 	relocs in shared libraries which refer to local symbols.  Cope
 	with addend when processing a GOT relocation.

	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Only create symbols
	for sections that the linker didn't create.
	(ppc_elf_finish_dynamic_sections): Only try to write out a section
 	symbol if it was created in ppc_elf_size_dynamic_sections.
	(ppc_elf_relocate_section): Complain if we have to generate a reloc
	relative to a section for which we didn't output a symbol.

	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Clean up.  PLT
 	relocs are 'rela' relocs, like everything else.  .rela.plt is not
 	a read-only section, so we don't have to special-case it.

	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Entries in the
	.rela.bss section are (of course) 'rela' relocs not 'rel' relocs.

	* elf32-ppc.c (ppc_elf_check_relocs): Initialise srelgot.
	(ppc_elf_relocate_section): @got offsets are 4 from start of the
	actual .got section.
	* elflink.c (_bfd_elf_create_got_section): The three reserved
	words start from the symbol '_GLOBAL_OFFSET_TABLE_'.

	* elf32-ppc.c (ppc_elf_size_dynamic_sections): '.rela' is 5
	characters, not 4.

	* elf32-ppc.c (ppc_elf_check_relocs): Use
	_bfd_elf_create_got_section to create the GOT rather than
	ppc_elf_create_linker_section. Create the '.rela.got' section
	ourselves.
	(ppc_elf_finish_dynamic_symbol): Set up GOT relocations when a
	symbol has a GOT entry.
	(ppc_elf_relocate_section): Record when a symbol is used through
	the GOT, and allocate space in the GOT for each such symbol.
	(ppc_elf_adjust_dynamic_symbol): Delete unused .got.plt stuff.
	(ppc_elf_create_linker_section): Delete unused LINKER_SECTION_GOT
	stuff.

	* elf32-ppc.c (ppc_elf_howto_raw): GOT16_HA relocs should be
	treated in a similar way to ADDR16_HA relocs.
	(ppc_elf_relocate_section): PLTREL24 relocs do not get copied into
	shared objects; the linker must deal with them.
	(ppc_elf_create_linker_section): Stop setting
	_GLOBAL_OFFSET_TABLE_ to the wrong value; delete unused
	LINKER_SECTION_PLT stuff.
	(ppc_elf_check_relocs): Delete unused LINKER_SECTION_PLT stuff.
	(ppc_elf_finish_dynamic_sections): Use BFD calls to get GOT
	section, not ELF-specific calls.
	(elf_backend_plt_not_loaded): Set to 1.
	(elf_backend_got_symbol_offset): Set to 4.
	* elf-bfd.h (elf_backend_data): Add 'plt_not_loaded' member
	for when ld.so fills in the PLT; and 'got_symbol_offset' member.
	* elflink.c (_bfd_elf_create_dynamic_sections): Apply
	plt_not_loaded member.
	(_bfd_elf_create_got_section): Apply got_symbol_offset.
	* elfxx-target.h (elf_backend_plt_not_loaded): Set default to
	'loaded'.
	(elf_backend_G_O_T_offset): Set default to 0.
	(elfNN_bed): Set added fields.

	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Was setting
	DT_RELENT in shared objects; should be DT_RELAENT.

	* elf32-ppc.c (ppc_elf_relocate_section): Propagate
	R_PPC_ADDR16_HA relocs to shared objects. Cope with case where
	such a reloc (in a non-shared object) refers to a symbol that's
	not defined.
1997-06-16 23:05:27 +00:00
Ian Lance Taylor
90d7b9b9dd * elf32-i386.c (elf_i386_relocate_section): When generating a
shared library, do the relocation if the input section is not
	allocated in memory.
1997-06-16 19:24:23 +00:00
Ian Lance Taylor
fdc944a7fb Mon Jun 16 14:42:14 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
* elfcode.h (put_signed_word): Define.
	(get_signed_word): Define.
	(elf_swap_reloca_in): Use get_signed_word for the r_addend field.
	(elf_swap_reloca_out): Use put_signed_word for the r_addend
	field.
	* elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Use
	bfd_get_signed_32 to set the r_addend field.
	* elf64-mips.c (mips_elf64_swap_reloca_in): Use
	bfd_h_get_signed_64 to set the r_addend field.
1997-06-16 18:45:30 +00:00
Ian Lance Taylor
c19fbe0f57 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Call
elf_link_assign_sym_version before elf_adjust_dynamic_symbol.
	(elf_fix_symbol_flags): New static function, broken out of
	elf_adjust_dynamic_symbol.
	(elf_adjust_dynamic_symbol): Call elf_fix_symbol_flags.
	(elf_link_assign_sym_version): Likewise.  Permit a symbol to be
	forced local even if NEEDS_PLT is set.  When forcing a symbol to
	be local, clear NEEDS_PLT.
	(elf_link_output_extsym): Remove unused local bed.
1997-06-16 18:41:19 +00:00
Jeff Law
bb2a6cfbfd * elf32-mn10300.c (elf32_mn10300_link_hash_entry): New structure
for derived elf linker hash table entries.  References to
        elf_link_hash_entry changed appropriately.
        (elf32_mn10300_link_hash_table): New structure for derived elf
        linker hash table.
        (elf32_mn10300_hash_table): Define.
        (elf32_mn10300_link_hash_traverse): Likewise.
        (elf32_mn10300_link_hash_newfunc): New function.
        (elf32_mn10300_link_hash_table_create): Likewise.
        (elf32_mn10300_finish_hash_table_entry): Likewise.
        (mn10300_elf_relax_section): Handle "call" -> "calls", removal
        of prologue code, and call:32->call:16 relaxing.
        (compute_function_info: New function.
        (bfd_elf32_bfd_ilink_hash_table_create): Define.
1997-06-12 04:50:18 +00:00
Fred Fish
79a682fd3e Back out last change, there are too many more to fix them all. 1997-06-12 04:26:37 +00:00