aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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