Commit Graph

1435 Commits

Author SHA1 Message Date
Ian Lance Taylor 0cacbcbe6e * ldlang.c (longest_section_name): Remove.
(SECTION_NAME_MAP_LENGTH): Define.
	(print_size, print_alignment, print_fill, print_section): Remove.
	(print_flags): Remove.
	(lang_map): Rewrite.
	(print_output_section_statement): Rewrite.
	(print_assignment): Rewrite.
	(print_one_symbol): Rewrite.
	(print_input_section): Rewrite.
	(print_fill_statement): Rewrite.
	(print_data_statement): Rewrite.
	(print_address_statement): New static function.
	(print_reloc_statement): Rewrite.
	(print_padding_statement): Rewrite.
	(print_wild_statement): Rewrite.
	(print_statement_list): Clean up.
	(print_statement): Clean up.  Some minor output changes.
	(print_statements): Clean up.
	(load_symbols): Put another - before -whole-archive.
	* ldexp.c (exp_print_tree): Change etree_value and etree_rel to
	print 0x and to omit leading zeroes.  For etree_rel, use %B to
	print the BFD.  For etree_assign, remove the space after the
	destination name.
	* ldwrite.c: Include "libiberty.h".
	(clone_section): Call xstrdup, not strdup.
	(ldwrite): Don't print any map information.
	(print_symbol_table, print_file_stuff, print_symbol): Remove.
	* ldmain.c (main): Call lang_map when appropriate.
	* ldmisc.c (vfinfo): Add support for %W.
	(print_address): Remove.
	* ldmisc.h (print_address): Don't declare.
	* Makefile.in: Rebuild dependencies.
1996-04-29 21:12:49 +00:00
Ian Lance Taylor ec7d9f3d3c Mon Apr 29 10:33:10 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* ld-shared/shared.exp: Run the shared library tests on
 	Linux/m68k.
1996-04-29 14:34:44 +00:00
Ian Lance Taylor df872c9ea4 Mon Apr 29 10:29:07 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* configure.host (m68*-*-linux*): Add -dynamic-linker to
 	HOSTING_CRT0.  Search -lgcc both before and after -lc in
 	HOSTING_LIBS.  Look for crt{begin,end}.o in the compiler directory
 	at first.
	(i[345]86-*-linux*): Look for crt{begin,end}.o in the compiler
	directory at first.
1996-04-29 14:34:14 +00:00
Ian Lance Taylor efa6c49704 * ldmisc.h (demangle): Declare.
* ldmisc.c: Include "libiberty.h".  Include demangle.h with "",
 	not <>.
	(demangle): Make non-static.  Remove remove_underscore paramter.
	Always return an allocated string.
	(vfinfo): Free result of demangle.  Add case 'G'.  Use %T to print
	functionname, rather than calling demangle.  Print a colon between
	the BFD(section+offset) and the line number.
	* ldmain.c (add_archive_element): Improve format of archive
	information in map file.
	(constructor_callback): Don't print anything to the map file.
	* ldlang.c (lang_one_common): Improve format of common symbol
	information in map file.
	* ldctor.c (ldctor_build_sets): If producing a map file, print set
	information.
	* ldwrite.c (print_symbol_table): Print a newline before the
	header in the map file.
	* Makefile.in: Rebuild dependencies.
1996-04-26 22:15:10 +00:00
Ian Lance Taylor f0f80b13f8 * ldmisc.c (vfinfo): Reindent. 1996-04-26 18:42:55 +00:00
Ian Lance Taylor 6799c638e5 * ldlang.c (lang_size_sections): If _cooked_size is not 0, then
don't clobber it when not relaxing.

	* ld.h (ld_config_type): Remove traditional_format field.
	* ldmain.c (main): Use link_info.traditional_format rather than
	config.traditional_format.
	* ldlang.c (ldlang_open_output): Likewise.
	* lexsup.c (parse_args): Likewise.
	* emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Likewise.
	* mpw-eppcmac.c (gldppcmacos_parse_args): Likewise.
1996-04-22 21:32:58 +00:00
Ian Lance Taylor 6429ad7e58 * ldlang.c (wild_doit): Discard debugging sections if we are
stripping debugging information.
1996-04-22 16:22:52 +00:00
Ian Lance Taylor 14706a96af * emulparams/z8002.sh (ARCH): Set to z8002, not z8k. 1996-04-22 16:08:18 +00:00
Ian Lance Taylor e3e69b1328 * ldexp.c (fold_binary): Correct handling of subtraction with
absolute values.
	(fold_name): Permit symbols in lang_allocating_phase_enum.
1996-04-16 20:53:55 +00:00
Michael Meissner 56074c5569 Add Solaris/linux support 1996-04-16 14:48:02 +00:00
Rob Savoye 10533b5b48 * scripttempl/aout.sc: Add PROVIDE (__stack = 0) so I can use it
in m68k/crt0.S without things blowing up.
1996-04-15 20:53:00 +00:00
Rob Savoye 07f48792d2 * scripttempl/m68kcoff.sc: Remove default address for .data so
.text, .data, and .bss are all sequential.
1996-04-12 22:47:01 +00:00
Ian Lance Taylor aa59d90e55 * scripttempl/m68kcoff.sc: Remove regions and simplify. 1996-04-11 16:07:40 +00:00
Jeff Law d26c498b31 * scripttempl/h8300.sc: Add the "8-bit area" in the upper 256
bytes of the address space.  Put data from the ".eight" sections
        into the 8-bit area.
        * scripttempl/h8300h.sc: Likewise.
8-bit area changes for hmse.
1996-04-10 20:40:24 +00:00
David Edelsohn b279f82e00 * emultempl/generic.em (gld${EMULATION_NAME}_before_parse):
Pass $ARCH to ldfile_set_output_arch instead of setting
	ldfile_output_architecture directly.
1996-04-09 21:11:51 +00:00
Ian Lance Taylor 517a7cafec * ld.texinfo: Rearrange option documentation. 1996-04-09 20:36:27 +00:00
Ian Lance Taylor bf7198b36c tweak last change 1996-04-09 19:30:06 +00:00
Ian Lance Taylor 1ffec9e606 * lexsup.c (ld_options): New static array.
(parse_args): Build shortopts and longopts from ld_options array.
	(help): New static function.
	* ldver.h (help): Don't declare.
	* ldver.c (ldversion): Reindent.
	(help): Remove.
1996-04-09 19:20:04 +00:00
Michael Meissner 28ad0357c6 Put .init/.fini in correct places. 1996-04-09 18:23:54 +00:00
Ian Lance Taylor 7ec9d82515 * ld.texinfo, ld.1: Mention -E as a synonym for -export-dynamic. 1996-04-09 16:19:51 +00:00
Ian Lance Taylor 4fea1383f1 formatting change 1996-04-08 20:27:38 +00:00
Ian Lance Taylor 0c4d3f6fc7 * emultempl/elf32.em: When checking for a native emulation, check
that the current emulation is the default emulation.
	* emultempl/sunos.em: Likewise.
1996-04-08 20:03:53 +00:00
Ian Lance Taylor b4cb4ea2ac * configure.in: Permit --enable-shared to specify a list of
directories.
	* configure: Rebuild.
