This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: libc divdi3 and libgcc
On Sat, May 03, 2003 at 11:22:47AM +0930, Alan Modra wrote:
> On Fri, May 02, 2003 at 08:44:30AM -0700, H. J. Lu wrote:
> > in my binutils. If you still have this problem, please create a small
> > testcase. I will look into it.
>
I checked in the following testcase.
H.J.
---
2003-05-03 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp: Add vers27a, vers27b, vers27c1 and
vers27c2 to test versioned definition vs. hidden definition in
different files.
* ld-elfvers/vers27a.c: New file.
* ld-elfvers/vers27a.dsym: Likewise.
* ld-elfvers/vers27a.map: Likewise.
* ld-elfvers/vers27a.ver: Likewise.
* ld-elfvers/vers27b.c: Likewise.
* ld-elfvers/vers27b.dsym: New empty file.
* ld-elfvers/vers27b.ver: Likwise.
* ld-elfvers/vers27c.c: Likwise.
* ld-elfvers/vers27c.dsym: Likwise.
* ld-elfvers/vers27c.ver: Likwise.
--- ld/testsuite/ld-elfvers/vers.exp.ver-vsb 2003-05-03 00:06:48.000000000 -0700
+++ ld/testsuite/ld-elfvers/vers.exp 2003-05-03 09:37:31.000000000 -0700
@@ -919,3 +919,9 @@ if [istarget x86_64-*-linux*] {
} else {
build_vers_lib_no_pic "vers26b3" vers26b.c vers26b3 "vers26a.so vers26b1.so vers26a.o" "" vers26b.ver vers26b.dsym ""
}
+
+# Test versioned definition vs. hidden definition in different files.
+build_vers_lib_no_pic "vers27a" vers27a.c vers27a "" vers27a.map vers27a.ver vers27a.dsym ""
+build_vers_lib_no_pic "vers27b" vers27b.c vers27b "" "" vers27b.ver vers27b.dsym ""
+build_vers_lib_no_pic "vers27c1" vers27c.c vers27c1 "vers27b.o vers27a.so" "" vers27c.ver vers27c.dsym ""
+build_vers_lib_no_pic "vers27c2" vers27c.c vers27c2 "vers27a.so vers27b.o" "" vers27c.ver vers27c.dsym ""
--- ld/testsuite/ld-elfvers/vers27a.c.ver-vsb 2003-05-03 09:38:46.000000000 -0700
+++ ld/testsuite/ld-elfvers/vers27a.c 2003-05-03 09:26:45.000000000 -0700
@@ -0,0 +1 @@
+void foo () {}
--- ld/testsuite/ld-elfvers/vers27a.dsym.ver-vsb 2003-05-03 09:38:46.000000000 -0700
+++ ld/testsuite/ld-elfvers/vers27a.dsym 2003-05-03 09:28:50.000000000 -0700
@@ -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]*|)[ ]*foo
--- ld/testsuite/ld-elfvers/vers27a.map.ver-vsb 2003-05-03 09:38:46.000000000 -0700
+++ ld/testsuite/ld-elfvers/vers27a.map 2003-05-03 09:28:27.000000000 -0700
@@ -0,0 +1,5 @@
+VERS.0 {
+ global:
+ foo;
+ local: *;
+};
--- ld/testsuite/ld-elfvers/vers27a.ver.ver-vsb 2003-05-03 09:38:46.000000000 -0700
+++ ld/testsuite/ld-elfvers/vers27a.ver 2003-05-03 09:30:25.000000000 -0700
@@ -0,0 +1,4 @@
+Version definitions:
+1 0x01 0x065b090f vers27a.so
+2 0x00 0x05aa7610 VERS.0
+
--- ld/testsuite/ld-elfvers/vers27b.c.ver-vsb 2003-05-03 09:38:46.000000000 -0700
+++ ld/testsuite/ld-elfvers/vers27b.c 2003-05-03 09:31:03.000000000 -0700
@@ -0,0 +1,2 @@
+void foo () {}
+asm (".hidden foo");