+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.
+
2001-11-19 H.J. Lu <hjl@gnu.org>
* ld-elfvsb/define.s: Mark all global lables as object.
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 {
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 ""
--- /dev/null
+int show_foo;
--- /dev/null
+[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
--- /dev/null
+VERS_1.1 {
+ global:
+ show_foo;
+ local:
+ *;
+};
+
--- /dev/null
+Version definitions:
+1 0x01 0x0965695f vers20.so
+2 0x00 0x0a7927b1 VERS_1.1
+
--- /dev/null
+Version definitions:
+1 0x01 0x0652090f vers20a.so
+2 0x00 0x0a7927b1 VERS_1.1
+