1996-04-08 18:45:08 +00:00
Ian Lance Taylor 90ba7e6508 * lexsup.c (parse_args): Add -E as a synonym for -export-dynamic,
for HP/UX compatibility.
1996-04-08 15:57:57 +00:00
Ian Lance Taylor 6cc7365e2b * emultempl/elf32.em (gld${EMULATION_NAME}_check_ld_so_conf): New
static function, if ${host} = ${target}.
	(gld${EMULATION_NAME}_after_open): Call check_ld_so_conf to find a
	needed shared library if ${host} = $[target}.
1996-04-05 21:22:31 +00:00
Ian Lance Taylor 8a42aa5491 * configure.tgt: Add i[345]86-*-freebsdelf* target; from John
Polstra <jdp@polstra.com>.
1996-04-05 19:32:39 +00:00
Jackie Smith Cashion 4864a04fc9 Fri Apr 5 18:11:25 1996 James G. Smith <jsmith@cygnus.co.uk>
* emulparams/elf32{b,l}4300.sh (MACHINE): Add explicit
 	architecture number.
	* scripttempl/elf.sc: Use $MACHINE definition if present.
	* configure.tgt (targ_extra_emuls): Force 4100 build to use same
 	template as 4300.
1996-04-05 17:17:06 +00:00
Ian Lance Taylor 0932869065 * ldlang.c (lang_size_sections): Change region check to handle
regions which end at the highest possible address correctly.
	From Roland Weber <roweber@ira.uka.de>.
1996-04-01 22:51:35 +00:00
Ian Lance Taylor 23595ba57a * ldlang.c (section_already_linked): New static function.
(wild_doit): Discard sections with SEC_EXCLUDE set if not doing a
	relocateable link.  Don't worry about section being NULL, since it
	never should be.  Don't call init_os unless the section is going
	to be added.
	(ldlang_add_file): Call section_already_linked for each section.
	* ldmain.c (multiple_definition): Don't warn about multiple
	definitions in sections which are being discarded.
1996-04-01 16:52:17 +00:00
Steve Chamberlain ea461c67c1 * scripttempl/{ppcpe.sc, pe.sc} (.junk): Remove and use /DISCARD/.
* emultempl/pe.em (init): Remove special case PPC code.
1996-03-31 08:39:06 +00:00
Steve Chamberlain 0c1abe0623 * scripttempl/{ppcpe.sc, pe.sc} (.junk): Remove and use /DISCARD/. 1996-03-31 08:37:51 +00:00
Jeff Law 0e88ffa284 * scripttempl/h8300.sc: Make vectors section 0xc4 bytes long
so as not to overwrite the magic syscall entry at 0xc4.
        * scripttempl/h8300h.sc: Likewise.
hmse.
1996-03-29 07:01:22 +00:00
David Edelsohn bacc170351 * configure.tgt (sparc64-*-solaris2*): Delete.
Stick with sparc-*-solaris2*.
1996-03-28 19:06:49 +00:00
Ian Lance Taylor cf2e4f5fde * ld.h (DISCARD_SECTION_NAME): Define to "/DISCARD/".
* ldlang.c (init_os): Fail on an attempt to initialize any section
	named DISCARD_SECTION_NAME.
	(wild_doit): Discard input sections assigned to an output section
	named DISCARD_SECTION_NAME.
	* ld.texinfo: Document use of /DISCARD/.
1996-03-27 18:17:28 +00:00
Ian Lance Taylor 64664e69cb * ldlang.c: Fix some indentation and comments. 1996-03-27 17:34:15 +00:00
Ian Lance Taylor 28113e82bd * ldmain.c (main): Call bfd_set_error_program_name. 1996-03-26 23:16:01 +00:00
Ian Lance Taylor 4bcc5d3238 * ldmisc.c (vfinfo): case 'I': If the file is not in an archive,
and the local symbol name does not match the filename, print the
	filename as well.
1996-03-21 18:32:34 +00:00
Ian Lance Taylor 8ef401e289 Patches from John Polstra <jdp@polstra.com> for FreeBSD ELF:
* lexsup.c (parse_args): -Bshareable is a synonym for -shared.
	* emulparams/elf_i386.sh (NONPAGED_TEXT_START_ADDR): Make the same
	as TEXT_START_ADDR.
1996-03-21 18:19:38 +00:00
Ian Lance Taylor baaaf6f299 Wed Mar 20 18:18:25 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* ld.texinfo: Fix typos.  Use @pxref only inside parentheses.
1996-03-20 23:19:47 +00:00
Ian Lance Taylor 0f5898ccf9 * ldmain.c (add_wrap): New function.
* ldmain.h (add_wrap): Declare.
	* lexsup.c (parse_args): Call add_wrap.
1996-03-20 21:57:31 +00:00
David Edelsohn 60e4268030 * configure.host (sparc*-*-solaris2* host): Accept any sparc variant. 1996-03-20 00:45:57 +00:00
Jeff Law deddae6681 * scripttempl/h8300.sc: Change name of page zero memory
from "null" to "vectors".  Create an output section for
        vectors.  Add comments on how to explicitly place items
        in the vector table.
        * scripttempl/h8300h.sc: Likewise.
hmse
1996-03-14 00:49:42 +00:00
Ian Lance Taylor 96704ebcbc * emultempl/lnk960.em (machine_table): Add jx and hx. 1996-03-13 22:41:25 +00:00
Ian Lance Taylor 5cb57c2c07 * genscripts.sh: Don't use ${9:-xx}, since Ultrix /bin/sh doesn't
support it.
1996-03-13 17:40:58 +00:00
Ian Lance Taylor e3d73386d7 * lexsup.c (parse_args): Handle --wrap.
* ldmain.c (main): Initialize link_info.wrap_hash.
	* ldexp.c (fold_name): Use bfd_wrapped_link_hash_lookup in DEFINED
	and NAME cases.
	* ld.texinfo, ld.1: Document --wrap.
1996-03-12 23:39:18 +00:00
Ian Lance Taylor 4b7d2399ae Tue Mar 12 12:43:59 1996 David Mosberger-Tang <davidm@koala.azstarnet.com>
* ld.h (ld_config_type): Add warn_multiple_gp field.
	* lexsup.c (parse_args): Handle --warn-multiple-gp.
	* ldmain.c (warning_callback): Suppress multiple gp values warning
	if --warn_multiple_gp was not used.
	* ld.texinfo, ld.1: Document --warn-multiple-gp.
1996-03-12 17:47:55 +00:00
Ian Lance Taylor ea2488ad2e * configure: Rebuild with autoconf 2.8. 1996-03-12 17:22:07 +00:00
Ian Lance Taylor 02df835b83 Don't do SunOS style dynamic linking for sparc-aout:
* configure.tgt (sparc64-*-aout*): Use sparcaout, not sun4.
	(sparclite*-fujitsu-*, sparc*-*-aout): Likewise.
	(sparc*-wrs-vxworks*): Likewise.
	* emulparams/sparcaout.sh: New file.
	* Makefile.in (ALL_EMULATIONS): Add esparcaout.o.
	(esparcaout.c): New target.
1996-03-12 17:04:25 +00:00
J.T. Conklin c56c921821 * scripttmpl/elfppc.sc (.sdata2, .sbss2): Implement Feb 2 change
in a different manner to work around differences in shell variable
expansion.
1996-03-07 00:12:34 +00:00
Ian Lance Taylor 6771b6e23c * ldemul.h (ldemul_unrecognized_file): Declare.
(ldemulation_xfer_type): Add unrecognized_file field.
	* ldemul.c (ldemul_unrecognized_file): New function.
	* ldlang.c (load_symbols): If a file can not be recognized, call
	ldemul_unrecognized_file before trying it as a linker script.
	* aix.em (gld${EMULATION_NAME}_unrecognized_file): New static
	function.
	(gld${EMULATION_NAME}_read_file): Use FOPEN_RT, not "r".
	(ld_${EMULATION_NAME}_emulation): Initialize unrecognized_file.
