Commit graph

1018 commits

Author SHA1 Message Date
Stan Shebs
bfac208d92 * mpw-eppcmac.c: Update to reflect May 23 change to aix.em. 1996-06-30 18:19:34 +00:00
Ian Lance Taylor
2ea93eb9d8 * configure.host: Use -print-file-name=FILE rather than piping
-print-libgcc-file-name through sed.
	(i[345]86*-*-sco*, i[345]86-*-isc*): Create crtbegin.o and
	crtend.o files, in case gcc doesn't use them.
	* Makefile.in (mostlyclean): Remove crtbegin.o and crtend.o.
1996-06-27 18:07:47 +00:00
Ian Lance Taylor
90c1d8f7e4 * configure.tgt (mips*-dec-osf*): New target. 1996-06-26 19:58:40 +00:00
Jason Molenda
f14a5192ce * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
        (docdir): Removed.
        * configure.in (AC_PREREQ): autoconf 2.5 or higher.
        (AC_PROG_INSTALL): Added.
        * configure: Rebuilt.
1996-06-25 13:23:22 +00:00
Ian Lance Taylor
d7b5386f2b Mon Jun 24 17:55:31 1996 Jouke Numan <jnuman@bazis.nl>
* ldlang.h (enum section_type): Define.
	(lang_output_section_statement_type): Remove loadable field.  Add
	sectype field.
	(lang_enter_output_section_statement): Change flags parameter in
	prototype to sectype.
	* ldgram.y (typebits): Remove.
	(sectype): New static variable.
	(opt_at): Use sectype rather than typebits.
	(type): Set sectype rather than typebits.
	(atype): Likewise.
	* ldlex.l: Recognize DSECT, COPY, INFO, and OVERLAY in
	EXPRESSION mode.
	* ldlang.c (lang_output_section_statement_lookup): Set sectype
	field rather than loadable field.
	(wild_doit): Check sectype rather than loadable.
	(lang_record_phdrs): Likewise.
	(lang_enter_output_section_statement): Rename flags parameter to
	sectype.  Set sectype field rather than loadable field.  Set flags
	field based on sectype.
1996-06-24 22:01:01 +00:00
Ian Lance Taylor
8530ae8eed * configure.in: On alpha*-*-osf*, link against libbfd.a if not
using shared libraries.
	* configure: Rebuild with autoconf 2.10.
1996-06-24 16:04:19 +00:00
Ian Lance Taylor
817ef33811 Fri Jun 21 17:40:56 1996 Joel Sherrill <joel@merlin.gcs.redstone.army.mil>
* configure.tgt: Add support for *-*-rtems* configurations.
1996-06-21 22:12:01 +00:00
Ian Lance Taylor
539ae61d9c Fri Jun 21 13:05:51 1996 Richard Henderson <rth@tamu.edu>
* configure.tgt (alpha-*-linuxecoff*): New target.
	(alpha-*-linux*): Use elf64alpha.
	* emulparams/elf64alpha.sh: New file.
	* emultempl/elf32.em: If ELFSIZE is not set, set it to 32.  Use
	${ELFSIZE} rather than 32 when calling BFD routines.
	(hold_rodata): New static variable.
	(gld${EMULATION_NAME}_place_orphan): Use hold_rodata for a
	readonly section that is not code.
	(gld${EMULATION_NAME}_place_section): Set hold_rodata.  Don't use
	a .rel section unless its bfd_section field is not NULL.
	* Makefile.in (ALL_EMULATIONS): Add eelf64alpha.o.
	(eelf64alpha.c): New target.
1996-06-21 17:10:14 +00:00
Ian Lance Taylor
a475297cf1 * ldmisc.c (vfinfo): Correct handling of 0 in %W case. 1996-06-21 16:46:10 +00:00
Ian Lance Taylor
55745b34b0 Add enough support to understand the gcc svr3.ifile script:
* ldlex.l: Recognize BLOCK and GROUP in EXPRESSION context.  Add
	BIND keyword.
	* ldgram.y: Add BIND token.
	(section): Recognize GROUP.
	(opt_ext_with_type): Recognize a couple of cases of BIND.
	* ldlang.c (init_os): Don't do anything if section is already
	initialized.  Call exp_init_os on addr_tree field.
	(exp_init_os): New static function.
	(map_input_to_output_sections): Call exp_init_os on assignment
	expression.
	(lang_place_orphans): Check for common sections by name COMMON
	rather than by common_section field.  Don't warn about absence of
	[COMMON] command.
1996-06-20 18:23:24 +00:00
Ian Lance Taylor
2e71dfc02c * configure.tgt (i[345]86*-*-isc*): New target. From
<uddeborg@carmen.se>.
1996-06-18 21:58:52 +00:00
Ian Lance Taylor
b72b1a0c52 * emultempl/sunos.em: Include libiberty.h.
(gld${EMULATION_NAME}_set_symbols): New static function to add
	LD_LIBRARY_PATH to the list of search directories.
	(ld_${EMULATION_NAME}_emulation): Add new set_symbols routine.
1996-06-07 15:29:36 +00:00
Ian Lance Taylor
1760b4aeab * emulparams/elf32bmip.sh (OTHER_GOT_SYMBOLS): Use ALIGN(16)
rather than . when computing _gp value.  From Per Fogelstrom.
	* emulparams/elf32lmip.sh (OTHER_GOT_SYMBOLS): Likewise.
1996-06-06 16:23:04 +00:00
Ian Lance Taylor
39e6bc339f * ldmain.c (main): Don't close and unlink the file on error, since
remove_output will do it anyhow.
	* ldlang.c (open_output): Set boolean variable to true, not 1.
1996-06-06 16:07:23 +00:00
Ian Lance Taylor
07acd23b77 * ldcref.c: New file.
* ld.h (add_cref, output_cref): Declare.
	* ldmain.c (main): Initialize notice_all field.  If it is set at
	end of link, call output_cref.
	(notice): Rename from notice_ysym.  Check notice_all.
	* ldmisc.c (finfo): Make globally visible.
	* ldmisc.h (finfo): Declare.
	* lexsup.c (OPTION_CREF): Define.
	(ld_options): Add "cref".
	(parse_args): Handle OPTION_CREF.
	* Makefile.in: Rebuild dependencies.
	(CFILES): Add ldcref.c.
	(OFILES): Add ldcref.o.
	* ld.texinfo, ld.1: Document --cref.
