Niels Nesse f959c84229 Minwin target 9 years ago
..
emulparams 886a250647 New ARC implementation. 9 years ago
emultempl 886a250647 New ARC implementation. 9 years ago
po efb068d302 Updated Chinese translation for the linker (again!) 9 years ago
scripttempl 886a250647 New ARC implementation. 9 years ago
testsuite 15a70cda97 Add test to ensure that ternary linker script operators copy symbol flags. 9 years ago
.gitignore 8b9a522f57 bfd/binutils/gas/gprof/ld/libiberty/opcodes: add .gitignore 14 years ago
ChangeLog 1283d92f0e Extend description of the --enable-compressed-debug-sections configure option in gas and ld. 9 years ago
ChangeLog-0001 752937aa0c Add copyright notices 12 years ago
ChangeLog-0203 752937aa0c Add copyright notices 12 years ago
ChangeLog-2004 752937aa0c Add copyright notices 12 years ago
ChangeLog-2005 752937aa0c Add copyright notices 12 years ago
ChangeLog-2006 752937aa0c Add copyright notices 12 years ago
ChangeLog-2007 752937aa0c Add copyright notices 12 years ago
ChangeLog-2008 594d8fa8e9 strip off +x bits on non-executable/script files 11 years ago
ChangeLog-2009 995da1ffa7 Remove trailing spaces in ld 9 years ago
ChangeLog-2010 752937aa0c Add copyright notices 12 years ago
ChangeLog-2011 752937aa0c Add copyright notices 12 years ago
ChangeLog-2012 4e5f3f9d1d Rotate binutils ChangeLog for 2013 12 years ago
ChangeLog-2013 5fb776a637 New Year - binutils ChangeLog rotation 11 years ago
ChangeLog-2014 b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
ChangeLog-9197 995da1ffa7 Remove trailing spaces in ld 9 years ago
ChangeLog-9899 752937aa0c Add copyright notices 12 years ago
MAINTAINERS b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
Makefile.am 886a250647 New ARC implementation. 9 years ago
Makefile.in 886a250647 New ARC implementation. 9 years ago
NEWS 6c3bc0f82c Reset x86 Linux targets to not compressing debug sections by default. Enable compression of debug sections by default in the linker, if so configured. 9 years ago
README b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
TODO 252b5132c7 19990502 sourceware import 26 years ago
aclocal.m4 443507505d * configure.in (AC_CHECK_FUNCS): Add setlocale. 12 years ago
config.in 6c3bc0f82c Reset x86 Linux targets to not compressing debug sections by default. Enable compression of debug sections by default in the linker, if so configured. 9 years ago
configure 1283d92f0e Extend description of the --enable-compressed-debug-sections configure option in gas and ld. 9 years ago
configure.ac 1283d92f0e Extend description of the --enable-compressed-debug-sections configure option in gas and ld. 9 years ago
configure.host 995da1ffa7 Remove trailing spaces in ld 9 years ago
configure.tgt f959c84229 Minwin target 9 years ago
deffile.h b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
deffilep.y b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
dep-in.sed 67a648f17a * dep-in.sed: Don't use \n in replacement part of s command. 15 years ago
elf-hints-local.h e4492aa0d8 Remove trailing white spaces in ld 12 years ago
fdl.texi 9fbcbd8145 etc/ChangeLog 14 years ago
gen-doc.texi b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
genscrba.sh ac69cbc672 ld: 17 years ago
genscripts.sh b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
h8-doc.texi b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
ld.h c005eb9e34 ld: Extend options for altering orphan handling behaviour. 9 years ago
ld.texinfo 6c3bc0f82c Reset x86 Linux targets to not compressing debug sections by default. Enable compression of debug sections by default in the linker, if so configured. 9 years ago
ldbuildid.c b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
ldbuildid.h b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
ldcref.c b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
ldctor.c 0e1862bb40 Add output_type to bfd_link_info 9 years ago
ldctor.h b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
ldemul.c c005eb9e34 ld: Extend options for altering orphan handling behaviour. 9 years ago
ldemul.h b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
ldexp.c 1fb80d6d50 When evaluating a ternary operator in a linker script, copy the symbol flags. 9 years ago
ldexp.h 975f8a9e31 Delay converting linker script defined symbols from absolute 9 years ago
ldfile.c 0e1862bb40 Add output_type to bfd_link_info 9 years ago
ldfile.h b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
ldgram.y cc9ad334a7 Allow symbols in MEMORY region specification 10 years ago
ldint.texinfo 995da1ffa7 Remove trailing spaces in ld 9 years ago
ldlang.c 975f8a9e31 Delay converting linker script defined symbols from absolute 9 years ago
ldlang.h 0a61824343 ld: Add '--require-defined' command line option. 9 years ago
ldlex-wrapper.c b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
ldlex.h 9b8b325a1f Add --no-dynamic-linker option to ld, for static PIE use 9 years ago
ldlex.l a13eab064f Eat newlines inside INPUT statements in linker scripts 9 years ago
ldmain.c 6c3bc0f82c Reset x86 Linux targets to not compressing debug sections by default. Enable compression of debug sections by default in the linker, if so configured. 9 years ago
ldmain.h b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
ldmisc.c 7ac018954b Make binutils abort message GDB friendly 9 years ago
ldmisc.h b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
ldver.c efd321f91c Correct printed year in copyright notices 10 years ago
ldver.h b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
ldwrite.c 0e1862bb40 Add output_type to bfd_link_info 9 years ago
ldwrite.h b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
lexsup.c 6c3bc0f82c Reset x86 Linux targets to not compressing debug sections by default. Enable compression of debug sections by default in the linker, if so configured. 9 years ago
mri.c b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
mri.h b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
pe-dll.c 0e1862bb40 Add output_type to bfd_link_info 9 years ago
pe-dll.h b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
pep-dll.c b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
pep-dll.h b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
plugin.c 64d94ba01a Remove link_info.pic 9 years ago
plugin.h 35a1e5f305 Update plugin_maybe_claim 10 years ago
stamp-h.in 252b5132c7 19990502 sourceware import 26 years ago
sysdep.h b90efa5b79 ChangeLog rotatation and copyright year update 10 years ago
testplug.c 15f7a26b0f The initial support for LDPT_GET_VIEW 10 years ago
testplug2.c f58926a652 Add a testcase for PR ld/17973 10 years ago
testplug3.c e3001fd920 Remove unused dump_tv_tag 10 years ago