1996-03-06 23:12:41 +00:00
Ian Lance Taylor 3d0c8fa1d4 * ldlang.c (wild): Handle foo.a(.text) by mapping each included
member of foo.a separately.  From Jouke Numan <jnuman@bazis.nl>.
1996-03-04 19:12:43 +00:00
Ian Lance Taylor 16385918b7 Fri Mar 1 10:24:59 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* emultempl/elf32.em (gld${EMULATION_NAME}_find_exp_assignment):
	Search trinary.cond rather than searching trinary.lhs twice.
1996-03-01 15:27:57 +00:00
Stan Shebs e24b45a873 * mpw-make.sed: Edit out shared library support.
(@TDIRS@): Edit out, can't use genscripts.
1996-02-27 23:21:35 +00:00
Ian Lance Taylor 228b04d2c5 Tue Feb 27 15:09:21 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* configure.tgt (m68k-*-linuxaout*, m68k-*-linux*): New targets.
	* emulparams/m68klinux.sh: New file.
	* emultempl/linux.em (gld${EMULATION_NAME}_before_allocation):
	Call bfd_${EMULATION_NAME}_size_dynamic_sections instead of
	bfd_linux_size_dynamic_sections.
	* Makefile.in (ALL_EMULATIONS): Add em68klinux.o.
	(em68klinux.c): New target.
	* configure.host (m68*-*-linuxaout*, m68*-*-linux*): New hosts.

Tue Feb 27 12:55:46 1996  Ian Lance Taylor  <ian@cygnus.com>

	* Makefile.in (ALL_EMULATIONS): Sort into alphabetical order.
	Fill in missing entries.
1996-02-27 20:46:55 +00:00
Ian Lance Taylor 431e1e858c update copyright 1996-02-27 18:06:52 +00:00
Ian Lance Taylor 3c8deccc4f * lexsup.c (parse_args): Recognize --no-whole-archive.
* ldlang.h (lang_input_statement_type): Add whole_archive field.
	* ldlang.c (new_afile): Set whole_archive field.
	(load_symbols): Check input file specific whole_archive field
	rather than global variable.
	* ld.texinfo, ld.1: Document --no-whole-archive.
PR 9094.
1996-02-27 17:59:46 +00:00
Ian Lance Taylor fc7b6582a9 * configure.tgt: Correct gldi960 to gld960. 1996-02-20 21:12:02 +00:00
Ian Lance Taylor 169df8d594 * emultempl/elf32.em (gld${EMULATION_NAME}_check_needed): Check
the SONAME if it is available.
	(gld${EMULATION_NAME}_stat_needed): Use the SONAME, not the
	filename, when checking for conflicting library versions.  Don't
	assume that the suffix is only numbers and dots.
1996-02-19 17:40:42 +00:00
Ian Lance Taylor c653b37092 * ld.texinfo: Mention that -R can be used for -rpath. 1996-02-19 16:17:33 +00:00
Ian Lance Taylor 9e2ef09802 * configure.host: Check for 'do not mix' from native linker before
trying to use -rpath.
1996-02-18 20:06:40 +00:00
Ian Lance Taylor c99fbc42b5 * configure.in: Remove explicit substitution of CFLAGS; autoconf
does it anyhow.
	* configure: Rebuild.
	* Makefile.in (LDFLAGS): Set to @LDFLAGS@.
1996-02-15 22:17:27 +00:00
Ian Lance Taylor 7e19f60e5a * configure.in: Call AC_PROG_CC before configure.host.
* configure: Rebuild.
	* configure.host: Remove go32 host, since it should no longer be
	necessary.  Don't set CC for romp host.
1996-02-15 21:32:43 +00:00
Ian Lance Taylor 22aa130282 * scripttempl/elf.sc: Don't skip a page in virtual memory space if
the text segment ends exactly on a page boundary.
1996-02-15 20:28:52 +00:00
Ian Lance Taylor ad43e45b46 * configure.in: Substitute RPATH_ENVVAR.
* configure: Rebuild.
	* configure.host: Set RPATH_ENVVAR.
	* Makefile.in (RPATH_ENVVAR): New variable.
	(check): Use $(RPATH_ENVVAR) rather than LD_LIBRARY_PATH.
1996-02-15 19:00:07 +00:00
Ian Lance Taylor 95d31c3c8f * configure.tgt (*-*-ieee*): New target; use vanilla.
Wed Feb 14 18:49:01 1996  Alan Modra  <alan@spri.levels.unisa.edu.au>

	* configure.in: Redo emulation handling so that each emulation
	searches the correct tool directory, based on the target alias.
	For example, "configure --enable-targets=m68k-coff i386-linux"
	will search /usr/local/i386-linux/lib for linux and
	/usr/local/m68k-coff/lib for m68k-coff.
	* configure: Rebuild.
	* configure.tgt: Add special tdir settings for Linux.
	* Makefile.in: Add @TDIRS@.  Pass "$(tdir_EMUL)" to ${GENSCRIPTS}
	for each eEMUL.c target.
	* genscripts.sh: Accept specific alias as 9th argument, and use it
	in LIB_PATH.
1996-02-14 23:54:05 +00:00
Ian Lance Taylor 307585f1c9 Wed Feb 14 16:38:36 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de>
* ldlang.c (lang_set_startof): Don't do anything for a
	relocateable link.

	* ldgram.y (mri_script_file): Call mri_draw_tree.
	* mri.c (mri_draw_tree): Make globally visible.  Don't bother to
	create memory regions.
	(mri_load): Don't call mri_draw_tree.
	* mri.h (mri_draw_tree): Declare.

	* configure.tgt (m68*-*-psos): New target.
	* emulparams/m68kpsos.sh: New file.
	* scripttempl/psos.sc: New file.
	* Makefile.in (ALL_EMULATIONS): Add em68kpsos.o.
	(em68kpsos.c): New target.
