8ddef5528d
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. |
||
---|---|---|
.. | ||
config | ||
emulparams | ||
emultempl | ||
scripttempl | ||
.Sanitize | ||
a29k.sc-sh | ||
a29k.sh | ||
aout.sc-sh | ||
cdtest-foo.cc | ||
cdtest-foo.h | ||
cdtest-func.cc | ||
cdtest-main.cc | ||
cdtest.exp | ||
ChangeLog | ||
config.h | ||
configure | ||
configure.bat | ||
configure.in | ||
ebmon29k.sc-sh | ||
ebmon29k.sh | ||
generic.em | ||
genscripts.sh | ||
gld960.em | ||
gld960.sh | ||
go32.sh | ||
h8-doc.texi | ||
h8300hms.em | ||
h8300hms.sc-sh | ||
h8300hms.sh | ||
h8500hms.em | ||
h8500hms.sc-sh | ||
h8500hms.sh | ||
hp3hpux.sh | ||
hp300bsd.sh | ||
hppaosf.em | ||
hppaosf.sc-sh | ||
hppaosf.sh | ||
i386aout.sh | ||
i386bsd.sh | ||
i386coff.sc-sh | ||
i386coff.sh | ||
i960.sc-sh | ||
ld.1 | ||
ld.h | ||
ld.texinfo | ||
ldctor.h | ||
ldemul.c | ||
lderror.c | ||
lderror.h | ||
ldexp.c | ||
ldexp.h | ||
ldfile.c | ||
ldfile.h | ||
ldgram.y | ||
ldindr.c | ||
ldindr.h | ||
ldlang.c | ||
ldlang.h | ||
ldlex.h | ||
ldlex.l | ||
ldmain.c | ||
ldmain.h | ||
ldmisc.c | ||
ldmisc.h | ||
ldsym.c | ||
ldsym.h | ||
ldver.c | ||
ldver.h | ||
ldwarn.c | ||
ldwarn.h | ||
ldwrite.c | ||
ldwrite.h | ||
lnk960.em | ||
lnk960.sh | ||
m68kcoff.sc-sh | ||
m68kcoff.sh | ||
m88kbcs.sc-sh | ||
m88kbcs.sh | ||
Makefile.in | ||
mips.sc-sh | ||
mipsbig.sh | ||
mipsbsd.sc-sh | ||
mipsbsd.sh | ||
mipsidt.sh | ||
mipsidtl.sh | ||
mipslit.sh | ||
mkscript.c | ||
mri.c | ||
NEWS | ||
news.sh | ||
README | ||
relax.c | ||
relax.h | ||
sa29200.sc-sh | ||
sa29200.sh | ||
sh.em | ||
sh.sc-sh | ||
sh.sh | ||
st2000.em | ||
st2000.sc-sh | ||
st2000.sh | ||
sun3.sh | ||
sun4.sh | ||
TODO | ||
vanilla.em | ||
vanilla.sc-sh | ||
vanilla.sh | ||
vax.sh | ||
z8ksim.em | ||
z8ksim.sc-sh | ||
z8ksim.sh |
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.