1996-06-04 23:37:13 +00:00
Tom Tromey
2c7aeec634 * Makefile.in (install): Don't check to see if tooldir exists.
Make $(tooldir) and $(tooldir)/bin.
1996-06-04 22:16:01 +00:00
Ian Lance Taylor
e5ca07bfae * emultempl/pe.em (sort_sections): Don't assume that a
wild_statement has a section name.
1996-05-31 16:43:12 +00:00
Ian Lance Taylor
90557a6aea * scripttempl/elfmips.sc: Quote test -z argument. 1996-05-29 20:10:22 +00:00
Ian Lance Taylor
a1d393cfb9 * ld.texinfo: Clarify the CONSTRUCTORS command. 1996-05-29 17:14:24 +00:00
Ian Lance Taylor
64a37d3cfc * emultempl/aix.em (gld${EMULATION_NAME}_read_file): Initialize
file, not impfile.
PR 9759.
1996-05-23 23:09:44 +00:00
David Edelsohn
fe6e29571a * ldlang.c (wild_doit): Don't copy over SEC_LINK_{ONCE,DUPLICATES}
if final link.
	* emultempl/pe.em (sfunc): Renamed to sort_by_file_name.
	(sort_by_section_name, sort_sections_1): New functions.
	(sort_sections): Only sort by file name sections in .idata.
	Add "Grouped Sections" support.
	(gld${EMULATION_NAME}_place_orphan): Rewrite to support Grouped
	Sections.
	(gld${EMULATION_NAME}_place_section): Delete.
	* scripttempl/pe.sc (.text,.data,.rdata): Add *(.foo\$).
	(.CRT,.rsrc): Rewrite to use Grouped Section support.
1996-05-22 19:09:32 +00:00
David Edelsohn
4242ac27a5 * ldlang.c (dprint_statement): Stop printing at end of list. 1996-05-20 00:01:03 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Kim Knuttila
d611a82e67 Expose .edata section 1995-11-30 18:18:38 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Ian Lance Taylor
208bc89e0b Based on patches by Alan Modra <alan@spri.levels.unisa.edu.au>:
* Makefile.in (CC_FOR_TARGET): Remove brokensed stuff.
	(CXX_FOR_TARGET): Likewise.
	(install): Likewise.
	(GENERATED_HFILES): Remove config.h.
	(.dep): Depend upon config.h.
1995-09-18 18:57:59 +00:00
Ian Lance Taylor
08879cdec8 Mon Sep 18 14:39:38 1995 Arne H. Juul <arnej@pvv.unit.no>
* configure.tgt (mips*-dec-netbsd*): New target.
1995-09-18 18:42:00 +00:00
Ken Raeburn
db8beef4ea configure.host: fix shell syntax errors 1995-09-16 00:05:19 +00:00
Ian Lance Taylor
4977f3b47e * Makefile.in (maintainer-clean): New target. 1995-09-12 22:23:17 +00:00
Ian Lance Taylor
cf7f2f7151 * ldmain.c (struct warning_callback_info): Define.
(warning_callback): Add new parameter symbol.  Call
	warning_find_reloc to try to find the section and VMA.
	(warning_find_reloc): New static function.
	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
	Pass NULL as symbol parameter to warning callback.
1995-09-12 20:34:49 +00:00
Steve Chamberlain
20a753dfd5 Thu Sep 7 12:50:49 1995 steve chamberlain <sac@slash.cygnus.com>
* scripttemp/pe.sc:  Allow both spellings of .ctors/.dtors.
	Start .text section on the right boundary. Always align
	stabs.
1995-09-12 19:46:03 +00:00
Ian Lance Taylor
cca520b580 * ld.texinfo: Clarify -L option. 1995-09-12 19:01:48 +00:00
Ian Lance Taylor
b75d0928b1 * ldlang.c (lang_one_common): Add cast to avoid warning.
(topower): Likewise.  Also, reindent.
	* ldwrite.c (clone_section): Change i to unsigned int.
	* emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): Add
	cast to avoid warning.
1995-09-12 16:25:51 +00:00
Ian Lance Taylor
57aa2887e8 Revert Linux directory searching: it turns out that Linux no longer
uses it.
1995-09-11 15:04:49 +00:00
Ian Lance Taylor
ed753c2049 Add Linux style directory searching.
* configure.tgt: Add i386lelf to targ_extra_emuls for
	i[345]86-*-linuxaout* and i[345]86-*-linuxoldld.  For
	i[345]86-*-linux*, set targ_emul to i386lelf, and add elf_i386 to
	targ_extra_emuls.
	* emulparams/i386lelf.sh: New file, a copy of elf_i386.sh.
	* emultempl/elf32.em: If TARGET_IS_i386lelf, use autoconf
	recommended mechanism to define DIR and struct dirent.
	(libcmp): New static function use only when TARGET_IS_i386lelf.
	(gld${EMULATION_NAME}_open_dynamic_archive): Likewise.
	* Makefile.in (ALL_EMULATIONS): Add ei386lelf.o
	(ei386lelf.c): New target.
1995-09-08 23:37:45 +00:00
Ian Lance Taylor
62b4ac8bc6 * ldemul.h (ldemul_set_symbols): Declare.
(ldemul_parse_args): Declare.
	* ldemul.c (ldemul_parse_args): Fix indentation.
1995-09-08 21:28:17 +00:00
Ian Lance Taylor
b8345a37ac * configure.in: Call AC_HEADER_DIRENT.
* configure, config.in: Rebuild.
	* emultempl/sunos.em: Use autoconf recommend mechanism to define
	DIR and struct dirent.
1995-09-08 21:11:40 +00:00
Ian Lance Taylor
d62ef165e3 * configure.tgt (mips*-*-bsd*): New case. 1995-09-08 20:46:44 +00:00
Ian Lance Taylor
673f5b9f2c * configure.host (i[345]86-sequent-ptx* | i[345]86-sequent-sysv*)
New case.
	* configure.tgt (i[345]86-*-ptx*): New case.
1995-09-08 20:34:05 +00:00
Ian Lance Taylor
ef346f1a7f * config.in: Rename from config.h.in.
* configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
	Check for config.h:config.in when creating stamp-h.
	* configure: Rebuild.
	* Makefile.in (stamp-h): Depend upon config.in rather than
	config.h.in.  Set CONFIG_HEADERS to config.h:config.in when
	calling config.status.
1995-09-07 17:20:53 +00:00
Ian Lance Taylor
f40d9bc267 * Makefile.in (distclean): Remove config.h and stamp-h. 1995-09-07 16:53:02 +00:00
Ian Lance Taylor
36ea6198a7 * configure.host (sparc-*-sunos64*): Remove.
* ldlang.c (lang_map): Check BFD64, not HOST_64_BIT.
1995-09-07 14:52:12 +00:00
Ian Lance Taylor
9d32554321 * ldexp.c (exp_fold_tree): Don't warn about moving the location
counter backward in the absolute section.
PR 7942.
1995-09-07 14:49:31 +00:00
Ken Raeburn
af0786b401 some ns32k updates from Ian Dall 1995-09-05 19:04:22 +00:00
Ian Lance Taylor
f6feefe448 * ldmain.c (warning_callback): Add abfd, section, and address
parameters.
	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
	Change call to warning accordingly.

	* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): If not
	relocateable and not shared, put .gnu.warning.SYMBOL sections into
	the .text section.