1996-02-14 21:43:54 +00:00
Ian Lance Taylor db3bfcd64c * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Strip
`:foo' from ${ARCH}.
1996-02-14 16:10:18 +00:00
Ian Lance Taylor 9cb8a981e9 Tue Feb 13 15:58:58 1996 Bryan Ford <baford@snake.cs.utah.edu>
* scripttempl/i386msdos.sc: Don't pad the .text section.  Put
	.rodata in .data.
1996-02-13 21:00:44 +00:00
Ian Lance Taylor b6acf0846a * configure.host: Set HDLFLAGS for *-*-hpux with --enable-shared. 1996-02-13 20:33:12 +00:00
Ian Lance Taylor 625489271d * emultempl/elf32.em (gld${EMULATION_NAME}_stat_needed): Warn if
it looks like we might be linking in two different versions of the
	same shared library.  Based on a patch from H J Lu <hjl@zoom.com>.
1996-02-13 19:05:38 +00:00
Ian Lance Taylor 708f7fbcd3 * ldlang.c (lang_size_sections): Increment the section size when a
padding statement is encountered.
PR 8965.
1996-02-09 00:26:56 +00:00
Ian Lance Taylor 2e5983457a * configure.in: Look for --enable-shared. Change the value of
BFDLIB when linking against a shared library on SunOS.
	* configure: Rebuild.
	* configure.host: If using a shared BFD library, try to pass a
	reasonable -rpath option when linking.
	* Makefile.in (BFDLIB): Set to @BFDLIB@.
1996-02-07 19:03:38 +00:00
Ian Lance Taylor f8d489718f Support for building bfd and opcodes as shared libraries, based on
patches from Alan Modra <alan@spri.levels.unisa.edu.au>:
	* configure.in (HLDFLAGS): New substitution.
	* configure: Rebuild.
	* configure.host: Set HLDFLAGS on SunOS.
	* Makefile.in (HLDFLAGS): New variable.
	(BFDDEP): New variable.
	(BFDLIB): Change to -L../bfd -lbfd.
	($(LD_PROG)): Depend upon $(BFDDEP) rathern than $(BFDLIB).  Use
	$(HLDFLAGS) in link.
	(check): Set LD_LIBRARY_PATH in the environment.
1996-02-05 21:28:15 +00:00
Michael Meissner c2b6884b97 Move .sdata2/.sbss2 into read-only section 1996-02-03 00:31:03 +00:00
Ian Lance Taylor ae9120f917 * configure: Regenerate. 1996-02-02 21:50:53 +00:00
Ian Lance Taylor be54c2b6c9 * emulparams/elf_i386.sh (TEXT_START_ADDR): Change to 0x8048000,
for SVR4 compatibility.
PR 8794.
1996-02-01 21:02:03 +00:00
Ian Lance Taylor 48766668d5 * ldexp.c (exp_fold_tree): Correct handling of ABSOLUTE.
PR 8909.
1996-02-01 15:52:04 +00:00
Steve Chamberlain 923b8e0c59 * configure.tgt (i[345]86-*-cygwin32, powerpcle-*-cygwin32): New.
* emultempl/pe.em (definfo init): Make the default stack reserve
	of a PPC larger.
1996-02-01 01:43:42 +00:00
Ian Lance Taylor 40ab9bb9d7 Wed Jan 31 14:34:23 1996 Richard Henderson <rth@tamu.edu>
* configure.tgt (m68*-apple-aux*): New target.
	* emulparams/m68kaux.sh: New file.
	* scripttempl/m68kaux.sc: New file.
	* Makefile.in (ALL_EMULATIONS): Add em68kaux.o.
	(em68kaux.c): New target.
1996-01-31 19:36:20 +00:00
Ian Lance Taylor bc60f9240f * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Ignore
-bnoentry, since the right thing tends to happen anyhow.
1996-01-30 18:19:28 +00:00
Ian Lance Taylor 4bdd9722a6 * ld.texinfo, ld.1: Document -export-dynamic. 1996-01-29 17:29:51 +00:00
Ian Lance Taylor ba7db99126 * ld-undefined/undefined.exp: ELF targets should now pass the
undefined line test.
1996-01-26 23:43:29 +00:00
Ian Lance Taylor 92849bae1d * ld-empic/empic.exp: Update for change to MIPS disassembler. 1996-01-25 20:38:08 +00:00
Jackie Smith Cashion de8d160913 Thu Jan 25 16:46:58 1996 James G. Smith <jsmith@cygnus.co.uk>
* emulparams/{elf32b4300.sh, elf32l4300.sh}: Changed
 	TEXT_START_ADDR to allow use on IDT and PMON systems.
1996-01-25 16:51:47 +00:00
Steve Chamberlain 1759ad4d41 * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args):
correct spelling.
1996-01-25 05:02:49 +00:00
David Edelsohn b0cc94a11c * configure.tgt (sparc64-*-solaris2*): New configuration.
(sparc64-*-aout*): Renamed from sparc64*.
1996-01-25 01:03:13 +00:00
Ian Lance Taylor 7df4ba266b Mon Jan 22 13:01:35 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile.in (GENSCRIPTS): Pass @host@ @target@ @target_alias@.
	* genscripts.sh: Set host, target and target_alias variables.
	Check for native compile by comparing ${target} and ${host}.
	* emultempl/elf32.em: Likewise.
	* scripttempl/elfmips.sc: Test ${target}, not ${target_alias}.
1996-01-22 18:03:56 +00:00
Michael Meissner 4d99a9505c Refine eabi support 1996-01-22 16:05:26 +00:00
Ian Lance Taylor a411bea023 * ldgram.y (%union): Add phdr field.
(phdr): Use phdr_qualifiers rather than opt_hdrs and opt_at.
	(phdr_qualifiers): New nonterminal.  Add support for FLAGS.
	(opt_hdrs, hdr): Remove.
	(phdr_val): New nonterminal.
	* ldlang.c (lang_new_phdr): Replace hdrs parameter with filehdr
	and phdrs parameters.  Add flags parameter.
	(lang_record_phdrs): Update for changes to lang_phdr.  Pass flags
	to bfd_record_phdr.
	* ldlang.h (struct lang_phdr): Replace hdrs field with filehdr and
	phdrs fields.  Add flags field.
	(LANG_PHDR_FILEHDR, LANG_PHDR_PHDRS): Remove.
	(lang_new_phdr): Update declaration.
	* ld.texinfo: Document FLAGS.
1996-01-16 20:51:22 +00:00
Ian Lance Taylor 0bc9a7d2fb * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation):
Don't make a shared library because of an undefined reference to
	__GLOBAL_OFFSET_TABLE_.
1996-01-15 22:38:22 +00:00
Ian Lance Taylor 6014cea70c update copyrights 1996-01-15 21:06:31 +00:00
Ian Lance Taylor fe1379d45a Add some Irix 5 support, mostly from Kazumoto Kojima
<kkojima@info.kanagawa-u.ac.jp>:
	* emulparams/elf32bmip.sh (SCRIPT_NAME): Change to elfmips.
	(SHLIB_TEXT_START_ADDR): Define.
	(OTHER_GOT_SYMBOLS): Define.
	(OTHER_READWRITE_SECTIONS): Remove initialization of _gp.
	(EXECUTABLE_SYMBOLS): Don't define.
	(DYNAMIC_LINK): Don't define.
	* emulparams/elf32lmip.sh: Same changes as elf32bmip.sh.
	* scripttempl/elfmips.sc: New file.
	* configure.host (mips*-dec-bsd*): Change mips to mips*.
	(mips*-sgi-irix4*): Likewise.
	(mips*-sgi-irix5*): New entry.
	* Makefile.in (eelf32bmip.c): Depend upon elfmips.sc rather than
	elf.sc.
	(eelf32lmip.c): Likewise.
1996-01-15 20:13:04 +00:00
Ian Lance Taylor 21a3c2ff37 * ld-bootstrap/bootstrap.exp: Expect failure for mips*-*-irix5*
when doing the --static test.
	* ld-shared/shared.exp: Run tests on mips*-*-irix5*.
1996-01-15 20:06:43 +00:00
Michael Meissner be03dc3e37 Add .rela.got.neg section; remove .rel.* sections 1996-01-13 14:44:48 +00:00
Ian Lance Taylor 2afa4f215e * scripttempl/sh.sc: Only build constructors when CONSTRUCTING. 1996-01-12 23:43:24 +00:00
Ian Lance Taylor 23cb3b6504 * ldmisc.c: Include <stdarg.h> rather than <varargs.h> if
ANSI_PROTOTYPES is defined.  Remove special handling of
	WINDOWS_NT.  Various indendation fixes.
	(vfinfo): Change fmt parameter to const char *.
	(info_msg): Write <stdarg.h> version.
	(einfo, minfo, finfo): Likewise.
	(info_assert): Change file parameter to const char *.
	* ldmisc.h (einfo, minfo, info_msg): If ANSI_PROTOTYPES is
	defined, use a real prototype.
	(info_assert): Change first parameter to be const char *.
1996-01-12 20:01:17 +00:00
Michael Meissner 4fe13b2bdd Add support for .sdata2/.sbss2 and old 2.7.2 compiler; Make text start at 64k; make data follow on next 64k page after text 1996-01-12 18:37:47 +00:00
Ian Lance Taylor 37e46b8b97 * scripttempl/alpha.sc: Put .rconst right after .rdata. 1996-01-09 20:53:26 +00:00
Steve Chamberlain d42799374f * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation):
sort using right pointer.
1996-01-05 22:09:43 +00:00
Michael Meissner 9dee2948a2 Move creating section begin/end labels to compiler crt{i,n}.o 1996-01-05 17:27:39 +00:00
Ian Lance Taylor ed1f99e770 * configure.host: Change existing Linux HOSTING_CRT0 to be used
for a.out only, and put in appropriate HOSTING_CRT0 and
	HOSTING_LIBS values for Linux ELF.
1996-01-04 22:10:00 +00:00
David Edelsohn 5c5e420c9b * scripttempl/h8300.sc: Use all 64K for ram.
* scripttempl/h8300h.sc: Define 256K ram size.
1996-01-04 20:03:03 +00:00
Ian Lance Taylor 54fe92c5a1 * ld-srec/srec.exp: If powerpc*-*-eabi*, use --defsym to define
__eabi.
1995-12-26 22:35:31 +00:00
Ian Lance Taylor af3f877153 * ld-srec/srec.exp: Add setup_xfails for XCOFF targets. 1995-12-19 23:00:26 +00:00
Ian Lance Taylor 67cf67787d * emultempl/aix.em (gld${EMULATION_NAME}_after_open): Only set
relocateable before calling ldctor_build_sets if the output file
	is in an XCOFF format.
1995-12-19 22:36:03 +00:00
Ian Lance Taylor 656db2ed89 * ld-srec/srec.exp: Remove i960 COFF setup_xfail. 1995-12-15 21:39:35 +00:00
Ian Lance Taylor 4fc151e99a * ldwrite.c (build_link_order): When handling a data statement, if
the endianness of the output file is unknown, use the endianness
	of the input file.
1995-12-15 21:39:09 +00:00
Stan Shebs aaa877b7ac Reflect file rename. 1995-12-12 22:37:05 +00:00
Stan Shebs d8d4a450ff * mpw-config.in: Recognize mips-*-* as equivalent to
mips-idt-ecoff.
	* mpw-eppcmac.c: Shortened from mpw-eppcmacos.c.
	* mpw-ld.r: Add version resources.
	(cfrg): Use symbolic instead of literal name for executable.
1995-12-12 22:35:48 +00:00
Kim Knuttila 9499591f90 Moved the .reloc section slightly 1995-12-11 23:04:18 +00:00
Ian Lance Taylor 9430b93365 * emultempl/aix.em (unix_ld): New static variable.
(gld${EMULATION_NAME}_parse_args): Handle -unix.
	(gld${EMULATION_NAME}_before_allocation): If unix_ld, pass
	gc as false and export_defineds as true to size_dynamic_sections.
PR 8606.
1995-12-07 01:12:30 +00:00
David Edelsohn 95b3cb6b45 * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation): Fix
call to sort_sections.
1995-12-06 22:41:10 +00:00
David Edelsohn e8bb9a12d7 * ldlang.c (print_statement{,s}): Delete duplicate prototype.
(print_statement_list): Renamed from print_statement.  All callers
	updated.
	(print_statement): New function to print just one statement.
	(print_{data,reloc,padding}_statement): Don't crash if
	output_section == NULL.
	(dprint_statement): New function.
1995-12-06 22:38:14 +00:00
Ian Lance Taylor 0421503301 * ldexp.c (exp_fold_tree): Permit assignments to dot in the final
phase if the current section is abs_output_section.
PR 8605.
1995-12-06 19:58:05 +00:00
Ian Lance Taylor 6ceb561287 * ld-srec/srec.exp: Don't use [] in setup_xfail expressions. 1995-12-02 06:17:46 +00:00
Ian Lance Taylor 061e65f855 * ldgram.y (PHDRS): New token.
(ifile_p1): Accept phdrs.
	(section): Accept phdr_opt at the end of the section definition.
	(phdr_op): New nonterminal.
	(phdrs, phdr_list, phdr, phdr_type, opt_hdrs, hdr): Likewise.
	* ldlex.l: Accept PHDRS.
	* ldlang.h (struct lang_output_section_phdr_list): Define.
	(lang_output_section_statement_type): Add phdrs field.
	(struct lang_phdr): Define.
	(LANG_PHDR_FILEHDR, LANG_PHDR_PHDRS): Define.
	(lang_new_phdr): Declare.
	* ldlang.c (lang_phdr_list): New static variable.
	(lang_output_section_statement_lookup): Initialize phdrs field.
	(lang_process): Call lang_record_phdrs.
	(lang_new_phdr): New function.
	(lang_section_in_phdr): New function.
	(lang_record_phdrs): New static function.
	* ld.texinfo: Document PHDRS.
1995-12-01 21:49:51 +00:00
Ian Lance Taylor a91a8d08ae * ld-srec/srec.exp: Add setup_xfails for MIPS ELF targets. 1995-12-01 18:15:18 +00:00
Kim Knuttila d611a82e67 Expose .edata section 1995-11-30 18:18:38 +00:00
David Edelsohn 781332facb Add a comment saying .junk sections are discarded by the linker. 1995-11-30 17:15:12 +00:00
Ian Lance Taylor e7f2e923be Thu Nov 30 11:32:34 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
* configure.host (m68*-motorola-sysv): Define HOSTING_CRT0 and
	HOSTING_LIBS for testing.
	(m88*-motorola-sysv3): Define HOSTING_CRT0 and HOSTING_LIBS for
	testing.
1995-11-30 16:30:13 +00:00
Stan Shebs b18319318b Fix MPW tool installation 1995-11-30 02:55:03 +00:00
Ian Lance Taylor 5d85ec2d4e * ld-srec/srec.exp: Add setup_xfail for i960 COFF targets. 1995-11-29 17:59:04 +00:00
Ian Lance Taylor 5aca405826 * lexsup.c (parse_args): Set config.dynamic_link to false for -N
and -n.
1995-11-28 17:15:37 +00:00
Ian Lance Taylor 4f351b156d fix last change 1995-11-27 20:02:12 +00:00
Ian Lance Taylor 12bfa0bcf5 * ld-srec/srec.exp: Add setup_xfail calls for i[345]86-*-aout*.
* ld-srec/sr1.c (V_SPILL, V_FILL): Define.
	* ld-srec/sr3.cc: Likewise.
1995-11-27 19:39:09 +00:00
Ian Lance Taylor 6a4667f4dc * configure: Rebuild with autoconf 2.7. 1995-11-27 18:19:15 +00:00
David Edelsohn d87e370ba8 * scripttempl/pe.sc: Two .junk's is too much junk. 1995-11-25 02:37:58 +00:00
Ian Lance Taylor caf2a91318 * configure.in: Use BFD_NEED_DECLARATION.
* acconfig.h: Put NEED_DECLARATION_FREE in @TOP@ section.
	* configure, config.in: Rebuild with autoconf 2.6.
1995-11-21 23:32:33 +00:00
Ian Lance Taylor 13eb3290f3 * ldmain.c (constructor_callback): Don't warn about BFD_RELOC_CTOR
being unsupported if this is not a relocaeable link and the input
	BFD supports it, since ldctor_build_sets can cope with that case.
1995-11-21 21:15:49 +00:00
Ian Lance Taylor ad2282f68f * ld-empic/empic.exp: Update for changes in objdump output. 1995-11-21 21:06:55 +00:00
Stan Shebs 9079ed57d8 Keep PowerMac emulation file. 1995-11-18 00:55:22 +00:00
Stan Shebs 5ac7a6e96e * configure.tgt (powerpc-*-macos*): New target.
* emulparams/ppcmacos.sh: New file, PowerMac emulation.
	* Makefile.in (ALL_EMULATIONS): Add eppcmacos.o.
	(eppcmacos.c): New target.
	* mpw-eppcmacos.c: Update.
	* mpw-make.sed: Edit out attempts to use {GENSCRIPTS}.
1995-11-18 00:50:06 +00:00
Ian Lance Taylor dfc84b08d6 * Makefile.in (CC_FOR_TARGET): Use @host@ and @target@, not
$(host_canonical) and $(target_canonical).
	(CXX_FOR_TARGET): Likewise.
1995-11-17 15:38:44 +00:00
David Edelsohn c4a14eefe2 * scripttempl/pe.sc (.endjunk): Move definition of `end' to here
so the malloc heap begins at a sane place.
1995-11-16 19:28:05 +00:00
Ken Raeburn b218076e59 version 2.6 1995-11-16 10:12:33 +00:00
Ian Lance Taylor 1b09c02b17 * ld-srec/srec.exp: New tests.
* ld-srec/sr1.c, ld-srec/sr2.c, ld-srec/sr3.cc: New files.
	* lib/ld.exp (ld_simple_link): Discard warnings about not being
	able to find the entry symbol.
