From 08efffb82dbcbb34f9704f63cd1c51a252e2f710 Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Mon, 22 Aug 2011 12:35:10 +0000 Subject: [PATCH] * ldmain.c (add_DT_NEEDED_for_dynamic): Default to FALSE. * ld.texinfo (--copy-dt-needed-entries): Mention new default. --- ld/ChangeLog | 5 +++++ ld/ld.texinfo | 21 ++++++++++----------- ld/ldmain.c | 2 +- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index ce8a034..1297c2c 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2011-08-22 Michael Matz + + * ldmain.c (add_DT_NEEDED_for_dynamic): Default to FALSE. + * ld.texinfo (--copy-dt-needed-entries): Mention new default. + 2011-08-17 Alan Modra PR ld/12762 diff --git a/ld/ld.texinfo b/ld/ld.texinfo index 94079e2..592e38c 100644 --- a/ld/ld.texinfo +++ b/ld/ld.texinfo @@ -1258,21 +1258,20 @@ option. @itemx --no-copy-dt-needed-entries This option affects the treatment of dynamic libraries referred to by DT_NEEDED tags @emph{inside} ELF dynamic libraries mentioned on the -command line. Normally the linker will add a DT_NEEDED tag to the +command line. Normally the linker won't add a DT_NEEDED tag to the output binary for each library mentioned in a DT_NEEDED tag in an -input dynamic library. With @option{--no-copy-dt-needed-entries} +input dynamic library. With @option{--copy-dt-needed-entries} specified on the command line however any dynamic libraries that -follow it will have their DT_NEEDED entries ignored. The default -behaviour can be restored with @option{--copy-dt-needed-entries}. +follow it will have their DT_NEEDED entries added. The default +behaviour can be restored with @option{--no-copy-dt-needed-entries}. This option also has an effect on the resolution of symbols in dynamic -libraries. With the default setting dynamic libraries mentioned on -the command line will be recursively searched, following their -DT_NEEDED tags to other libraries, in order to resolve symbols -required by the output binary. With -@option{--no-copy-dt-needed-entries} specified however the searching -of dynamic libraries that follow it will stop with the dynamic -library itself. No DT_NEEDED links will be traversed to resolve +libraries. With @option{--copy-dt-needed-entries} dynamic libraries +mentioned on the command line will be recursively searched, following +their DT_NEEDED tags to other libraries, in order to resolve symbols +required by the output binary. With the default setting however +the searching of dynamic libraries that follow it will stop with the +dynamic library itself. No DT_NEEDED links will be traversed to resolve symbols. @cindex cross reference table diff --git a/ld/ldmain.c b/ld/ldmain.c index 1b84835..567b697 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c @@ -105,7 +105,7 @@ bfd_boolean add_DT_NEEDED_for_regular; /* True means create DT_NEEDED entries for dynamic libraries that are DT_NEEDED by dynamic libraries specifically mentioned on the command line. */ -bfd_boolean add_DT_NEEDED_for_dynamic = TRUE; +bfd_boolean add_DT_NEEDED_for_dynamic; /* TRUE if we should demangle symbol names. */ bfd_boolean demangling; -- 2.7.4