1995-09-01 18:06:53 +00:00
Jackie Smith Cashion
751b7dcc00 NEC VR4300 target (IDT SIM monitor) support.
Fri Sep  1 08:35:16 1995  James G. Smith  <jsmith@beauty.cygnus.com>

        * configure.in: Added mips*vr4300-idt-elf* and
        mips*vr4300el-idt-elf* targets.
        * Makefile.in: Added eelf32vr4300* targets.
        * emulparams/{elf32vr4300.sh, elf32vr4300el.sh}: Added.
        * config/{mips-vr4300.mt, mips-vr4300el.mt}: Added.
1995-09-01 15:38:07 +00:00
Ian Lance Taylor
4dd284fab7 * scripttempl/a29k.sc: Fix to be reasonable. From Brendan Kehoe
<brendan@cygnus.com>.
1995-09-01 14:54:01 +00:00
Steve Chamberlain
5f8ac7e7f6 Thu Aug 31 16:37:07 1995 steve chamberlain <sac@slash.cygnus.com>
* ldemul.c (ldemul_parse_args): New.
	* ldemul.h (ld_emulation_xfer_struct): Add parse_args.
	* lexsup.c (all pe stuff): Moved into pe.em
	(parse_args): Call emulation arg parser.
	* emultempl/pe.em (parse_args): handle PE specfic args.
1995-08-31 23:42:53 +00:00
Ian Lance Taylor
0b4fc03b37 * ldlang.c (lang_memory_region_lookup): Don't use the first region
as the default region.  Create a new region instead.
1995-08-31 21:02:39 +00:00
Steve Chamberlain
6fd48357ec Tue Aug 22 07:36:58 1995 steve chamberlain <sac@slash.cygnus.com>
* scripttempl/pe.sc: Keep .edata, don't base stabs at 0.
	* emulparams/armpe.sh: Run PE script.
1995-08-22 14:38:01 +00:00
Steve Chamberlain
011d93b38d Mon Aug 21 18:30:42 1995 steve chamberlain <sac@slash.cygnus.com>
* ldmain.c (main): Remove PE stuff.
	* lexsup.c (options): Load more PE options.
	(set_pe_value): New function.
1995-08-22 01:54:56 +00:00
Steve Chamberlain
eb7f87c5c8 Thu Aug 17 13:35:49 1995 steve chamberlain <sac@slash.cygnus.com>
* emultempl/{armpe.sc, i386pe.sc}: Deleted.
	* emultempl/pe.sc: New file performs generic PE support and sorts
	archive members.
	* emulparams/{armpe.sh,i386pe.sh}: Use new file.
	* scripttempl/{armpe.sc, i386pe.sc}: Deleted
	* scripttempl/pe.sc: New.
	* Makefile.in: Use new files.
b
1995-08-17 22:53:56 +00:00
David Edelsohn
ed67cfa226 * scripttempl/h8500s.sc (.rdata): All data must go in data segment.
(.strings,.ctors,.dtors): Likewise.
1995-08-17 21:49:40 +00:00
Steve Chamberlain
22cd79c599 Wed Aug 16 11:38:59 1995 steve chamberlain <sac@slash.cygnus.com>
* scripttempl/armpe.sc: Always start code at 0x401000, even
	if -r.
	* ldwrite.c (strdup): New extern declaration.
	* ldgram.y (atype): New rule to clarify type parsing.
	* ldlang.c (init_os): Remove commented out code.
	(lang_size_sections): Set SEC_ALLOC and SEC_LOAD bits
	unless told not to by the link script.
1995-08-16 20:34:44 +00:00
Ian Lance Taylor
1d169acc61 * ldlang.c (lang_set_startof): New static function.
(lang_process): Call it.
1995-08-16 17:18:59 +00:00
Ian Lance Taylor
9b22219054 * ldgram.y: Tweak casesymlist to avoid bison errors. 1995-08-16 16:26:57 +00:00
Ian Lance Taylor
80fd1f4584 * lexsup.c (parse_args): Accept -h as a synonym for --soname, for
Solaris compatibility.
1995-08-16 15:50:27 +00:00
Ian Lance Taylor
3a47309642 * ldgram.y (YYDEBUG): If not defined, define as 1.
(CASE, EXTERN, START): New tokens.
	(mri_script_command): Handle CASE, EXTERN, INCLUDE, START.
	(casesymlist): New nonterminal.
	(extern_name_list): New nonterminal.
	* ldlex.l: Accept lower case trailing base specifiers.  Don't
	ignore the first digit when the base is a suffix.  Accept many
	EXPRESSION state tokens in MRI state.  Support MRI continuation
	lines and MRI semicolon comments.  Accept all MRI keywords in
	lower case.  Add CASE, EXTERN, and START MRI keywords.
1995-08-15 21:35:46 +00:00
Ken Raeburn
52a55937a2 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Use xmalloc instead of
alloca.
1995-08-08 23:31:28 +00:00
J.T. Conklin
65d22248e9 * Makefile.in (CC_FOR_TARGET, CXX_FOR_TARGET): Don't use
$r/../gcc/xgcc unless it is present.
1995-08-08 22:25:36 +00:00
Ken Raeburn
cc298fb97a treat linuxoldld like linuxaout* 1995-07-28 01:43:15 +00:00
Ian Lance Taylor
59a0866d8c * ldlang.c (lang_process): Call reset_memory_regions for each
relaxation pass.
1995-07-24 19:25:32 +00:00
Ken Raeburn
d2c66084be ldmain.c (constructor_callback): Allocate set_name in stack frame, rather than
always calling alloca with a fixed size.
1995-07-20 20:35:03 +00:00
David Edelsohn
45bc71881e * emulparams/armpe.sh (OUTPUT_FORMAT): Change to pei-arm-little.
(LITTLE_OUTPUT_FORMAT, BIG_OUTPUT_FORMAT): Define.
1995-07-19 23:23:31 +00:00
Ian Lance Taylor
242eee7a0b * ldwrite.c (split_sections): Don't split the first input section
into a new output section.
1995-07-17 17:59:27 +00:00
Michael Meissner
c7950dcc68 Use elf config file. 1995-07-15 04:35:17 +00:00
Ian Lance Taylor
63e1380d57 * emultempl/mipsecoff.em (check_sections): Use %P, not %F. 1995-07-14 20:11:43 +00:00
Ian Lance Taylor
8a0683c1fa * ldver.c (help): Update list of options to match currently
supported list.
1995-07-14 16:12:26 +00:00
Ian Lance Taylor
047e0fcd8e * ldexp.c (exp_intop): Don't cast stat_alloc arg to bfd_size_type;
it takes a size_t anyhow.
	(exp_binop): Likewise.
	(exp_trinop): Likewise.
	(exp_unop): Likewise.
	(exp_nameop): Likewise.
	(exp_assop): Likewise.
	* ldlang.c (lang_memory_region_lookup): Likewise.
	(init_os): Likewise.
	(ldlang_add_undef): Likewise.
	(insert_pad): Likewise.
	* ldfile.c (ldfile_add_arch): Don't cast xmalloc arg to
	bfd_size_type.