1995-11-15 22:44:56 +00:00
Ian Lance Taylor 28f6feaf2e * ld-sh/sh2.c (__main): Define. 1995-11-15 01:05:26 +00:00
Ian Lance Taylor 204066750f * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Use the
environment variable LD_RUN_PATH if neither -rpath nor -rpath-link
	were used.
	(gld${EMULATION_NAME}_before_allocation): Use the environment
	variable LD_RUN_PATH if -rpath was not used.
	* ld.texinfo, ld.1: Document LD_RUN_PATH.
PR 8428.
1995-11-14 22:10:14 +00:00
Ian Lance Taylor 7eb5ccf525 * ldfile.c (ldfile_try_open_bfd): If bfd_error_invalid_target,
report a better error.
1995-11-09 21:57:02 +00:00
Ian Lance Taylor 97121c41e9 * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Add
new local variable special_sections, and pass it to
	size_dynamic_sections.  Look through the results, and move the
	sections around in the mapping so that they are defined correctly.
1995-11-09 18:11:03 +00:00
Ian Lance Taylor 9d3d323a2b * ldemul.c (ldemul_default_target): Cast getenv return value. 1995-11-08 16:41:39 +00:00
Kim Knuttila b2306582e3 added PowerPC PE targetting stuff 1995-11-07 22:20:00 +00:00
Kim Knuttila 070eddd986 New PowerPC Portable Executable stuff 1995-11-07 22:14:23 +00:00
Ian Lance Taylor e2ce2da872 * ld.texinfo: The linker does not use _main as an entry point. 1995-11-07 16:48:29 +00:00
Ian Lance Taylor 36b72df3de Tue Nov 7 11:46:11 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
* scripttempl/m88kbcs.sc (.data): Calculate next boundary modulo
	0x2000 not 0x200.
