binutils-gdb/ld
Ian Lance Taylor 31ddb15694 * scripttempl/elf.sc: Use PROVIDE to define etext, edata, and end.
Add a new script operator, PROVIDE, to define a symbol only if it
	is needed.
	* ldgram.y (PROVIDE): New token.
	(assignment): Accept PROVIDE.
	* ldlex.l (PROVIDE): New token.
	* ldexp.h (node_type): Add etree_provide to node_class enum.
	(exp_provide): Declare.
	* ldexp.c (exp_fold_tree): Handle etree_provide.
	(exp_provide): New function.
	(exp_print_tree): Handle etree_provide.
	* ld.texinfo: Document PROVIDE.
1994-07-22 20:55:45 +00:00
..
config ns32k port from Ian Dall 1994-07-14 19:20:53 +00:00
emulparams ns32k port from Ian Dall 1994-07-14 19:20:53 +00:00
emultempl Thu Jun 16 14:25:22 1994 Eric Youngdale (ericy@cais.cais.com) 1994-06-16 18:36:40 +00:00
scripttempl * scripttempl/elf.sc: Use PROVIDE to define etext, edata, and end. 1994-07-22 20:55:45 +00:00
testsuite changes from gas-2.3/binutils-2.4 dist (details in branch log msgs, changelogs) 1994-05-27 16:58:05 +00:00
.Sanitize Elim dup of file names 1994-06-30 23:19:26 +00:00
cdtest-bar.cc * ldver.c (ldversion): Updated version number. 1994-05-11 23:10:34 +00:00
cdtest-foo.cc * ldver.c (ldversion): Updated version number. 1994-05-11 23:10:34 +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-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 * scripttempl/elf.sc: Use PROVIDE to define etext, edata, and end. 1994-07-22 20:55:45 +00:00
ChangeLog.gm * mpw-xconfig.in: Remove ldemul-list.h construction, now in 1994-06-28 20:16:32 +00:00
ChangeLog.mpw * mpw-config.in (emulname): Set based on target. 1994-06-28 20:20:35 +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 changes from gas-2.3/binutils-2.4 dist (details in branch log msgs, changelogs) 1994-05-27 16:58:05 +00:00
configure.in ns32k port from Ian Dall 1994-07-14 19:20:53 +00:00
dep-in.sed New file used for rebuilding dependencies. 1993-12-13 19:37:22 +00:00
genscripts.sh The default script is now compiled in; the others are still in the filesystem. 1993-07-22 00:33:10 +00:00
h8-doc.texi ld.texinfo: 1993-03-30 23:25:03 +00:00
ld.1 clarify reason for -sort-common 1993-10-29 00:30:51 +00:00
ld.h * ld.h (ld_config_type): Add new field traditional_format. 1994-06-15 06:01:45 +00:00
ld.texinfo * ld.h (args_type): Add field rpath. 1994-07-20 19:55:36 +00:00
ldctor.c Made many changes to eliminate gcc warnings. Made various 1993-12-11 22:55:55 +00:00
ldctor.h Initial revision 1991-12-08 01:21:25 +00:00
ldemul.c A major rewrite to move the bulk of the linker into BFD so that 1993-12-30 19:51:41 +00:00
ldexp.c * scripttempl/elf.sc: Use PROVIDE to define etext, edata, and end. 1994-07-22 20:55:45 +00:00
ldexp.h Fixed some grammer ambiguities 1991-04-03 22:03:55 +00:00
ldfile.c * ldfile.c (open_a): If this is not an archive, try to open it in 1994-06-13 21:35:27 +00:00
ldfile.h * ldfile.h (search_dirs_type): Move from ldfile.c, and add cmdline 1994-06-02 21:30:57 +00:00
ldgram.y * ldgram.y (YYDEBUG): Don't define. 1994-06-13 19:47:50 +00:00
ldint.texinfo minor fixes 1993-12-31 21:08:12 +00:00
ldlang.c * ldlang.c (lang_common): Pass desired alignment to 1994-07-22 18:46:28 +00:00
ldlang.h * ldlang.h (lang_input_statement_type): Remove fields subfiles, 1994-06-01 18:28:26 +00:00
ldlex.h Use getopt instead of lex and yacc to parse the command line. 1994-02-25 03:26:25 +00:00
ldlex.l * scripttempl/elf.sc: Use PROVIDE to define etext, edata, and end. 1994-07-22 20:55:45 +00:00
ldmain.c * lexsup.c (parse_args): Add -shared to longopts, and handle it. 1994-06-16 19:32:07 +00:00
ldmain.h Made many changes to eliminate gcc warnings. Made various 1993-12-11 22:55:55 +00:00
ldmisc.c * ldlang.c, ldmain.c, ldmisc.c: Use bfd_get_error and 1994-02-17 18:12:17 +00:00
ldmisc.h Made many changes to eliminate gcc warnings. Made various 1993-12-11 22:55:55 +00:00
ldver.c changes from gas-2.3/binutils-2.4 dist (details in branch log msgs, changelogs) 1994-05-27 16:58:05 +00:00
ldver.h Initial revision 1991-05-18 02:58:02 +00:00
ldwrite.c Changes to make -Ur work again. 1994-03-22 00:24:13 +00:00
ldwrite.h Initial revision 1991-03-21 21:29:06 +00:00
lexsup.c * lexsup.c (parse_args): Changed "retain-symbols-file" from 1994-07-08 15:06:29 +00:00
Makefile.in ns32k port from Ian Dall 1994-07-14 19:20:53 +00:00
mpw-config.in * mpw-config.in (emulname): Set based on target. 1994-06-28 20:20:35 +00:00
mpw-em.c Fri Mar 4 11:43:47 1994 Stan Shebs (shebs@andros.cygnus.com) 1994-03-04 19:53:16 +00:00
mpw-make.in * mpw-config.in (emulname): Set based on target. 1994-06-28 20:20:35 +00:00
mpw-xconfig.in Fix typo 1994-06-30 00:08:11 +00:00
mri.c Made many changes to eliminate gcc warnings. Made various 1993-12-11 22:55:55 +00:00
mri.h Made many changes to eliminate gcc warnings. Made various 1993-12-11 22:55:55 +00:00
NEWS There is no interesting Irix 5, or PowerPC, or RS/6000 support in the 1994-04-14 04:02:34 +00:00
README Initial revision 1991-10-15 06:57:32 +00:00
TODO * ldver.c: Bump to version 0.98. 1992-09-03 06:02:56 +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.