1995-07-13 17:57:53 +00:00
Ian Lance Taylor
395ccfce21 * ldemul.h (ldemul_open_dynamic_archive): Add search parameter to
declaration.
	(ld_emulation_xfer_type): Add search parameter to
	open_dynamic_archive entry point.
	* ldemul.c (ldemul_open_dynamic_archive): Add search parameter.
	* ldfile.c (ldfile_try_open_bfd): Rename from try_open_bfd, and
	make non-static.  Change all callers to use new name.
	(ldfile_open_file_search): Make static.  If entry is dynamic, call
	ldemul_open_dynamic_archive.
	(ldfile_open_file): Don't call ldemul_open_dynamic_archive.
	* ldfile.h (ldfile_open_file_search): Don't declare.
	(ldfile_try_open_bfd): Declare.
	* emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
	Accept search parameter.  Don't search for a library, just look in
	a single place.
	* emultempl/linux.em (gld${EMULATION_NAME}_open_dynamic_archive):
	Likewise.
1995-07-12 15:37:12 +00:00
Ian Lance Taylor
917199fe29 * ldmisc.c (vfinfo): Don't print the line number if it isn't
meaningful.
1995-07-11 16:30:02 +00:00
Ian Lance Taylor
c16b92d224 * emultempl/elf32.em (gld${EMULATION_NAME}_check_needed): Don't
get confused by directory names if we searched for the file.
PR 7401.
1995-07-10 22:01:03 +00:00
Ian Lance Taylor
7213def760 Based on patches from H.J. Lu <hjl@nynexst.com>:
* ldlang.h (lang_input_statement_type): Add new field dynamic.
	* ldlang.c (new_afile): Set dynamic from config.dynamic_link.
	* ldfile.c: Include bfdlink.h.
	(ldfile_open_file): Check dynamic field of entry, not global
	dynamic_link field.  Don't do a dynamic search when doing a
	relocateable link.
	* ldmain.c (main): Don't warn about dynamic_link for a
	relocateable link.
	* emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Skip file if
	dynamic is false.
	(gld${EMULATION_NAME}_create_output_section_statements): Always
	loop over input files.
	* Makefile.in: Rebuild dependencies.
1995-07-10 21:16:40 +00:00
Ian Lance Taylor
4551e108a0 * ld.texinfo, ld.1: Document -Bstatic, -Bdynamic, -Bshared, and
-shared.

Mon Jul 10 13:29:43 1995  Eric Youngdale  <eric@aib.com>

	* ldmain.c (main): Set link_info.symbolic to false.
	* lexsup.c (parse_args): Handle -Bsymbolic.
1995-07-10 17:41:13 +00:00
Ian Lance Taylor
1730bce9a3 Move testsuite ChangeLog entry into testsuite ChangeLog. 1995-07-10 15:18:38 +00:00
Fred Fish
eac6290c7e * ldmain.c (HAVE_SBRK): Define for everything except
specific systems that are known to not support sbrk.
	(main):  Use HAVE_SBRK to decide whether or not to use sbrk.
1995-07-05 07:47:43 +00:00
Ian Lance Taylor
7158d2b1a3 * emultempl/elf32.em (gld${EMULATION_NAME}_find_exp_assignment):
Handle etree_provide.
PR 7164.
1995-07-04 17:44:38 +00:00
Ian Lance Taylor
7523be3552 * emultempl/elf32.em (global_needed): New static variable.
(global_found): Likewise.
	(gld${EMULATION_NAME}_after_open): New static function.
	(gld${EMULATION_NAME}_search_needed): Likewise.
	(gld${EMULATION_NAME}_try_needed): Likewise.
	(gld${EMULATION_NAME}_check_needed): Likewise.
	(ld_${EMULATION_NAME}_emulation): Replace after_open_default with
	gld${EMULATION_NAME}_after_open.
PR 7083.
1995-07-04 16:57:34 +00:00
Steve Chamberlain
cb848d619c * configure.in (i386-*-win32): New target.
* ld/testsuite/versados/(t1,t2).ld: End in newlines.
1995-07-03 21:34:53 +00:00
Ian Lance Taylor
22d3533cae * lexsup.c (parse_args): Let -G either set the small data size or
be equivalent to --shared, depending on the next argument.  Accept
	and ignore -z for Solaris compatibility.
PR 7118.
1995-07-03 18:40:26 +00:00
Ian Lance Taylor
243e769870 * lexsup.c (parse_args): Cast fopen result to PTR before storing
it in link_info.base_file.  Fix indentation.
1995-07-02 21:53:21 +00:00
Steve Chamberlain
de71eb7786 Wed Jun 28 17:11:25 1995 Steve Chamberlain <sac@slash.cygnus.com>
* ldmain.c (main): Always initialize PE info in link_info.
	* lexsup.c (OPTION_BASE_FILE): New option.
	(parse_args): Handle new option.
	* emulparams/armpe.sh: Output pei.
	* emultempl/i386pe.em: Add newline to end.
	* scripttempl/armpe.sc: Change output and quote the $s.
	* scripttempl/i386pe.sc: Change output and quote the $s.
1995-06-29 00:21:00 +00:00
Michael Meissner
d513119138 Add .fixup section 1995-06-22 19:08:18 +00:00
Stan Shebs
0283d893cb * mpw-esh.c: New file, modified for MPW from esh.c.
* scripttempl/sh.sc: Reformatted to simplify MPWification,
	use *() to concat stab sections instead of [].
1995-06-21 00:52:21 +00:00
Steve Chamberlain
935cd0dd9d * ldlang.c (lang_size_sections): Any section with a DATA
statement has contents.
1995-06-13 16:12:04 +00:00
Ken Raeburn
74b3ead343 m68k elf linker fixes from Andreas Schwab 1995-06-11 19:30:02 +00:00
Steve Chamberlain
ba0784fe48 * emulparams/armpe.sh, scriptempl/armpe.sc: Add end and stack. 1995-06-08 21:19:31 +00:00
Steve Chamberlain
28d0c3ce19 Add support for ARM-PE.
* Makefile.in (ALL_EMULATIONS): Add armpe.o
	* configure.in: Recognize armpe.
	* config/arm-pe.mt: New file.
	* emulparams/armpe.sh: New file.
	* scripttempl/armpe.sc: New file.
