old-cross-binutils/ld
David MacKenzie 8ddef5528d * ldfile.c (ldfile_open_command): Don't try .ld extension.
It wasn't documented (or likely used) and wastes time.
	(try_open): If EXTEN is empty, don't try it.

	* ldctor.c, lderror.c, ldexp.c, ldfile.c, ldindr.c, ldlang.c,
	ldlex.l, ldmain.c, ldmisc.c, ldsym.c, ldver.c, ldwarn.c,
	ldwrite.c, lexsup.c, mri.c, relax.c: Replace DEFUN macro calls
	with normal function declarations.

	* Move *.em to emultempl/*.em.  Move *.sh to emulparams/*.sh.
	Move *.sc-sh to scripttempl/*.sc.
	* {emultempl,emulparams,scripttempl}/README: New files.
	* sh.em, st2000.em, z8ksim.em, h8300hms.em, h8500hms.em: Files
	removed, replaced with generic.em.
	* h8300.sh, h8500.sh, h8300.sc, h8500.sc: Renamed from
	 h8[35]00hms.s[ch].  Change their contents to omit the "hms".

	* *.em (*_get_script): Return script name instead of script contents.
	* ldlang.c (lang_process): Change caller.

	* ldlex.l, ldgram.y: Recognize -m option.
	Check for input files after *all* options in grammar.
	* ldmain.c (main): Check for -m options.  Add default directory
	for -m.

	* mkscript.c: File removed.
	* genscripts.sh: Take two more parameters, tooldirlib and libdir,
	to add to the default LIB_PATH.
	Look for input files in the new subdirectories.
	Create the scripts in emulations subdirectory and don't filter
	them through mkscript.
	* configure.in: Make the emulations subdirectory.

	* Makefile.in: Account for all of the above changes.
	Remove unused .SUFFIXES.  Get libgcc.a path with gcc
	-print-libgcc-file-name instead of $(libdir)/libgcc.a.
	Put CFLAGS last in the compilation rules.
	Add -I../bfd to INCLUDES so sysdep.h is found.

	* ldfile.c (try_open): If opening without the extension fails,
	try with the extension even if -v or -V was given.
	had_script is imported (from ldgram.y), not exported.
1993-06-17 20:55:43 +00:00
..
config Support for Alpha. 1993-06-04 23:14:16 +00:00
emulparams * ldfile.c (ldfile_open_command): Don't try .ld extension. 1993-06-17 20:55:43 +00:00
emultempl * ldfile.c (ldfile_open_command): Don't try .ld extension. 1993-06-17 20:55:43 +00:00
scripttempl * ldfile.c (ldfile_open_command): Don't try .ld extension. 1993-06-17 20:55:43 +00:00
.Sanitize * ldfile.c (ldfile_open_command): Don't try .ld extension. 1993-06-17 20:55:43 +00:00
a29k.sc-sh Modifed to care about semi colons again, newlines are ignored - sorry 1992-03-02 22:22:59 +00:00
a29k.sh Major rewrite of how ld is configured. The major idea 1992-02-15 22:13:53 +00:00
aout.sc-sh * aout.sc-sh: Add SHLIB_PATH like STACKZERO. Make STACKZERO 1993-06-16 03:06:33 +00:00
cdtest-foo.cc * cdtest-main.cc, cdtest-func.cc, cdtest-foo.h, cdtest-foo.cc, 1992-08-05 04:15:37 +00:00
cdtest-foo.h * cdtest-main.cc, cdtest-func.cc, cdtest-foo.h, cdtest-foo.cc, 1992-08-05 04:15:37 +00:00
cdtest-func.cc * cdtest-main.cc, cdtest-func.cc, cdtest-foo.h, cdtest-foo.cc, 1992-08-05 04:15:37 +00:00
cdtest-main.cc * cdtest-main.cc, cdtest-func.cc, cdtest-foo.h, cdtest-foo.cc, 1992-08-05 04:15:37 +00:00
cdtest.exp * cdtest-main.cc, cdtest-func.cc, cdtest-foo.h, cdtest-foo.cc, 1992-08-05 04:15:37 +00:00
ChangeLog * ldfile.c (ldfile_open_command): Don't try .ld extension. 1993-06-17 20:55:43 +00:00
config.h fix my default emulation changes 1993-01-08 22:06:17 +00:00
configure resync 1991-10-02 04:15:56 +00:00
configure.bat DJ naming change 1992-02-22 00:11:39 +00:00
configure.in * ldfile.c (ldfile_open_command): Don't try .ld extension. 1993-06-17 20:55:43 +00:00
ebmon29k.sc-sh Modifed to care about semi colons again, newlines are ignored - sorry 1992-03-02 22:22:59 +00:00
ebmon29k.sh Major rewrite of how ld is configured. The major idea 1992-02-15 22:13:53 +00:00
generic.em * Makefile.in, Makefile.dos, generic.em, genscripts.sh, 1992-09-04 03:29:15 +00:00
genscripts.sh Major rewrite of how ld is configured. The major idea 1992-02-15 22:13:53 +00:00
gld960.em * Makefile.in, Makefile.dos, generic.em, genscripts.sh, 1992-09-04 03:29:15 +00:00
gld960.sh Major rewrite of how ld is configured. The major idea 1992-02-15 22:13:53 +00:00
go32.sh New lexer. 1992-04-05 01:47:16 +00:00
h8-doc.texi ld.texinfo: 1993-03-30 23:25:03 +00:00
h8300hms.em * Makefile.in, Makefile.dos, generic.em, genscripts.sh, 1992-09-04 03:29:15 +00:00
h8300hms.sc-sh * ldlang.h: add new field "loadable" to output_section_statement. 1992-08-07 19:34:59 +00:00
h8300hms.sh Modifed to care about semi colons again, newlines are ignored - sorry 1992-03-02 22:22:59 +00:00
h8500hms.em Support for the H8/500 1993-04-09 17:46:13 +00:00
h8500hms.sc-sh Support for the H8/500 1993-04-09 17:46:13 +00:00
h8500hms.sh Support for the H8/500 1993-04-09 17:46:13 +00:00
hp3hpux.sh * aout.sc-sh: Add SHLIB_PATH like STACKZERO. Make STACKZERO 1993-06-16 03:06:33 +00:00
hp300bsd.sh New hp300bsd port. 1992-02-17 20:08:20 +00:00
hppaosf.em hppa-osf(elf) support files 1993-05-03 20:58:06 +00:00
hppaosf.sc-sh hppa-osf(elf) support files 1993-05-03 20:58:06 +00:00
hppaosf.sh missed a file 1993-05-05 02:08:31 +00:00
i386aout.sh Major rewrite of how ld is configured. The major idea 1992-02-15 22:13:53 +00:00
i386bsd.sh mips-bsd and 386bsd support 1993-02-28 14:46:25 +00:00
i386coff.sc-sh Mon Oct 19 09:45:38 1992 Ian Lance Taylor (ian@cygnus.com) 1992-10-19 16:53:41 +00:00
i386coff.sh Support for i386-coff 1992-09-11 17:25:43 +00:00
i960.sc-sh i960 bitrot fix 1992-03-16 22:54:51 +00:00
ld.1 * ldfile.c (ldfile_open_command): Don't try .ld extension. 1993-06-17 20:55:43 +00:00
ld.h *** empty log message *** 1991-05-03 23:52:48 +00:00
ld.texinfo * ldfile.c (ldfile_open_command): Don't try .ld extension. 1993-06-17 20:55:43 +00:00
ldctor.h Initial revision 1991-12-08 01:21:25 +00:00
ldemul.c Include bfd.h before sysdep.h, so ansidecl and PROTO() get defined first. 1991-10-11 11:28:27 +00:00
lderror.c * ldfile.c (ldfile_open_command): Don't try .ld extension. 1993-06-17 20:55:43 +00:00
lderror.h * ldctor.h, lderror.h, ldexp.h, ldfile.h, ldindr.h, ldlang.c, 1992-11-21 11:18:00 +00:00
ldexp.c * ldver.c: Bumped version to 1.96 - new release, resync with the 1992-05-04 23:38:42 +00:00
ldexp.h Fixed some grammer ambiguities 1991-04-03 22:03:55 +00:00
ldfile.c *** empty log message *** 1991-04-23 15:59:24 +00:00
ldfile.h checkpoint before a merge 1991-04-14 03:22:42 +00:00
ldgram.y * ldfile.c (ldfile_open_command): Don't try .ld extension. 1993-06-17 20:55:43 +00:00
ldindr.c * ldfile.c (ldfile_open_command): Don't try .ld extension. 1993-06-17 20:55:43 +00:00
ldindr.h * ldctor.h, lderror.h, ldexp.h, ldfile.h, ldindr.h, ldlang.c, 1992-11-21 11:18:00 +00:00
ldlang.c * ldfile.c (ldfile_open_command): Don't try .ld extension. 1993-06-17 20:55:43 +00:00
ldlang.h * ldver.c: Bumped version to 1.96 - new release, resync with the 1992-05-04 23:38:42 +00:00
ldlex.h Initial revision 1991-03-21 21:29:06 +00:00
ldlex.l * ldfile.c (ldfile_open_command): Don't try .ld extension. 1993-06-17 20:55:43 +00:00
ldmain.c Tue Mar 30 09:40:25 1993 Steve Chamberlain (sac@thepub.cygnus.com) 1993-03-30 17:49:00 +00:00
ldmain.h Initial revision 1991-03-21 21:29:06 +00:00
ldmisc.c * cplus-dem.c: Removed. Use the version in libiberty now. 1992-08-31 01:14:44 +00:00
ldmisc.h checkpoint before a merge 1991-04-14 03:22:42 +00:00
ldsym.c * ldfile.c (ldfile_open_command): Don't try .ld extension. 1993-06-17 20:55:43 +00:00
ldsym.h -y support 1992-12-07 16:49:54 +00:00
ldver.c * ldver.c: Increase version number to 1.97, for consistency with ../binutils. 1992-05-05 21:07:32 +00:00
ldver.h Initial revision 1991-05-18 02:58:02 +00:00
ldwarn.c * ldfile.c (ldfile_open_command): Don't try .ld extension. 1993-06-17 20:55:43 +00:00
ldwarn.h * ldctor.h, lderror.h, ldexp.h, ldfile.h, ldindr.h, ldlang.c, 1992-11-21 11:18:00 +00:00
ldwrite.c Now compiles with gcc too. 1992-01-24 23:44:10 +00:00
ldwrite.h Initial revision 1991-03-21 21:29:06 +00:00
lnk960.em * Makefile.in, Makefile.dos, generic.em, genscripts.sh, 1992-09-04 03:29:15 +00:00
lnk960.sh Major rewrite of how ld is configured. The major idea 1992-02-15 22:13:53 +00:00
m68kcoff.sc-sh * ldexp.c (exp_fold_tree): Don't lose the old flag bits. 1993-06-10 21:02:59 +00:00
m68kcoff.sh Brought in from p3. If anybody knows good numbers for m68k COFF, 1992-09-09 18:59:11 +00:00
m88kbcs.sc-sh Modifed to care about semi colons again, newlines are ignored - sorry 1992-03-02 22:22:59 +00:00
m88kbcs.sh Major rewrite of how ld is configured. The major idea 1992-02-15 22:13:53 +00:00
Makefile.in * ldfile.c (ldfile_open_command): Don't try .ld extension. 1993-06-17 20:55:43 +00:00
mips.sc-sh * mips.sc-sh: Define _etext, _edata, and _end, in addition 1993-05-20 20:59:28 +00:00
mipsbig.sh Wed Feb 3 09:05:56 1993 Ian Lance Taylor (ian@cygnus.com) 1993-02-03 17:10:09 +00:00
mipsbsd.sc-sh rename aout-mipsbsd.sc-sh to mipsbsd.sc-sh for 14-char file systems 1993-05-20 15:58:49 +00:00
mipsbsd.sh missed part of renaming update 1993-05-20 21:30:26 +00:00
mipsidt.sh * mips.sc-sh: Added variables which may be overridden by a 1993-03-04 20:49:26 +00:00
mipsidtl.sh * configure.in (mips-idt-ecoffl*): New target; use mips-idtl. 1993-06-04 19:50:31 +00:00
mipslit.sh Fri Jan 22 14:22:44 1993 Ian Lance Taylor (ian@cygnus.com) 1993-01-22 22:30:52 +00:00
mkscript.c New lexer. 1992-04-05 01:47:16 +00:00
mri.c * ldfile.c (ldfile_open_command): Don't try .ld extension. 1993-06-17 20:55:43 +00:00
NEWS New file. 1993-05-17 19:45:17 +00:00
news.sh Major rewrite of how ld is configured. The major idea 1992-02-15 22:13:53 +00:00
README Initial revision 1991-10-15 06:57:32 +00:00
relax.c * ldfile.c (ldfile_open_command): Don't try .ld extension. 1993-06-17 20:55:43 +00:00
relax.h Mon Jan 11 18:50:07 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) 1993-01-12 00:47:20 +00:00
sa29200.sc-sh * ldexp.c (exp_fold_tree): Don't lose the old flag bits. 1993-06-10 21:02:59 +00:00
sa29200.sh More 29200 stuff 1992-05-02 02:09:20 +00:00
sh.em sh.em, sh.sh, sh.sc-sh: New files supporting Hitachi SH. 1993-04-27 01:37:02 +00:00
sh.sc-sh More resonable default. 1993-05-03 22:43:35 +00:00
sh.sh sh.em, sh.sh, sh.sc-sh: New files supporting Hitachi SH. 1993-04-27 01:37:02 +00:00
st2000.em * Makefile.in, Makefile.dos, generic.em, genscripts.sh, 1992-09-04 03:29:15 +00:00
st2000.sc-sh Personal checkpoint - now should parse some MRI stuff 1992-04-15 22:23:33 +00:00
st2000.sh Personal checkpoint - now should parse some MRI stuff 1992-04-15 22:23:33 +00:00
sun3.sh Major rewrite of how ld is configured. The major idea 1992-02-15 22:13:53 +00:00
sun4.sh Major rewrite of how ld is configured. The major idea 1992-02-15 22:13:53 +00:00
TODO * ldver.c: Bump to version 0.98. 1992-09-03 06:02:56 +00:00
vanilla.em * Makefile.in, Makefile.dos, generic.em, genscripts.sh, 1992-09-04 03:29:15 +00:00
vanilla.sc-sh Major rewrite of how ld is configured. The major idea 1992-02-15 22:07:15 +00:00
vanilla.sh Major rewrite of how ld is configured. The major idea 1992-02-15 22:13:53 +00:00
vax.sh * Makefile.in: Change definition of $(tooldir) to match FSF. 1993-05-04 02:51:33 +00:00
z8ksim.em Fri Sep 25 11:08:01 1992 Steve Chamberlain (sac@thepub.cygnus.com) 1992-09-25 18:11:04 +00:00
z8ksim.sc-sh Fri Sep 25 11:08:01 1992 Steve Chamberlain (sac@thepub.cygnus.com) 1992-09-25 18:11:04 +00:00
z8ksim.sh Fri Sep 25 11:08:01 1992 Steve Chamberlain (sac@thepub.cygnus.com) 1992-09-25 18:11:04 +00:00

This is a BETA release of a completely rewritten GNU linker.
It is distributed with other "binary utilities" which should
be in ../binutils.  See ../binutils/README for more general notes,
including where to send bug reports.

There are many new features of the linker:

* The linker uses a Binary File Descriptor library (../bfd)
that it uses to read and write object files.  This helps
insulate the linker itself from the format of object files.

* The linker support a number of different object file
formats.  It can even handle multiple formats at once:
Read two input formats and write a third.

* The linker can be configured for cross-linking.

* The linker contains a control language.

* There is a manual.

Installation
============

See ../binutils/README.
If you want to make a cross-linker, you may want to specify
a different search path of -lfoo libraries than the default.
You can do this by setting the LIB_PATH variable in ./Makefile.

Porting to a new target
=======================

A new target configuration may need a new linker script (.sc file)
to specify linker actions (such as the layout of the output).
See if one of the existing ones are suitable.
Note that the Makefile generates variants of the standard script
that are used when ld is passed -r -Ur -N or -n options.
These variant default scripts are generated from the "master"
script using sed scripts that may not work in all cases.
Look at the rules and comments in ld/Makefile.in to make sure
you stay with the rules.

Otherwise, you may need to add a new "emulation" (a sample of a
recently added target and emulation is for the SOny 68k News
family - look for files named *news*).

Also see the notes in ../binutils/README.

Reporting bugs etc
===========================
See ../binutils/README.