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

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.