1995-05-24 18:26:23 +00:00
Stu Grossman
dea16e4dba * scripttempl/hppaelf.sc: Remove .PARISC.unwind section from text
segment.  This allows ld -r to preserve unwind sections.
1995-05-11 01:40:42 +00:00
Michael Meissner
417ced0de7 Add little endian PowerPC support. 1995-05-09 21:23:44 +00:00
Ken Raeburn
fa9dea803d * ldlang.c (print_output_section_statement): Check subsection_alignment,
instead of checking section_alignment twice.  Noticed by Alan Modra
<alan@spri.levels.unisa.edu.au>.
1995-05-03 18:08:09 +00:00
Jeff Law
55ac59da2e Add hppa1.1-hp-lites support. 1995-05-02 22:39:41 +00:00
David Edelsohn
7e87eb1342 * emulparams/arcelf.sh (ENTRY): Define. 1995-04-07 03:40:15 +00:00
Ian Lance Taylor
59b4c1998a Thu Mar 30 14:32:26 1995 H.J. Lu (hjl@nynexst.com)
* configure.in: Change linux to default to elf.  Using
	i[345]86-*-linuxaout will build a linker which defaults to a.out.
	* config/i386-laout.mt: Rename from old config/i386-linux.mt.
	* config/i386-linux.mt: Rename from old config/i386-lelf.mt.
	* config/i386-lelf.mt: Remove.
1995-03-30 19:42:38 +00:00
Ian Lance Taylor
e920526d00 * ld.texinfo, ld.1: Document the -no-keep-memory option. 1995-03-30 18:10:51 +00:00
Ian Lance Taylor
a735edad13 * ldmain.c (main): Revert patch of March 10, since the SVR4 linker
does mark shared libraries as executable.
1995-03-27 16:11:22 +00:00
Ian Lance Taylor
68233e44d9 * ldlang.c (lang_common): Change power to int. Pass larger values
before smaller values.
	(lang_one_common): Treat info as int *.  Don't bother to check for
	last value, since it is now zero.
1995-03-21 20:17:07 +00:00
Ian Lance Taylor
4da1dceac5 tipo 1995-03-18 06:56:51 +00:00
Ian Lance Taylor
f400bbbb4f * ldlang.c (load_symbols): An empty is archive is OK. 1995-03-18 06:53:14 +00:00
Michael Meissner
86d0248d41 Provide eabi C++ static constructor/destructor support. 1995-03-16 22:22:39 +00:00
Ian Lance Taylor
ee499d8192 * ld.texinfo, ld.1: Document --whole-archive. 1995-03-16 19:14:24 +00:00
Ian Lance Taylor
f2f55b1677 * ldlang.c (load_symbols): If whole_archive is true and ENTRY
describes an archive, call bfd_link_add_symbols on each member.
	* ldmain.c (whole_archive): New variable.
	(main): Initialize it to false.
	* ldmain.h: Declare whole_archive.
	* lexsup.c (parse_args): Grok --whole-archive switch.
1995-03-16 19:06:41 +00:00
Ian Lance Taylor
171eb2f259 * genscripts.sh (EMULATION_NAME): Set LIB_PATH to empty when not
using the default emulation.
1995-03-16 17:03:26 +00:00
Ian Lance Taylor
cb5362c557 * config/dgux.mh (HOSTING_EMU): Use -m rather than trying to set
LDEMULATION.
	* config/hppaelf.mh (HOSTING_EMU): Likewise.
1995-03-16 16:39:53 +00:00
Ian Lance Taylor
e66fa842d0 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Set force_maj
for -lc.N.  From H.J. Lu <hjl@nynexst.com>.
1995-03-14 17:32:12 +00:00
Ian Lance Taylor
22c41f00b6 * ldmain.c (main): Don't set EXEC_P if link_info.shared is set. 1995-03-10 20:26:49 +00:00
Ian Lance Taylor
01bc8f35b5 * ldlex.l: Return -lFILENAME as the token LNAME.
* ldgram.y: Add token LNAME.
	(input_list): Treat LNAME like NAME, but pass it to
	lang_add_input_file as lang_input_file_is_l_enum.
	* ld.texinfo: Document using -lFILENAME in INPUT.
1995-03-10 20:02:51 +00:00
David Edelsohn
17948aa1bc * emulparams/arcelf.sh (OUTPUT_FORMAT): Change to elf32-littlearc.
(LITTLE_OUTPUT_FORMAT, BIG_OUTPUT_FORMAT): Define.
1995-03-08 05:11:53 +00:00
Ian Lance Taylor
b939d1f43b * ldemul.c (ldemul_choose_mode): If emulation not recognized, list
all supported emulations.
1995-03-07 05:53:47 +00:00
Ian Lance Taylor
b73b413106 * ldemul.c (ldemul_list_emulations): New function.
* ldemul.h (ldemul_list_emulations): Declare.
	* ldver.c (help): List supported targets and emulations.
PR 6345.
1995-03-06 19:21:33 +00:00
Ian Lance Taylor
30e1257637 * emultempl/elf32.em (hold_rel): New static variable.
(gld${EMULATION_NAME}_place_orphan): Place readonly sections with
	contents whose names begin with ".rel" after hold_rel.  Remove the
	assertion which checked for unplaced .rel sections.  Don't try to
	sort the section into place if place->bfd_section is NULL.
	(gld${EMULATION_NAME}_place_section): Set hold_rel to the first
	section beginning with ".rel".
1995-03-03 22:09:24 +00:00
Ian Lance Taylor
0b153077ec * emulparams/gld960coff.sh (COFF_CTORS): Define.
* scripttempl/i960.sc: Use COFF_CTORS if CONSTRUCTING.
1995-03-01 18:57:24 +00:00
Ian Lance Taylor
882c80a7cc * configure.in (i[345]86-*-linuxelf*): New target. Use i386-lelf.
(i[345]86-*-gnuelf*): New target.  Use i386-gelf.
	* config/i386-lelf.mt: New file.
	* config/i386-gelf.mt: New file.
1995-02-28 17:44:35 +00:00
Rob Savoye
decc32b7c1 * configure.in: Match on mips-ecoff, and default to the IDT
configuration.
1995-02-28 17:29:02 +00:00
Ken Raeburn
4ad2d64031 * Makefile.in (distclean): Do recursive deletion, since ldscripts is a directory. 1995-02-09 23:33:41 +00:00
Ian Lance Taylor
be2213ebee * ldmain.c (main): If trace_file_tries is true, and we are using
an internal linker script, print out the script.
	* ldfile.c (try_open): Reindent function.  Make the messages about
	opening script files more informative.
