binutils-gdb/ld
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
..
config * config/m68klynx.mh: New file. 1994-09-12 21:06:35 +00:00
emulparams * emulparams/elf32mipb.sh (TEMPLATE_NAME): Define as elf32. 1994-09-10 20:04:17 +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 * config/i386lynx.mh: New file. 1994-09-12 02:42:49 +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 Remove supposedly (but not really) GM-specific bits 1994-09-13 00:18:55 +00:00
cdtest-bar.cc
cdtest-foo.cc
cdtest-foo.h
cdtest-main.cc
cdtest.exp
ChangeLog * ldlang.c (load_symbols): Check for archive before object. Use 1994-09-13 20:42:47 +00:00
ChangeLog.mpw Merge in former supposed GM-specific bits 1994-09-13 00:20:31 +00:00
config.h
configure
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 * configure.in: Change i[34]86 to i[345]86. 1994-08-24 16:53:39 +00:00
dep-in.sed
genscripts.sh
h8-doc.texi
ld.1
ld.h * ld.h (ld_config_type): Add new field traditional_format. 1994-06-15 06:01:45 +00:00
ld.texinfo * ldlang.c (load_symbols): Check for archive before object. Use 1994-09-13 20:42:47 +00:00
ldctor.c
ldctor.h
ldemul.c
ldexp.c * scripttempl/elf.sc: Use PROVIDE to define etext, edata, and end. 1994-07-22 20:55:45 +00:00
ldexp.h
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 * ldlang.c (load_symbols): Check for archive before object. Use 1994-09-13 20:42:47 +00:00
ldint.texinfo
ldlang.c * ldlang.c (load_symbols): Check for archive before object. Use 1994-09-13 20:42:47 +00:00
ldlang.h * ldlang.h (lang_input_statement_type): Remove fields subfiles, 1994-06-01 18:28:26 +00:00
ldlex.h
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
ldmisc.c
ldmisc.h
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
ldwrite.c
ldwrite.h
lexsup.c * lexsup.c (parse_args): Changed "retain-symbols-file" from 1994-07-08 15:06:29 +00:00
Makefile.in * emulparams/elf32mipb.sh (TEMPLATE_NAME): Define as elf32. 1994-09-10 20:04:17 +00:00
mpw-config.in Merge in former supposed GM-specific bits 1994-09-13 00:20:31 +00:00
mpw-em.c
mpw-make.in * mpw-config.in (emulname): Set based on target. 1994-06-28 20:20:35 +00:00
mri.c
mri.h
NEWS
README
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.