aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2002-06-13 02:43:23 +0000
committerH.J. Lu <hjl.tools@gmail.com>2002-06-13 02:43:23 +0000
commitc4bb8067a5599a2f618238f8b12ad14b6629ff8b (patch)
tree8c14e3e522e11e1e139785e1dc1cabca8983412a
parent9cbea35f25e0dd86792f2cf96bc01e0264346653 (diff)
downloadgdb-c4bb8067a5599a2f618238f8b12ad14b6629ff8b.zip
gdb-c4bb8067a5599a2f618238f8b12ad14b6629ff8b.tar.gz
gdb-c4bb8067a5599a2f618238f8b12ad14b6629ff8b.tar.bz2
2002-06-12 H.J. Lu <hjl@gnu.org>
* emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Return false if xvec doesn't match.
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/emultempl/elf32.em7
2 files changed, 12 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index f170102..6fb172a 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+2002-06-12 H.J. Lu <hjl@gnu.org>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Return
+ false if xvec doesn't match.
+
2002-06-10 Richard Sandiford <rsandifo@redhat.com>
* ldlang.c (lang_size_sections_1): Skip removed output sections.
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index e854c2a..cfd0409 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -281,6 +281,13 @@ gld${EMULATION_NAME}_try_needed (name, force)
return false;
}
+ /* For DT_NEEDED, they have to match. */
+ if (abfd->xvec != output_bfd->xvec)
+ {
+ bfd_close (abfd);
+ return false;
+ }
+
/* Check whether this object would include any conflicting library
versions. If FORCE is set, then we skip this check; we use this
the second time around, if we couldn't find any compatible