PR 6309.
1995-02-09 21:57:55 +00:00
Ian Lance Taylor
1f59c7a7fd * lexsup.c (parse_args): For -V, call ldversion with 1, not 0.
* ld.texinfo, ld.1: Update accordingly.
1995-02-09 16:41:28 +00:00
Ian Lance Taylor
3565dee4eb * ldlang.c (lang_one_common): Adjust references to common symbol
information for new structure.
1995-02-08 22:56:15 +00:00
Ian Lance Taylor
23244cd6e0 * ldmain.c (undefined_symbol): Handle section being NULL. 1995-02-06 23:24:20 +00:00
Ian Lance Taylor
484a089694 tipo 1995-02-06 20:12:54 +00:00
Ian Lance Taylor
8ed88239b4 * ldctor.c (ldctor_build_sets): Handle bfd_link_hah_defweak.
* ldexp.c (fold_name): Likewise.
	* ldlang.c (print_one_symbol): Likewise.
	(lang_finish): Likewise.
	* ldmain.c (multiple_common): Likewise.
	* ldwrite.c (print_symbol): Likewise.  Also, bfd_link_hash_weak
	renamed to bfd_link_hash_undefweak.
1995-02-06 20:01:38 +00:00
Ian Lance Taylor
5039302a4c * scripttempl/alpha.sc: Set address of .data section correctly
when -n or -N is used.  Patch from Chris G Demetriou
	<Chris_G_Demetriou@LAGAVULIN.PDL.CS.CMU.EDU>.
1995-02-06 17:18:57 +00:00
David Edelsohn
e802f0be04 * ldlang.c (lang_size_sections): Clarify error message when user
specified start addr conflicts with region.  Fix resetting of
	region pointer.
1995-02-01 00:23:47 +00:00
Ian Lance Taylor
1abb243d51 * ldexp.c (fold_name): In case NAME, permit an absolute symbol
in lang_allocating_phase_enum.
PR 6259.
1995-01-31 17:40:50 +00:00
Ian Lance Taylor
50708d5612 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): For
a MIPS target, clobber the size of all but the first input
	.reginfo section to be 0, so that lang_size_sections sets the
	correct size for the output .reginfo section.
1995-01-27 21:28:52 +00:00
Ian Lance Taylor
ae02b41c50 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
Remove unused variable is.
1995-01-27 00:54:51 +00:00
Michael Meissner
5f16938da9 Add embedded PowerPC ELF support. 1995-01-26 17:59:08 +00:00
Ian Lance Taylor
6ade1673fc * ldctor.c (ldctor_add_set_entry): Don't dump core if a
constructor entry is in the absolute section.
1995-01-24 15:34:16 +00:00
Ian Lance Taylor
c1e128e5a1 * configure.in (i[345]86-*-gnu*): Set ld_target to i386-gnu.
* config/i386-gnu.mt: New file.  Include ELF support.
1995-01-23 19:00:46 +00:00
Steve Chamberlain
506f4ede9c * configure.in (w65-*-*): New target.
* Makefile.in: Update.
	* scripttempl/w65.sc: New.
	* config/coff-w65.mt: New.
1995-01-16 00:51:02 +00:00
Ian Lance Taylor
cc37d01df3 * ldlang.c (lang_place_orphans): Don't ignore files with
just_syms_flag set.  Instead, put all their sections in
	bfd_abs_section_ptr, using the section VMA as the output_offset.
PR 6159.
1995-01-12 06:34:11 +00:00
Ken Raeburn
cc38364d44 Don't use const with reloc_howto_type, since it's now defined to be const. 1995-01-12 05:04:04 +00:00
Ian Lance Taylor
93a0630f61 * ldexp.c (fold_binary): Adding or subtracting an absolute value
to a relative value does not require forcing the relative value to
	be absolute.  Also, reindent function.
1995-01-11 16:26:15 +00:00
Steve Chamberlain
fa440b5a55 * ldwrite.c (clone_section): Create a symbol with the
same name as the section.
1994-12-29 06:06:56 +00:00
Steve Chamberlain
885ae6b979 * ld.h (split_by_reloc, split_by_file): New flags.
* ldwrite.c  (clone_section, split_sections): New functions.
	* lexsup.c (parse_args): Understand new split options.
1994-12-19 22:16:27 +00:00
Ian Lance Taylor
4e59f36df8 * scripttempl/elf.sc: Move .ctors and .dtors from .text segment to
.data segment.  They must be writable when creating a shared
	library.  From H.J. Lu <hjl@nynexst.com>.
1994-12-09 22:24:03 +00:00
Steve Chamberlain
e93e87cb7b * Makefile.in: Add eshl.o.
* config/coff-sh.mt: Add shl emulation.
1994-11-24 06:06:23 +00:00
Ian Lance Taylor
18368f46c4 * scripttempl/elf.sc: Fill .text section with NOPS. From Eric
Youngdale <eric@aib.com>.
1994-11-22 17:19:36 +00:00
Ian Lance Taylor
60822a364f Patches from pirker@eiunix.tuwien.ac.at (Martin Pirker).
* config/i386linux.mh: New file; set HOSTING_CRT0.
	* genscripts.sh: Don't put ${libdir} in LIB_PATH if it is
	/usr/lib, since that is already in LIB_PATH.
1994-11-17 20:11:15 +00:00
Jeff Law
15ec1d5c97 * scripttempl/hppaelf.sc (.text): Handle a use rdefined text start
address.
	(.data, .bss): If "-N", then place the data/bss just after the end
	of the .text section rather than at the default 0x40000000.
1994-11-16 23:40:44 +00:00
Jeff Law
831d7ac47c * scripttempl/hppaelf.sc (.text): Place unwind descriptors in the
text segment.
1994-11-16 17:06:20 +00:00
Ian Lance Taylor
fd41732af2 * scripttempl/elf.sc: Add ENTRY(${ENTRY}), and default ${ENTRY} to
_start.
1994-11-12 20:59:18 +00:00
Ian Lance Taylor
5efddb2e7c * ld.h (args_type): Add field export_dynamic.
* lexsup.c (parse_args): Recognize --export-dynamic.
	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
	Pass export_dynamic argument to bfd_elf32_size_dynamic_sections.
1994-11-12 20:54:09 +00:00
Ian Lance Taylor
809391bd0a * ldlang.c (lang_one_common): Set SEC_ALLOC in any section where
we allocate common symbols.
1994-11-09 17:48:24 +00:00
Ian Lance Taylor
cd1d4f83e7 Tue Nov 8 17:50:43 1994 Eric Youngdale (eric@aib.com)
* scripttempl/elf.sc: Add .rel.init, .rela.init, .rel.fini, and
	.rela.fini to the list of .rel* sections.
