summaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2006-02-09 01:05:10 +0000
committerH.J. Lu <hjl.tools@gmail.com>2006-02-09 01:05:10 +0000
commitc1446dbab7c44c23025d02d045c826ecb4c3de37 (patch)
tree92b51c03980840f741bd5d79a7bf53db60df9286 /ld
parent0d47446427843e4f69a7ffbc0fe39341e3ff8f6a (diff)
downloadbinutils-gdb-c1446dbab7c44c23025d02d045c826ecb4c3de37.tar.gz
2006-02-08 H.J. Lu <hongjiu.lu@intel.com>
PR ld/2290 * NEWS: Updated for the Linux linker search order change. * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Call gld${EMULATION_NAME}_check_ld_so_conf before checking default search directories for DT_NEEDED entries.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog9
-rw-r--r--ld/NEWS3
-rw-r--r--ld/emultempl/elf32.em23
3 files changed, 24 insertions, 11 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 2cb4fd08bcf..b525e77cdb6 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,12 @@
+2006-02-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/2290
+ * NEWS: Updated for the Linux linker search order change.
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Call
+ gld${EMULATION_NAME}_check_ld_so_conf before checking default
+ search directories for DT_NEEDED entries.
+
2006-02-07 Paul Brook <paul@codesourcery.com>
* emultempl/armelf.em: Include elf/arm.h.
diff --git a/ld/NEWS b/ld/NEWS
index 23ccc9385de..7ec8921d998 100644
--- a/ld/NEWS
+++ b/ld/NEWS
@@ -1,5 +1,8 @@
-*- text -*-
+* Modify the Linux linker to seach /etc/ld.so.conf first before
+ checking default search directories for DT_NEEDED entries.
+
* PE-COFF: Forward exports from DLL's can now be specified in .def files
passed directly to ld.
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index 703248a5ce4..048917f3b5a 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -919,6 +919,18 @@ cat >>e${EMULATION_NAME}.c <<EOF
EOF
fi
+if [ "x${USE_LIBPATH}" = xyes ] ; then
+ case ${target} in
+ *-*-linux-* | *-*-k*bsd*-*)
+ # Linux
+ cat >>e${EMULATION_NAME}.c <<EOF
+ if (gld${EMULATION_NAME}_check_ld_so_conf (l->name, force))
+ break;
+
+EOF
+ ;;
+ esac
+fi
cat >>e${EMULATION_NAME}.c <<EOF
len = strlen (l->name);
for (search = search_head; search != NULL; search = search->next)
@@ -937,17 +949,6 @@ cat >>e${EMULATION_NAME}.c <<EOF
if (search != NULL)
break;
EOF
-if [ "x${USE_LIBPATH}" = xyes ] ; then
- case ${target} in
- *-*-linux-* | *-*-k*bsd*-*)
- cat >>e${EMULATION_NAME}.c <<EOF
- if (gld${EMULATION_NAME}_check_ld_so_conf (l->name, force))
- break;
-EOF
- # Linux
- ;;
- esac
-fi
cat >>e${EMULATION_NAME}.c <<EOF
}