1995-11-07 16:47:19 +00:00
Ian Lance Taylor 92c71a0b0d * configure.in: Add test for whether free must be declared.
* sysdep.h: Declare free if necessary.  Include "ansidecl.h".
	* acconfig.h: Explain NEED_DECLARATION_FREE.
	* configure, config.in: Rebuild.
1995-11-06 20:59:44 +00:00
Ian Lance Taylor 219555a64d * ld-empic/empic.exp: Accept a . in the address symbol. 1995-11-06 20:24:57 +00:00
Ian Lance Taylor 1bc9204d5b * ld-shared/shared.exp: Run tests on rs6000*-*-aix* and
powerpc*-*-aix*.  Add code to create appropriate exports files,
	and pass appropriate compilation flags, and test against
	appropriate expected output.
	* ld-shared/xcoff.dat: New file.
	* ld-shared/main.c: Put #ifndef XCOFF_TEST around tests that can
	not be linked using XCOFF.  Use shlib_shlibvar1 as a sample
	function pointer, rather than shlib_mainvar.
	* ld-shared/sh1.c: Likewise.
	* ld-shared/shared.dat: Update for change from using shlib_mainvar
	to using shlib_shlibvar1.
	* ld-shared/sun4.dat: Likewise.
1995-11-06 19:44:43 +00:00
Ian Lance Taylor 7ae3065c8f * lexsup.c (parse_args): Take B:: out of shortopts. 1995-11-06 16:00:00 +00:00
Ken Raeburn bd329d41ca some i386-netbsd cleanup 1995-11-05 10:14:28 +00:00
Ian Lance Taylor 92188bd2d6 use motorola-sysv*, not sysv3* 1995-11-03 20:10:50 +00:00
Ian Lance Taylor 6398299816 Wed Nov 1 15:42:45 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
* Makefile.in (ALL_EMULATIONS): Add edelta68.o.
	(edelta68.c): New target.
	* configure.tgt (m68*-motorola-sysv3*): New target.
	* emulparams/delta68.sh: New file.
	* scripttempl/delta68.sc: New file.

	* scripttempl/m88kbcs.sc: Handle .init and .fini.  Change section
	addresses.
1995-11-01 20:52:10 +00:00
Ian Lance Taylor ef51e36abc * ldgram.y (mri_script_command): Accept ',' as well as '=' in
ALIGN and ALIGNMOD statements.
1995-11-01 17:31:58 +00:00
Ian Lance Taylor 2a80ec10a8 * emultempl/aix.em: Include ldgram.h.
(gld${EMULATION_NAME}_parse_args): Handle -pD and -pT, as used on
	AIX 4.1.
	* Makefile.in ($(EMULATION_OFILES)): Depend upon ldgram.h.
1995-11-01 16:46:19 +00:00
Ian Lance Taylor 02a5d23525 Tue Oct 31 18:22:24 1995 David Mosberger-Tang <davidm@azstarnet.com>
* configure.host (alpha-*-linux*): New host.
	* configure.tgt (alpha-*-linux*): New target.
1995-10-31 23:23:48 +00:00
Ian Lance Taylor d29120d2ff really make import_file static 1995-10-31 20:28:25 +00:00
Ian Lance Taylor 5666490bee * emultempl/aix.em (export_files): Remove.
(import_files): Make static.
	(struct export_symbol_list): Define.
	(export_symbols): New static variable.
	(gld${EMULATION_NAME}_parse_args): Handle an initial -b option
	correctly.  Call read_file for an export file.
	(gld${EMULATION_NAME}_before_allocation): Call
	bfd_xcoff_export_symbol for each export symbol, rather than
	calling read_file for each export file.
	(gld${EMULATION_NAME}_read_file): For an export file, make the
	exported symbols undefined, and store them on the export_symbols
	list.