README

README for LD

This is the 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 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 supports 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 supports a control language.

* There is a user manual (ld.texinfo), as well as the
beginnings of an internals manual (ldint.texinfo).

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
or using the --with-lib-path configure switch.

To build just the linker, make the target all-ld from the top level
directory (one directory above this one).

Porting to a new target
=======================

See the ldint.texinfo manual.

Reporting bugs etc
===========================

See ../binutils/README.

Known problems
==============

The Solaris linker normally exports all dynamic symbols from an
executable. The GNU linker does not do this by default. This is
because the GNU linker tries to present the same interface for all
similar targets (in this case, all native ELF targets). This does not
matter for normal programs, but it can make a difference for programs
which try to dlopen an executable, such as PERL or Tcl. You can make
the GNU linker export all dynamic symbols with the -E or
--export-dynamic command line option.

HP/UX 9.01 has a shell bug that causes the linker scripts to be
generated incorrectly. The symptom of this appears to be "fatal error
- scanner input buffer overflow" error messages. There are various
workarounds to this:
* Build and install bash, and build with "make SHELL=bash".
* Update to a version of HP/UX with a working shell (e.g., 9.05).
* Replace "(. ${srcdir}/scripttempl/${SCRIPT_NAME}.sc)" in
genscripts.sh with "sh ${srcdir}..." (no parens) and make sure the
emulparams script used exports any shell variables it sets.

Copyright (C) 2012-2015 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.