Commit Graph

1398 Commits

Author SHA1 Message Date
Steve Chamberlain de7c7482b1 Support for --force-exe-suffix
* ld.h (args_type): Add force_exe_suffix.
	* ld.texinfo: Add documentation.
	* ldmain.c (main):  Add support for option.
	* lexsup.c (OPTION_FORCE_EXE_SUFFIX): New.
	(ld_options, parse_args):  Add support for option.
1996-05-18 20:28:30 +00:00
Jim Wilson b3319029ac * emultempl/pe.em (set_pe_value): Pass 0 not 16 to strtoul call. 1996-05-15 19:53:31 +00:00
Michael Meissner fb2a7661fb Set __stack = 0 if it is referenced and not defined. 1996-05-10 20:32:07 +00:00
Rob Savoye 01d8a35928 * emulparams/{elf32bmip.sh,elf32lmip.sh,mipsidt.sh,mipsidtl.sh}:
Set a new variable to signify if the final target is an embedded
	system.
	* scripttempl/{mips.sc,elfmips.sc}: Don't add SIZEOF_HEADERS to
	.text for an embedded system.
1996-05-09 15:56:58 +00:00
Jeff Law 00e6a1b14d * scripttempl/h8300.sc: Place ".tiny" sections right
after ".data" sections.
        * scripttempl/h8300h.sc: Place ".tiny" sections into
        the "tiny" memory region, 0xff8000 through 0xffff00.
HMSE.
1996-05-07 21:26:58 +00:00
Jeff Law 12688490b2 * scripttempl/h8300.sc: Set the entry point to the value of
"_start" rather than the start of the text segment.
        * scripttempl/h8300h.sc: Likewise.
So we can have data at the start of the text space.
1996-05-07 19:36:38 +00:00
David Edelsohn 67afbceace Document semicolon usage. 1996-05-07 18:29:22 +00:00
David Edelsohn 7248b4e2d2 * scripttempl/pe.em (gld${EMULATION_NAME}_place_orphan): New function.
(gld${EMULATION_NAME}_place_section): New function.
	(hold_{section,use,text,rdata,data}): New static locals.
	(ld_${EMULATION_NAME}_emulation): Update orphan field.
	* scripttempl/pe.sc: Whitespace cleanup.  Semicolon usage cleanup.
	(INIT,FINI): Delete, unused.
	(.text): Document orphan .text.foo sections.
	(.rdata): Document orphan .rdata.foo sections.
	(.data): Document orphan .data.foo sections.
1996-05-07 18:04:07 +00:00
David Edelsohn a1613b5f35 * scripttempl/pe.em (gld${EMULATION_NAME}_place_orphan): New function.
(gld${EMULATION_NAME}_place_section): New function.
	(hold_{section,use,text,rdata,data}): New static locals.
	(ld_${EMULATION_NAME}_emulation): Update orphan field.
1996-05-07 17:58:43 +00:00
Jeff Law d38d6b7a85 * scripttempl (h8300.sc, h8300h.sc): Place .rodata sections
before .text sections in main ram.
Gets "read only" data out of the instruction stream -- improves
relaxing linker.  HMSE.
1996-05-07 17:33:17 +00:00
Jeff Law 4015337ec7 * scripttempl/h8300h.sc: Use "eight", not "eightbit" for the
8-bit region and 8-bit sections.
HMSE.
1996-05-07 05:30:14 +00:00
David Edelsohn 0a0d1bdd6e * ldlang.c (section_already_linked): Fix typos. 1996-05-02 00:51:15 +00:00
David Edelsohn f2618f8252 * scripttempl/pe.sc (.endjunk): Define __end__. 1996-04-30 03:33:23 +00:00
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