1995-10-31 17:39:55 +00:00
Ken Raeburn e295a90d12 keep files added by Niklas Hallqvist 1995-10-31 07:43:58 +00:00
Steve Chamberlain 2543860d19 Sat Oct 28 00:10:03 1995 steve chamberlain <sac@slash.cygnus.com>
* emultempl/pe.em (gld_${EMULATION_NAME}_parse_args):
	Don't hang if last option is unrecognised.
	(gld_${EMULATION_NAME}_set_symbols): Insert created
	symbols into ABS output section.
1995-10-28 07:26:10 +00:00
Ian Lance Taylor 9145928587 * ld-scripts/script.t: Put .pr in .text, and .rw in .data, for
convenience when testing XCOFF.
1995-10-28 05:55:00 +00:00
Niklas Hallqvist d0ae7d95f7 * Makefile.in (ALL_EMULATIONS): Added support for the NetBSD
m68k4k arch.
	(em68k4knbsd.c): New rule.

	* configure.tgt: Added support for the NetBSD m68k4k arch.

	* genscripts.sh, ldint.texinfo,
	emulparams/{a29k,armaoutb,armaoutl,coff_sparc,ebmon29k,gld960,
	gld960coff,go32,h8300,h8300h,h8500,h8500b,h8500c,h8500m,h8500s,
	hp300bsd,hp3hpux,hppaelf.sh,i386aout,i386bsd,i386coff,i386go32,
	i386linux,i386lynx,i386nbsd,lnk960,m68kaout,m68kcoff,m68klynx,
	m88kbcs,mipsbig,mipsbsd,mipsidt,mipsidtl,mipslit,news,ns32knbsd,
	pc532machaout,rce,riscix,sa29200,sh,shl,sparclynx,sparcnbsd,
	st2000,sun3,sun4,vanilla,vax,vsta,w65,z8001,z8002}.sh: Changed
	PAGE_SIZE to TARGET_PAGE_SIZE.

	* emulparams/m68knbsd.h: Ditto.
	(TEXT_START_ADDR, NONPAGED_TEXT_START_ADDR): We have 8K pagesize.
	(EXECUTABLE_SYMBOLS): Hardcode __DYNAMIC to zero for the time
	being.

	* emulparams/m68k4knbsd.sh: New file.

	* scripttempl/aout.sc: Expand EXECUTABLE_SYMBOLS if relocating.
1995-10-28 01:40:02 +00:00
Ian Lance Taylor cf79773cb1 * emultempl/aix.em: Include ldctor.h.
(gld${EMULATION_NAME}_after_open): New static function.
	(gld${EMULATION_NAME}_before_allocation): Call find_relocs.
	(gld${EMULATION_NAME}_find_relocs): New static function.
	(gld${EMULATION_NAME}_find_exp_assignment): New static function.
	(ld_${EMULATION_NAME}_emulation): Use new after_open function.
	* scripttempl/aix.sc: Use CONSTRUCTORS in .data.
	* ldctor.c (struct set_info): Move definition into ldctor.h.
	(struct set_element): Likewise.
	(sets): Make non-static.
	(ldctor_add_set_entry): Add name parameter.  Save it in the new
	set element.
	(ldctor_build_sets): Avoid being called twice.  Pass set element
	name to lang_add_reloc.
	* ldctor.h (struct set_info): Move definition here from ldctor.c.
	(struct set_element): Likewise.  Add new field name.
	(sets): Declare.
	(ldctor_add_set_entry): Declare new name parameter.
	* ldwrite.c (build_link_order): Don't insist that either name or
	section be NULL in a lang_reloc_statement.
	* ldmain.c (add_to_set): Pass NULL to ldctor_add_new_set_entry for
	new name parameter.
	(constructor_callback): Pass name to ldctor_add_new_set_entry for
	new name parameter.
1995-10-27 22:21:43 +00:00
Stan Shebs aacc02d70f Reflect updates to Mac support 1995-10-27 05:30:14 +00:00
Stan Shebs 49af8a4ec7 * mpw-config.in: Add PowerMac target support, generate config.h.
* mac-ld.r: New file, Mac resources.
	* mpw-make.sed: New file, edits Makefile.in into MPW syntax.
	* mpw-make.in: Remove.
	* mpw-eppcmacos.c: Prebuilt version of PowerMac linking script.
1995-10-27 05:28:17 +00:00
Ian Lance Taylor 27b4433688 * ld-bootstrap/bootstrap.exp: On AIX, pass -bI/lib/syscalls.exp
along with --static.
1995-10-27 03:30:15 +00:00
Ian Lance Taylor b18896d9bd * ld-scripts/script.s: Make symbols global. 1995-10-27 02:53:47 +00:00
Ian Lance Taylor c7c8b500b9 * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Treat
-static as a synonym for -bnso.
1995-10-27 01:59:30 +00:00
Ian Lance Taylor 328e5a48e8 * scripttempl/aix.sc: Move special symbols inside sections.
Always start .data at 0.
1995-10-26 18:12:41 +00:00
Ken Raeburn b008b7bf76 updated for jsmith's file renaming 1995-10-25 22:07:38 +00:00
Per Bothner 8a8965f1c0 * Makefile.in (diststuff): Also make info.
(maintainer-clean realclean):  Also delete *.info*.
1995-10-25 18:51:37 +00:00
Ian Lance Taylor 585c92fe44 add OUTPUT_FORMAT and LIB_SEARCH_DIRS 1995-10-25 17:51:13 +00:00
Ian Lance Taylor 1764521ffe tweak option handling 1995-10-25 17:37:35 +00:00
Ian Lance Taylor 57fc1e90b7 * emultempl/aix.em: Add support for various AIX linker options,
for AIX import and export files, and for AIX shared objects.
	* scripttempl/aix.sc: Add .pad.  Put .ds just before the TOC.
1995-10-25 15:49:27 +00:00
Ian Lance Taylor 7d6439d974 * ldmain.c (main): Initialize new field link_info.static_link.
* ldmain.c (add_keepsyms_file): Add \n at end of einfo calls.
	(constructor_callback): Likewise.
	* ldmisc.c (vfinfo): Likewise.
	* ldwrite.c (build_link_order): Likewise.
1995-10-25 15:48:53 +00:00
Ian Lance Taylor e54bf1c1a4 * ld.texinfo: The MRI ALIGN directive is supported. 1995-10-25 15:28:28 +00:00
Jackie Smith Cashion bef5440479 Renamed the VR4300 specific emulparams files to 8.3 unique names,
since the old names could cause problems when hosting the source tree
on non-Un*x systems.
1995-10-23 11:56:50 +00:00
Ian Lance Taylor 5e8e7e6680 * ldlex.l: Treat PROVIDE as a keyword in expression state. 1995-10-19 21:42:41 +00:00
Steve Chamberlain 9c284f3f98 * scripttempl/pe.sc (.bss): Move to be after .text 1995-10-19 00:35:37 +00:00
Ian Lance Taylor 5df68a88c4 * emultempl/sunos.em (gld${EMULATION_NAME}_find_exp_assignment):
Search trinary.cond rather than searching trinary.lhs twice.  From
	linli@ihp.PHys.ethz.CH.