1994-11-08 22:57:13 +00:00
Ian Lance Taylor
6a02a973c4 * ldlang.c (load_symbols): Add new argument place. Only accept
linker scripts if place is not NULL.  Put commands found in an
	assumed linker script into place.
	(lookup_name): Pass NULL as place argument to load_symbols.
	(open_input_bfds): In lang_input_statement_enum case, pass a place
	argument to load_symbols, and store any new statements after the
	current one.
PR 5917.
1994-11-08 22:54:07 +00:00
Ken Raeburn
ca8f2f0d74 Makefile.in: fix tipo in e*nbsd.c dependencies 1994-11-04 20:14:03 +00:00
Ken Raeburn
0128cbae50 * Makefile.in (check): Add missing "else true" clause.
* emulparams/vax.sh (OUTPUT_FORMAT): Use "a.out".

* scripttempl/go32coff.sc: Changes from DJ Delorie: Change default entry point
to "start".  Align at end of each section to 0x200.  Start .text section 0x1000
later.  Add _etext, _edata, _end symbols.
1994-11-04 00:39:49 +00:00
Ian Lance Taylor
52329a29a2 * ldctor.c (ldctor_add_set_entry): Don't permit a set to be
composed of different object file formats.
	(ldctor_build_sets): If the output format does not support the
	reloc, and we are not generating a relocateable link, try getting
	the reloc from the input format.
1994-11-02 17:22:28 +00:00
J.T. Conklin
e574ddd43a * Makefile.in (ALL_EMULATIONS): Added em68knbsd.o.
(em68knbsd.c): New target.

* config/m68k-nbsd.mt: New file.
* emulparams/m68knbsd.sh: New file.
* configure.in (m68*-*-netbsd*): Use above configs.
1994-11-01 18:33:35 +00:00
Ian Lance Taylor
fbf967b0da * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): If we find an
appropriately named static library, stop the search at that
	directory.
1994-11-01 00:37:05 +00:00
J.T. Conklin
32286e08a5 * Makefile.in (ALL_EMULATIONS): Added ei386nbsd.o, ens32knbsd.o
and esparcnbsd.o; sorted entries.
  (ei386nbsd.c,ens32knbsd.c,esparcnbsd.c): New targets.

* config/netbsd532.mt: Removed.
* emulparams/netbsd532.sh: Removed.

* config/{i386-nbsd.mt,ns32k-nbsd.mt,sparc-nbsd.mt}: New files.
* emulparams/{i386nbsd.sh,ns32knbsd.sh,sparcnbsd.sh}: New files.
* configure.in (i[345]86-*-netbsd*, ns32k-pc532-netbsd*,
  sparc*-*-netbsd*): Use above configs.
