2002-08-08 H.J. Lu <hjl@gnu.org>
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 9 Aug 2002 04:42:44 +0000 (04:42 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 9 Aug 2002 04:42:44 +0000 (04:42 +0000)
* 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.

13 files changed:
ld/testsuite/ChangeLog
ld/testsuite/ld-elfvers/vers.exp
ld/testsuite/ld-elfvers/vers22.c [new file with mode: 0644]
ld/testsuite/ld-elfvers/vers22.dsym [new file with mode: 0644]
ld/testsuite/ld-elfvers/vers22.map [new file with mode: 0644]
ld/testsuite/ld-elfvers/vers22.ver [new file with mode: 0644]
ld/testsuite/ld-elfvers/vers22a.c [new file with mode: 0644]
ld/testsuite/ld-elfvers/vers22a.dsym [new file with mode: 0644]
ld/testsuite/ld-elfvers/vers22a.sym [new file with mode: 0644]
ld/testsuite/ld-elfvers/vers22a.ver [new file with mode: 0644]
ld/testsuite/ld-elfvers/vers22b.c [new file with mode: 0644]
ld/testsuite/ld-elfvers/vers22b.dsym [new file with mode: 0644]
ld/testsuite/ld-elfvers/vers22b.ver [new file with mode: 0644]

index 0c2e3b90899e3cb46cec350152c015c0831d89ba..22631e2b71a4930bbc53bce0b389368fbae801b3 100644 (file)
@@ -1,3 +1,19 @@
+2002-08-08  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.
+
 2002-08-07  H.J. Lu <hjl@gnu.org>
 
        * ld-elfvers/vers.exp: Add --no-undefined-version.
index 738072926ce762a80c1f7c0c8684c2e14d5cf41c..7eb3f2a3a86e5a4a8fbdef12f1180151408a0dd3 100644 (file)
@@ -826,3 +826,8 @@ build_vers_lib "vers20" vers20.c vers20 "vers20a.so vers20b.so" vers20.map vers2
 
 # 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 ""
diff --git a/ld/testsuite/ld-elfvers/vers22.c b/ld/testsuite/ld-elfvers/vers22.c
new file mode 100644 (file)
index 0000000..a04695b
--- /dev/null
@@ -0,0 +1,7 @@
+extern void bar ();
+
+void 
+foo ()
+{
+  bar ();
+}
diff --git a/ld/testsuite/ld-elfvers/vers22.dsym b/ld/testsuite/ld-elfvers/vers22.dsym
new file mode 100644 (file)
index 0000000..3c01dd3
--- /dev/null
@@ -0,0 +1 @@
+[0-9a-f]*      DF \*UND\*      [0-9a-f]*  VERS.0      (0x[0-9a-f][0-9a-f])?bar
diff --git a/ld/testsuite/ld-elfvers/vers22.map b/ld/testsuite/ld-elfvers/vers22.map
new file mode 100644 (file)
index 0000000..9a03b0b
--- /dev/null
@@ -0,0 +1,4 @@
+VERS.0 {
+  global:
+    bar;
+};
diff --git a/ld/testsuite/ld-elfvers/vers22.ver b/ld/testsuite/ld-elfvers/vers22.ver
new file mode 100644 (file)
index 0000000..05afce7
--- /dev/null
@@ -0,0 +1,4 @@
+Version References:
+  required from tmpdir/vers22b.so:
+    0x05aa7610 0x00 02 VERS.0
+
diff --git a/ld/testsuite/ld-elfvers/vers22a.c b/ld/testsuite/ld-elfvers/vers22a.c
new file mode 100644 (file)
index 0000000..288c820
--- /dev/null
@@ -0,0 +1,6 @@
+__asm__(".symver _old_bar,bar@VERS.0");
+
+void
+_old_bar () 
+{
+}
diff --git a/ld/testsuite/ld-elfvers/vers22a.dsym b/ld/testsuite/ld-elfvers/vers22a.dsym
new file mode 100644 (file)
index 0000000..b710e71
--- /dev/null
@@ -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
diff --git a/ld/testsuite/ld-elfvers/vers22a.sym b/ld/testsuite/ld-elfvers/vers22a.sym
new file mode 100644 (file)
index 0000000..39fd10a
--- /dev/null
@@ -0,0 +1 @@
+[0-9a-f]*[     ]+g[    ]+F[    ]+.text[        ]+[0-9a-f]* (0x[0-9a-f][0-9a-f] )?bar@VERS.0
diff --git a/ld/testsuite/ld-elfvers/vers22a.ver b/ld/testsuite/ld-elfvers/vers22a.ver
new file mode 100644 (file)
index 0000000..bb4d3bf
--- /dev/null
@@ -0,0 +1,4 @@
+Version definitions:
+1 0x01 0x0660090f vers22a.so
+2 0x00 0x05aa7610 VERS.0
+
diff --git a/ld/testsuite/ld-elfvers/vers22b.c b/ld/testsuite/ld-elfvers/vers22b.c
new file mode 100644 (file)
index 0000000..9e559cc
--- /dev/null
@@ -0,0 +1,4 @@
+void
+bar () 
+{
+}
diff --git a/ld/testsuite/ld-elfvers/vers22b.dsym b/ld/testsuite/ld-elfvers/vers22b.dsym
new file mode 100644 (file)
index 0000000..25d78fa
--- /dev/null
@@ -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
diff --git a/ld/testsuite/ld-elfvers/vers22b.ver b/ld/testsuite/ld-elfvers/vers22b.ver
new file mode 100644 (file)
index 0000000..b1c834b
--- /dev/null
@@ -0,0 +1,4 @@
+Version definitions:
+1 0x01 0x065f990f vers22b.so
+2 0x00 0x05aa7610 VERS.0
+