1995-10-17 22:38:50 +00:00
Ian Lance Taylor 235c6a672f * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Move
directory searching code into gld${EMULATION_NAME}_search_dir.
	(gld${EMULATION_NAME}_search_dir): New static function, extracted
	from gld${EMULATION_NAME}_find_so.
	(global_needed, global_found): New static variables.
	(gld${EMULATION_NAME}_after_open): New static function.
	(gld${EMULATION_NAME}_search_needed): New static function.
	(gld${EMULATION_NAME}_try_needed): New static function.
	(gld${EMULATION_NAME}_check_needed): New static function.
	(ld_${EMULATION_NAME}_emulation): Use new after_open function.
	* ld.texinfo, ld.1: Mention -rpath-link on SunOS.
1995-10-17 22:36:25 +00:00
Ian Lance Taylor 03165292c0 * Makefile.in (eelf32ppc.c): Depend upon elf32.em, not generic.em.
(eelf32lppc.c): Likewise.
	* emulparams/elf32lppc.sh (TEMPLATE_NAME): Define as elf32.
	(GENERATE_SHLIB_SCRIPT): Define as yes.
1995-10-17 16:23:59 +00:00
Ian Lance Taylor b5f076d4aa * configure.tgt (powerpc-*-aix*): New target; use aixppc.
(rs6000-*-aix*): New target; use aixrs6.
	* emulparams/aixppc.sh, emulparams/aixrs6.sh: New files.
	* emultempl/aix.em: New file.
	* scripttempl/aix.sc: New file.
	* Makefile.in (ALL_EMULATIONS): Add eaixppc.o and eaixrs6.o.
	(eaixppc.c, eaixrs6.c): New targets.
1995-10-16 23:19:04 +00:00
Ian Lance Taylor 091824ebcd * ldlang.c (lang_finish): Don't try to use an entry_symbol from a
section which was not linked into the final output.
PR 8172.
1995-10-10 21:54:24 +00:00
Steve Chamberlain ef1d2d2ebf * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args): Fix
fatal typos.
1995-10-10 17:21:18 +00:00
Ian Lance Taylor 5caef232bd * ld.h (args_type): Add rpath_link field.
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Search for
	required dependencies in rpath_link path.  Only search
	LD_LIBRARY_PATH when configured native.
	* lexsup.c (parse_args): Recognize -rpath-link.
	* ld.1, ld.texinfo: Document -rpath-link.
1995-10-10 05:05:18 +00:00
Ian Lance Taylor 776f259038 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Don't
bother searching for needed libraries unless doing a final link.
1995-10-07 21:09:57 +00:00
Ken Raeburn 8016553585 Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* ld/ld.1: Fix formatting bugs.
1995-10-06 20:46:02 +00:00
Ian Lance Taylor f054ce204a * ldexp.c (exp_get_abs_int): Return bfd_vma, not int.
* ldexp.h (exp_get_abs_int): Update declaration.
	* ldlang.c (print_output_section_statement): Use fprintf_vma to
	print return value of exp_get_abs_int.
PR 8142.
1995-10-04 21:39:29 +00:00
Ian Lance Taylor 8055e7a883 * emultempl/elf32.em (global_stat): New file static variable.
(gld${EMULATION_NAME}_try_needed): Call stat_needed to make sure
	that the file has not already been included under another name.
	(gld${EMULATION_NAME}_stat_needed): New static function.
1995-10-02 17:59:14 +00:00
Ian Lance Taylor 0b0642d6eb * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): If
command_line.rpath is set, use it, rather than the -L options, to
	build the rules section.
	* ld.texinfo: Document this use of -rpath.
1995-09-29 22:37:36 +00:00
Ian Lance Taylor dd16b6557e * lexsup.c (parse_args): Don't set link_info.shared for -assert
pure-text.  Pass true, not 1, to lang_add_entry.
	* emultempl/sunos.em (find_assign): New static variable.
	(found_assign): New static variable.
	(gld${EMULATION_NAME}_before_allocation): Rename local h to hdyn.
	If not a relocateable link, and no start symbol was specified on
	the command line, and there are any undefined symbols, set
	link_info.shared.  If link_info.shared is set, set the address of
	the .text section to 0x20.
	(gld${EMULATION_NAME}_find_assignment): Rename from
	gld${EMULATION_NAME}_find_statement_assignment.  If find_assign is
	set, then just set found_assign based on whether an assignment is
	found to find_assign.
	(gld${EMULATION_NAME}_get_script): Don't use a special script when
	producing a shared library.
	* emulparams/sun4.sh (GENERATE_SHLIB_SCRIPT): Remove.
	* scripttempl/aout.sc: Remove CREATE_SHLIB tests.
	* ldlang.c (entry_from_cmdline): New global variable.
	(lang_add_entry): Change cmdline parameter from int to boolean.
	Use global entry_from_cmdline rather than function static
	from_cmdline.
	* ldlang.h (entry_from_cmdline): Declare.
	(lang_add_entry): Change declaration of second parameter from int
	to boolean.
	* ldgram.y: Pass false, not 0, to lang_add_entry.
1995-09-29 15:33:29 +00:00
Ian Lance Taylor 630f4ac9c6 * ld.h (parsing_defsym): Declare.
* ldlex.h (lex_string): Declare.
	* ldlex.l (lex_string): Define.
	* lexsup.c (parsing_defsym): Define.
	(parse_args): In OPTION_DEFSYM case, set lex_string before calling
	lex_redirect, and clear it after calling yyparse.  Set
	parsing_defsym around call to yyparse.
	* ldmain.c (main): Set lex_string before calling lex_redirect, and
	clear it after calling yyparse.
	* ldmisc.c (vfinfo): For %S, handle --defsym arguments and built
	in linker scripts correctly.
PR 8092.
1995-09-28 19:18:07 +00:00
Ian Lance Taylor a69bb1fa31 * scripttempl/sparccoff.sc: Add .ctors/.dtors handling like other
COFF targets, allowing for the leading underscore used on SPARC
	COFF.
PR 8006.
1995-09-28 17:59:51 +00:00
Ian Lance Taylor b4f9d9bc42 mention creating SunOS shared libraries 1995-09-28 16:41:31 +00:00
Ian Lance Taylor a43308b283 * ld-shared/shared.exp: Run the tests on sparc*-*-sunos4*. Add
appropriate modifications and setup_xfails.
	* ld-shared/sun4.dat: New file.
1995-09-28 16:39:55 +00:00
Ian Lance Taylor 5753006bf0 * lexsup.c (parse_args): Handle -assert.
* emulparams/sun4.sh (GENERATE_SHLIB_SCRIPT): Define.
	* emultempl/sunos.em (gld${EMULATION_NAME}_get_script): Use the
	shared library script when appropriate.
	* scripttempl/aout.sc: If CREATE_SHLIB is set, start the .text
	section at SIZEOF_HEADERS.
1995-09-28 16:36:34 +00:00
David Edelsohn 132dd91099 * Makefile.in (earmcoff.c): Build.
* configure.tgt (arm-*-coff): New target
	* emulparms/armcoff.sh: New file.
	* scripttempl/armcoff.sc: New file.
1995-09-28 08:48:02 +00:00
Ian Lance Taylor ef89823938 * scripttempl/i386coff.sc: Remove .data2; no longer needed. 1995-09-26 18:01:34 +00:00
Ian Lance Taylor 8dd03673bf * ldfile.c (ldfile_set_output_arch): Make arch const. 1995-09-22 22:09:43 +00:00
Michael Meissner 7453a7533f Locate __bss_start at the real start of bss. 1995-09-21 21:57:32 +00:00