binutils-gdb/ld
Ian Lance Taylor 9a467cb2b5 Finish up support for i386-sysv4 (without shared libraries):
* ld.h (flag_is_weak): Define.
	* ldlang.c (print_symbol): Mention whether symbol is weak.
	(print_input_section): Print weak symbols as globals.
	* ldmain.c (refize): Do not zero out BSF_WEAK flag.
	(enter_global_ref): Do not warn if a weak symbol redefines a
	global symbol.  Do not let a weak symbol redefine a common symbol.
	(enter_file_symbols): Treat weak symbols as global symbols.
	(subfile_wanted_p): Do not pull in an object file from a archive
	just to resolve an undefined weak symbol.
	* ldmisc.c (vfinfo): Don't needlessly malloc space after a fatal
	error; the error might be that malloc has run out of space.
	* ldsym.c (write_file_locals): Treat weak symbols as global.
	* configure.in (i[34]86-*-sysv4*, i[34]86-*-elf*): New targets;
	use i386-elf.
	* config/i386v4.mh: New file; set NATIVE_LIB_DIRS to /usr/ccs/lib.
	* config/i386-elf.mt: New file; set EMUL to elf_i386.
	* emulparams/elf_i386.sh: New file.
	* scripttempl/elf.sc: Use ${NOP} as filler (defaults to 0).
	* Makefile.in (NATIVE_LIB_DIRS): Define to be empty.
	(ALL_EMULATIONS): Add em_elf_i386.o.
	(GENSCRIPTS): Pass NATIVE_LIB_DIRS as sixth argument.
	(em_elf_i386.c): New target, like other em_*.c targets.
	($(LD_PROG)): Pass $(CFLAGS) to $(CC).
	* genscripts.sh: Accept NATIVE_LIB_DIRS as sixth argument.  If
	nonempty, and configured for native, add it to LIB_PATH.
1993-09-17 22:11:00 +00:00
..
config Add EMUL=h8300h. 1993-09-12 23:12:31 +00:00
emulparams From Peter Hoogenboom <hoogen@shafer.cs.utah.edu>: 1993-08-24 23:45:26 +00:00
emultempl From Peter Hoogenboom <hoogen@shafer.cs.utah.edu>: 1993-08-24 23:45:26 +00:00
scripttempl From Peter Hoogenboom <hoogen@shafer.cs.utah.edu>: 1993-08-24 23:45:26 +00:00
testsuite Added CXXFLAGS to compile stage in ld.cdtest/cdtest.exp 1993-09-10 17:00:19 +00:00
.Sanitize * .Sanitize (Things-to-keep): Add emulparams, emultempl, scripttempl. 1993-06-21 23:40:21 +00:00
cdtest-foo.cc
cdtest-foo.h
cdtest-func.cc
cdtest-main.cc
cdtest.exp
ChangeLog Finish up support for i386-sysv4 (without shared libraries): 1993-09-17 22:11:00 +00:00
config.h fix my default emulation changes 1993-01-08 22:06:17 +00:00
configure
configure.bat
configure.in Fix h8300h support (need own .mt file). 1993-07-16 20:44:05 +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 add -warn-common option 1993-08-03 22:47:28 +00:00
ld.h * ld.h (BYTE_SIZE, SHORT_SIZE, LONG_SIZE): Define as suggested by 1993-08-26 22:22:36 +00:00
ld.texinfo tiny additions & fixes 1993-09-03 22:47:04 +00:00
ldctor.h
ldemul.c
lderror.c * ldfile.c (ldfile_open_command): Don't try .ld extension. 1993-06-17 20:55:43 +00:00
lderror.h
ldexp.c add missing newlines in messages 1993-08-05 02:52:17 +00:00
ldexp.h
ldfile.c source cleanups; fix finding scripts 1993-07-15 21:43:28 +00:00
ldfile.h
ldgram.y * ldgram.y (OPTION_Lfile): New token. 1993-07-16 21:15:40 +00:00
ldindr.c add missing newlines in messages 1993-08-05 02:52:17 +00:00
ldindr.h
ldlang.c define BYTE_SIZE, SHORT_SIZE, and LONG_SIZE which are no longer in bfd.h. 1993-08-24 23:17:52 +00:00
ldlang.h
ldlex.h
ldlex.l add missing newlines in messages 1993-08-05 02:52:17 +00:00
ldmain.c add -warn-common option 1993-08-03 22:47:28 +00:00
ldmain.h
ldmisc.c add -warn-common option 1993-08-03 22:47:28 +00:00
ldmisc.h
ldsym.c Finish up support for i386-sysv4 (without shared libraries): 1993-09-17 22:11:00 +00:00
ldsym.h
ldver.c
ldver.h
ldwarn.c * ldfile.c (ldfile_open_command): Don't try .ld extension. 1993-06-17 20:55:43 +00:00
ldwarn.h
ldwrite.c
ldwrite.h
Makefile.in Changed CXX back to g++. Using ../gcc/xgcc breaks because of <assert.h> 1993-09-10 16:53:33 +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
README
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
TODO

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.