PATCH: Test moving default definition from one DSO to another.
H. J. Lu
hjl@lucon.org
Wed Aug 7 20:22:00 GMT 2002
Here is a new symbol version test for moving default definition from
one DSO to another. It will fail today. I will submit a fix if it is
approved. Any comments?
H.J.
-------------- next part --------------
2002-08-07 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp: Add vers22.
* ld-elfvers/vers22.c: New.
* ld-elfvers/vers22.dsym: New.
* ld-elfvers/vers22.map: New.
* ld-elfvers/vers22.ver: New.
* ld-elfvers/vers22a.c: New.
* ld-elfvers/vers22a.dsym: New.
* ld-elfvers/vers22a.sym: New.
* ld-elfvers/vers22a.ver: New.
* ld-elfvers/vers22b.c: New.
* ld-elfvers/vers22b.dsym: New.
* ld-elfvers/vers22b.ver: New.
--- ld/testsuite/ld-elfvers/vers.exp.version Wed Aug 7 13:31:26 2002
+++ ld/testsuite/ld-elfvers/vers.exp Wed Aug 7 17:20:00 2002
@@ -826,3 +826,8 @@ build_vers_lib "vers20" vers20.c vers20
# Test .symver override.
build_vers_lib "vers21" vers21.c vers21 "" vers21.map vers21.ver vers21.dsym vers21.sym
+
+# Test moving default definition from one DSO to another.
+build_vers_lib "vers22a" vers22a.c vers22a "" vers22.map vers22a.ver vers22a.dsym vers22a.sym
+build_vers_lib "vers22b" vers22b.c vers22b "" vers22.map vers22b.ver vers22b.dsym ""
+build_vers_lib "vers22" vers22.c vers22 "vers22a.so vers22b.so" "" vers22.ver vers22.dsym ""
--- ld/testsuite/ld-elfvers/vers22.c.version Wed Aug 7 20:14:06 2002
+++ ld/testsuite/ld-elfvers/vers22.c Wed Aug 7 17:08:13 2002
@@ -0,0 +1,7 @@
+extern void bar ();
+
+void
+foo ()
+{
+ bar ();
+}
--- ld/testsuite/ld-elfvers/vers22.dsym.version Wed Aug 7 20:14:06 2002
+++ ld/testsuite/ld-elfvers/vers22.dsym Wed Aug 7 20:07:43 2002
@@ -0,0 +1 @@
+[0-9a-f]* DF \*UND\* [0-9a-f]* VERS.0 (0x[0-9a-f][0-9a-f])?bar
--- ld/testsuite/ld-elfvers/vers22.map.version Wed Aug 7 20:14:06 2002
+++ ld/testsuite/ld-elfvers/vers22.map Wed Aug 7 17:05:07 2002
@@ -0,0 +1,4 @@
+VERS.0 {
+ global:
+ bar;
+};
--- ld/testsuite/ld-elfvers/vers22.ver.version Wed Aug 7 20:14:06 2002
+++ ld/testsuite/ld-elfvers/vers22.ver Wed Aug 7 17:24:50 2002
@@ -0,0 +1,4 @@
+Version References:
+ required from tmpdir/vers22b.so:
+ 0x05aa7610 0x00 02 VERS.0
+
--- ld/testsuite/ld-elfvers/vers22a.c.version Wed Aug 7 20:14:06 2002
+++ ld/testsuite/ld-elfvers/vers22a.c Wed Aug 7 17:04:40 2002
@@ -0,0 +1,6 @@
+__asm__(".symver _old_bar,bar@VERS.0");
+
+void
+_old_bar ()
+{
+}
--- ld/testsuite/ld-elfvers/vers22a.dsym.version Wed Aug 7 20:14:06 2002
+++ ld/testsuite/ld-elfvers/vers22a.dsym Wed Aug 7 17:16:31 2002
@@ -0,0 +1,2 @@
+[0]*[ ]+g[ ]+DO[ ]+\*ABS\*[ ]+[0]*[ ]+VERS.0[ ]+VERS.0
+[0-9a-f]*[ ]+g[ ]+DF[ ]+.text[ ]+[0-9a-f]*[ ]+\(VERS.0\)[ ]+(0x[0-9a-f]*|)[ ]*bar
--- ld/testsuite/ld-elfvers/vers22a.sym.version Wed Aug 7 20:14:06 2002
+++ ld/testsuite/ld-elfvers/vers22a.sym Wed Aug 7 17:19:39 2002
@@ -0,0 +1 @@
+[0-9a-f]*[ ]+g[ ]+F[ ]+.text[ ]+[0-9a-f]* (0x[0-9a-f][0-9a-f] )?bar@VERS.0
--- ld/testsuite/ld-elfvers/vers22a.ver.version Wed Aug 7 20:14:06 2002
+++ ld/testsuite/ld-elfvers/vers22a.ver Wed Aug 7 17:13:25 2002
@@ -0,0 +1,4 @@
+Version definitions:
+1 0x01 0x0660090f vers22a.so
+2 0x00 0x05aa7610 VERS.0
+
--- ld/testsuite/ld-elfvers/vers22b.c.version Wed Aug 7 20:14:06 2002
+++ ld/testsuite/ld-elfvers/vers22b.c Wed Aug 7 17:04:20 2002
@@ -0,0 +1,4 @@
+void
+bar ()
+{
+}
--- ld/testsuite/ld-elfvers/vers22b.dsym.version Wed Aug 7 20:14:06 2002
+++ ld/testsuite/ld-elfvers/vers22b.dsym Wed Aug 7 17:17:15 2002
@@ -0,0 +1,2 @@
+[0]*[ ]+g[ ]+DO[ ]+\*ABS\*[ ]+[0]*[ ]+VERS.0[ ]+VERS.0
+[0-9a-f]*[ ]+g[ ]+DF[ ]+.text[ ]+[0-9a-f]*[ ]+VERS.0[ ]+(0x[0-9a-f]*|)[ ]*bar
--- ld/testsuite/ld-elfvers/vers22b.ver.version Wed Aug 7 20:14:06 2002
+++ ld/testsuite/ld-elfvers/vers22b.ver Wed Aug 7 17:13:40 2002
@@ -0,0 +1,4 @@
+Version definitions:
+1 0x01 0x065f990f vers22b.so
+2 0x00 0x05aa7610 VERS.0
+
More information about the Binutils
mailing list