binutils-gdb/ld
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
..
emulparams updated for jsmith's file renaming 1995-10-25 22:07:38 +00:00
emultempl * emultempl/aix.em: Include ldctor.h. 1995-10-27 22:21:43 +00:00
scripttempl * scripttempl/aix.sc: Move special symbols inside sections. 1995-10-26 18:12:41 +00:00
testsuite * ld-bootstrap/bootstrap.exp: On AIX, pass -bI/lib/syscalls.exp 1995-10-27 03:30:15 +00:00
.Sanitize Reflect updates to Mac support 1995-10-27 05:30:14 +00:00
ChangeLog * emultempl/aix.em: Include ldctor.h. 1995-10-27 22:21:43 +00:00
Makefile.in * Makefile.in (diststuff): Also make info. 1995-10-25 18:51:37 +00:00
NEWS mention creating SunOS shared libraries 1995-09-28 16:41:31 +00:00
README
TODO
acconfig.h * configure.in: Rewrite to use autoconf. 1995-09-06 18:58:05 +00:00
config.in * config.in: Rename from config.h.in. 1995-09-07 17:20:53 +00:00
configure * config.in: Rename from config.h.in. 1995-09-07 17:20:53 +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.host * configure.host (i[345]86-sequent-ptx* | i[345]86-sequent-sysv*) 1995-09-08 20:34:05 +00:00
configure.in * config.in: Rename from config.h.in. 1995-09-07 17:20:53 +00:00
configure.tgt Revert Linux directory searching: it turns out that Linux no longer 1995-09-11 15:04:49 +00:00
dep-in.sed New file used for rebuilding dependencies. 1993-12-13 19:37:22 +00:00
genscripts.sh
h8-doc.texi
ld.1 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Move 1995-10-17 22:36:25 +00:00
ld.h fsf address update, but not in COPYING files 1995-07-07 22:49:42 +00:00
ld.texinfo * ld.texinfo: The MRI ALIGN directive is supported. 1995-10-25 15:28:28 +00:00
ldctor.c * ldctor.c (ldctor_add_set_entry): Don't dump core if a 1995-01-24 15:34:16 +00:00
ldctor.h
ldemul.c * ldemul.c (ldemul_list_emulations): New function. 1995-03-06 19:21:33 +00:00
ldexp.c * ldexp.c (fold_name): In case NAME, permit an absolute symbol 1995-01-31 17:40:50 +00:00
ldexp.h
ldfile.c * ldemul.h (ldemul_open_dynamic_archive): Add search parameter to 1995-07-12 15:37:12 +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: Tweak casesymlist to avoid bison errors. 1995-08-16 16:26:57 +00:00
ldint.texinfo minor fixes 1993-12-31 21:08:12 +00:00
ldlang.c * ldexp.c (exp_get_abs_int): Return bfd_vma, not int. 1995-10-04 21:39:29 +00:00
ldlang.h fsf address update, but not in COPYING files 1995-07-07 22:49:42 +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 * ldmain.c (main): Initialize new field link_info.static_link. 1995-10-25 15:48:53 +00:00
ldmain.h Made many changes to eliminate gcc warnings. Made various 1993-12-11 22:55:55 +00:00
ldmisc.c * ldmain.c (main): Initialize new field link_info.static_link. 1995-10-25 15:48:53 +00:00
ldmisc.h Made many changes to eliminate gcc warnings. Made various 1993-12-11 22:55:55 +00:00
ldver.c updated version 1994-10-17 20:33:46 +00:00
ldver.h
ldwrite.c * ldmain.c (main): Initialize new field link_info.static_link. 1995-10-25 15:48:53 +00:00
ldwrite.h
lexsup.c * ld.h (parsing_defsym): Declare. 1995-09-28 19:18:07 +00:00
mac-ld.r * mpw-config.in: Add PowerMac target support, generate config.h. 1995-10-27 05:28:17 +00:00
mpw-config.in * mpw-config.in: Add PowerMac target support, generate config.h. 1995-10-27 05:28:17 +00:00
mpw-emipsidt.c * configure.in: Rewrite to use autoconf. 1995-09-06 18:58:05 +00:00
mpw-eppcmacos.c * mpw-config.in: Add PowerMac target support, generate config.h. 1995-10-27 05:28:17 +00:00
mpw-esh.c * configure.in: Rewrite to use autoconf. 1995-09-06 18:58:05 +00:00
mpw-make.sed * mpw-config.in: Add PowerMac target support, generate config.h. 1995-10-27 05:28:17 +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
sysdep.h * configure.in: Rewrite to use autoconf. 1995-09-06 18:58:05 +00:00

README

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.