1994-10-26 21:02:02 +00:00
Ian Lance Taylor
fdfe873a8a * ldmain.c (multiple_common): One of the types may now be
bfd_link_hash_indirect.  The old BFD argument may be NULL.
1994-10-25 15:48:09 +00:00
Ian Lance Taylor
3286598fca * configure.in: Add * at the end of m68k-hp-hpux. 1994-10-21 02:02:54 +00:00
Ian Lance Taylor
81100e78a3 * ldlex.l: Cast assignment to yy_ch_buf field to char *, not to
YY_CHAR *.
1994-10-18 19:59:52 +00:00
J.T. Conklin
51bdfd9b22 * scripttempl/nw.sc: Gather constructors and destructors and
define __CTOR__LIST__ and __DTOR_LIST__ appropriately.
1994-10-17 22:03:09 +00:00
Ken Raeburn
0a1e63c4b5 updated version 1994-10-17 20:33:46 +00:00
J.T. Conklin
54d6484691 * ldint.texinfo: Move misplaced `@end iftex'. 1994-10-14 21:38:10 +00:00
Ian Lance Taylor
81d191be79 Fri Oct 14 12:02:18 1994 Eric Youngdale (eric@aib.com)
* scripttempl/elf.sc: Add .rel.ctors, .rela.ctors, .rel.dtors, and
	.rela.dtors to the list of .rel* sections.
1994-10-14 16:04:27 +00:00
Ken Raeburn
f608f62e26 configure.in: handle i[345]86-*-linux*, not just -linux 1994-10-13 18:17:11 +00:00
Ian Lance Taylor
243f6d0d67 * scripttempl/aout.sc: Set _etext and __etext to ., not
${DATA_ALIGNMENT}.  This is compatible with SunOS, and, with luck,
	will not break any other system.  From Eric Valette
	<ev@chorus.fr>.
1994-10-13 15:26:35 +00:00
Ian Lance Taylor
a82ae15d4b * lexsup.c (parse_args): Change -V to be a synonym for -v. Add
--verbose to get the old -V behaviour.
	* ld.1, ld.texinfo: Document this change.
1994-10-12 20:26:35 +00:00
Ian Lance Taylor
aa61b92302 * ldexp.c (fold_name): For DEFINED case, don't try to look up the
name in the hash table during the first phase--the hash table does
	not even exist at that point, much less have the right value.
PR 5699.
1994-09-27 22:41:51 +00:00
Ian Lance Taylor
262c876349 * Makefile.in (CC): Define.
(CXX): Move definition, change from g++ to gcc.
	(EXPECT, RUNTEST): Copy definitions from top level Makefile.in.
	(RUNTEST_CC, RUNTEST_CFLAGS): Remove.
	(RUNTEST_CXX, RUNTEST_CXXFLAGS): Remove.
	(CC_FOR_TARGET, CXX_FOR_TARGET): Copy from top level Makefile.in.
	(.cc.o): Comment out.
	(testdir): Remove.
	(site.exp): Don't create testdir or set tmpdir.
	(check): Run checks even if not running native.  Use CC_FOR_TARGET
	instead of RUNTEST_CC, and likewise for CXX.
	(cdtest targets): Comment out.
	* config/solaris2.mh (HOSTING_LIBS): Only mention crtend.o once.
	* cdtest-bar.cc, cdtest-foo.cc, cdtest-foo.h: Remove.
	* cdtest-main.cc, cdtest.exp: Remove.
1994-09-27 22:25:04 +00:00
Ian Lance Taylor
381897782a * genscripts.sh: Always search /usr/local/TARGET/lib. 1994-09-26 18:00:10 +00:00
Ian Lance Taylor
2150c3eea6 * scripttempl/elf.sc: If -N is set, force DATA_ADDR to be ".". 1994-09-26 15:41:20 +00:00
Ian Lance Taylor
a2eea82333 * lexsup.c (parse_args): Add support for -a for HP/UX
compatibility.
1994-09-23 16:31:32 +00:00
Ian Lance Taylor
8603728123 * ld.h (args_type): Add new field endian.
* lexsup.c (parse_args): Handle -EB and -EL by setting
	command_line.endian.
	* ldgram.y (ifile_p1): Accept OUTPUT_FORMAT with three arguments.
	* ldlang.c (lang_add_output_format): Add arguments big and little.
	If command_line.endian is set, use it to select big or little
	rather than the default.  Changed all callers.
	* ldlang.h (lang_add_output_format): Update declaration.
	* emulparams/elf32mipb.sh: Define BIG_OUTPUT_FORMAT and
	LITTLE_OUTPUT_FORMAT.
	* emulparams/elf32mipl.sh: Likewise.
	* emulparams/mipsbig.sh: Likewise.
	* emulparams/mipsbsd.sh: Likewise.
	* emulparams/mipsidt.sh: Likewise.
	* emulparams/mipsidtl.sh: Likewise.
	* emulparams/mipslit.sh: Likewise.
	* scripttempl/elf.sc: Define BIG_OUTPUT_FORMAT and
	LITTLE_OUTPUT_FORMAT if not already defined.  Pass them to
	OUTPUT_FORMAT.
	* scripttempl/mips.sc: Pass BIG_OUTPUT_FORMAT and
	LITTLE_OUTPUT_FORMAT to OUTPUT_FORMAT.
	* scripttempl/mipsbsd.sc: Likewise.
1994-09-20 21:16:11 +00:00
Ian Lance Taylor
5ccef1803e * Makefile.in (ALL_EMULATIONS): Add eelf32mipb.o and eelf32mipl.o.
(eelf32mipl.c): New target.
1994-09-20 19:07:36 +00:00
Ian Lance Taylor
f1781adcf3 * configure.in (mips*el-elf*): New target.
* config/mipsl-elf32.mt: New file.
	* emulparams/elf32mipl.sh: New file.
1994-09-20 18:41:27 +00:00
Ian Lance Taylor
006ae0e478 * ldmain.c (main): Rather than prohibiting ld -r -s, treat it as
ld -r -S -x.
PR 5596.
1994-09-16 16:17:26 +00:00
Ian Lance Taylor
7aa8f49656 * ldmisc.c (vfinfo): Print BFD file name as well as file name
returned by find_nearest_line, in case the file name is something
	unhelpful such as a .h file.  Handle %u.
1994-09-15 17:07:02 +00:00
Ian Lance Taylor
809ee7e036 * ld.h (ld_config_type): Add new field warn_once.
* ldmain.c (undefined_symbol): Handle -warn-once.
	* lexsup.c (parse_args): Recognize -warn-once.
	* ld.texinfo (Options): Document -warn-once.
	* ld.1: Likewise.
PR 4456.
1994-09-14 22:27:16 +00:00
Steve Chamberlain
467a038026 Wed Sep 14 12:49:12 1994 Steve Chamberlain (sac@jonny.cygnus.com)
* ldlang.c (lang_do_assignments): Make sure output statement
	has an attached bfd_section before trying to dereference it.
1994-09-14 20:45:43 +00:00
Ian Lance Taylor
cc23cc69c5 * ldmisc.c (vfinfo): Handle %D as %C, but never print the function
name.  For %C, print the function name on a separate line, to keep
	the length of error messages under control.
	* ldmain.c (multiple_definition): Use %D for ``first defined
	here.''
	(undefined_symbol): Use %D for ``more undefined references
	follow''.
PR 3770.
1994-09-14 17:08:37 +00:00
Ian Lance Taylor
8bff41c1b7 * ldmisc.c (multiple_warn): Remove; no longer used.
* ldmisc.h (multiple_warn): Don't declare.
1994-09-14 16:50:19 +00:00
Steve Chamberlain
3deb20fbc1 * ldlang.c (print_output_section_statement): Print all lines
to the map file.
1994-09-14 04:55:00 +00:00
Ian Lance Taylor
0b3499f672 * ldlang.c (load_symbols): Check for archive before object. Use
bfd_check_format_matches, and, if ambiguous, print a list of
	matching formats.  If file format is not recognized, treat file as
	a linker script.
	* ldgram.y (yyerror): If assuming an object file is a script,
	mention that.  Tweak the format of the error messages.
	* ldlex.l (lex_warn_invalid): If assuming an object is a script,
	guess that this is not actually a script, and just report that the
	file format was not recognized.
	* ld.texinfo (Options): Admit that -( may be used more than once.
	Add note that unrecognized object files are now treated as linker
	scripts.

	* ldfile.c (ldfile_input_filename): Make const.
	(ldfile_assumed_script): New variable.
	(try_open): Change arguments types to const.
	(ldfile_find_command_file): Likewise.
	(ldfile_open_command_file): Likewise.  Also, set lineno to 1.
	* ldfile.h: Update declarations for ldfile.c changes.
	* ldlex.l: Include <ctype.h>.
	(file_name_stack): Change to be const char *.
	(lineno_stack): New static variable.
	(<<EOF>>): Set lineno as well as ldfile_input_filename.
	(lex_push_file): Make name argument const.  Initialize
	lineno_stack entry.
	(lex_redirect): Initialize lineno_stack entry.
	(lex_warn_invalid): Handle non printable characters nicely.
	* ldlex.h (lex_push_file): Declare second argument as const.

	* ldgram.y (ifile_p1): Recognize GROUP.
	* ldlex.l: Recognize GROUP.
	* ld.texinfo (Option Commands): Document GROUP.
1994-09-13 20:42:47 +00:00
Ian Lance Taylor
2fd87dbc90 * config/m68klynx.mh: New file. 1994-09-12 21:06:35 +00:00
Jeff Law
cb2af5cfec * emultempl/hppaelf.em: Add newlines to the error messages. 1994-09-12 07:51:14 +00:00
Ian Lance Taylor
7b63ff7683 * config/i386lynx.mh: New file.
* scripttempl/i386lynx.sc: Don't put .ctors and .dtors in .text
	unless CONSTRUCTING.
1994-09-12 02:42:49 +00:00
Ian Lance Taylor
dd37f21531 * emulparams/elf32mipb.sh (TEMPLATE_NAME): Define as elf32.
(GENERATE_SHLIB_SCRIPT): Define as yes.
	(DYNAMIC_LINK): Define as false.
	* emultempl/elf32.em (gld${EMULATION_NAME}_before_parse):
	Initialize config.dynamic_link to DYNAMIC_LINK if it is defined.
	(gld${EMULATION_NAME}_place_orphan): Reset stat_ptr at end.
	* Makefile.in (eelf32mipb.c): Depend upon elf32.em rather than
	generic.em.
1994-09-10 20:04:17 +00:00
Steve Chamberlain
fa3539fe77 * scripttempl/h8500b.sc: Put rdata stuff into own segment. 1994-09-08 23:36:17 +00:00
Ian Lance Taylor
a864a26ecc * emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): Don't define;
.got section is now explicitly handled in elf.sc.
1994-09-08 17:26:27 +00:00
Ian Lance Taylor
82950a806a x 1994-09-07 03:57:59 +00:00