This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
PATCH: Add ld version test for common symbol
- From: "H . J . Lu" <hjl at lucon dot org>
- To: binutils at sourceware dot cygnus dot com
- Date: Thu, 29 Nov 2001 23:54:13 -0800
- Subject: PATCH: Add ld version test for common symbol
I will check in this patch shortly.
H.J.
----
2001-11-29 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp (build_vers_lib): Support linking against
more than one libraries.
Add "vers20a" and "vers20" tests for common symbols.
* ld-elfvers/vers20.c: New.
* ld-elfvers/vers20.dsym: New.
* ld-elfvers/vers20.map: New.
* ld-elfvers/vers20.ver: New.
* ld-elfvers/vers20a.ver: New.
--- ld-elfvers/vers.exp.common Thu Nov 29 23:44:49 2001
+++ ld-elfvers/vers.exp Thu Nov 29 23:48:50 2001
@@ -480,10 +480,11 @@ proc build_vers_lib { test source libnam
return
}
- if [string match "" $other] then {
- set other_lib ""
- } else {
- set other_lib $tmpdir/$other
+ set other_lib ""
+ if ![string match "" $other] then {
+ foreach o $other {
+ set other_lib "$tmpdir/$o $other_lib"
+ }
}
if [string match "" $mapfile] then {
@@ -816,3 +817,7 @@ build_exec "vers16" vers16.c vers16 "" v
build_vers_lib "vers17" vers17.c vers17 "" vers17.map vers17.ver vers17.dsym ""
build_vers_lib "vers18" vers18.c vers18 vers17.so vers18.map vers18.ver vers18.dsym vers18.sym
build_exec "vers19" vers19.c vers19 "-rpath ." vers18.so vers19.ver vers19.dsym ""
+
+build_vers_lib "vers20a" vers20.c vers20a "" vers20.map vers20a.ver vers20.dsym ""
+exec cp $tmpdir/vers20a.so $tmpdir/vers20b.so
+build_vers_lib "vers20" vers20.c vers20 "vers20a.so vers20b.so" vers20.map vers20.ver vers20.dsym ""
--- ld-elfvers/vers20.c.common Thu Nov 29 23:44:41 2001
+++ ld-elfvers/vers20.c Thu Nov 29 23:17:43 2001
@@ -0,0 +1 @@
+int show_foo;
--- ld-elfvers/vers20.dsym.common Thu Nov 29 23:44:41 2001
+++ ld-elfvers/vers20.dsym Thu Nov 29 23:29:27 2001
@@ -0,0 +1,2 @@
+[0]*[ ]+g[ ]+DO[ ]+\*ABS\*[ ]+[0]*[ ]+VERS_1.1[ ]+VERS_1.1
+[0-9a-f]*[ ]+g[ ]+DO[ ]+.(s|)bss[ ]+[0-9a-f]*[ ]+VERS_1.1[ ]+show_foo
--- ld-elfvers/vers20.map.common Thu Nov 29 23:44:41 2001
+++ ld-elfvers/vers20.map Thu Nov 29 23:17:52 2001
@@ -0,0 +1,7 @@
+VERS_1.1 {
+ global:
+ show_foo;
+ local:
+ *;
+};
+
--- ld-elfvers/vers20.ver.common Thu Nov 29 23:44:41 2001
+++ ld-elfvers/vers20.ver Thu Nov 29 23:20:54 2001
@@ -0,0 +1,4 @@
+Version definitions:
+1 0x01 0x0965695f vers20.so
+2 0x00 0x0a7927b1 VERS_1.1
+
--- ld-elfvers/vers20a.ver.common Thu Nov 29 23:44:41 2001
+++ ld-elfvers/vers20a.ver Thu Nov 29 23:31:39 2001
@@ -0,0 +1,4 @@
+Version definitions:
+1 0x01 0x0652090f vers20a.so
+2 0x00 0x0a7927b1 VERS_1.1
+