2004-03-19 H.J. Lu <hongjiu.lu@intel.com>

* ld-elfvers/vers.exp: Add new tests for versioned weak
	definition.

	* ld-elfvers/vers28a.c: New file.
	* ld-elfvers/vers28a.dsym: Likewise.
	* ld-elfvers/vers28a.ver: Likewise.
	* ld-elfvers/vers28b.c: Likewise.
	* ld-elfvers/vers28b.dsym: Likewise.
	* ld-elfvers/vers28b.map: Likewise.
	* ld-elfvers/vers28b.ver: Likewise.
	* ld-elfvers/vers28c.c: Likewise.
	* ld-elfvers/vers28c.dsym: Likewise.
	* ld-elfvers/vers28c.ver: Likewise.
This commit is contained in:
H.J. Lu 2004-03-19 17:02:31 +00:00
parent f826dce170
commit d400d2a669
12 changed files with 51 additions and 0 deletions

View File

@ -1,3 +1,19 @@
2004-03-19 H.J. Lu <hongjiu.lu@intel.com>
* ld-elfvers/vers.exp: Add new tests for versioned weak
definition.
* ld-elfvers/vers28a.c: New file.
* ld-elfvers/vers28a.dsym: Likewise.
* ld-elfvers/vers28a.ver: Likewise.
* ld-elfvers/vers28b.c: Likewise.
* ld-elfvers/vers28b.dsym: Likewise.
* ld-elfvers/vers28b.map: Likewise.
* ld-elfvers/vers28b.ver: Likewise.
* ld-elfvers/vers28c.c: Likewise.
* ld-elfvers/vers28c.dsym: Likewise.
* ld-elfvers/vers28c.ver: Likewise.
2004-03-19 Alan Modra <amodra@bigpond.net.au>
* ld-scripts/provide-2.d: Ignore random symbols.

View File

@ -938,3 +938,9 @@ build_vers_lib_pic "vers27d2" vers27d2.c vers27d2 "" "" vers27b.ver vers27b.dsym
build_executable "vers27d3" vers27d3.c vers27d3 "vers27b.o vers27d2.so vers27d1.so" "" vers27b.ver vers27b.dsym ""
build_vers_lib_pic "vers27d4" vers27d2.c vers27d4 "vers27a.so" "" vers27d4.ver vers27d4.dsym ""
build_executable "vers27d5" vers27d3.c vers27d5 "vers27d4.so vers27b.o vers27a.so" "" vers27b.ver vers27b.dsym ""
# Test weak versioned definition vs. strong definition in different
# files.
build_vers_lib_pic "vers28a" vers28a.c vers28a "" "" vers28a.ver vers28a.dsym ""
build_vers_lib_pic "vers28b" vers28b.c vers28b "" vers28b.map vers28b.ver vers28b.dsym ""
build_vers_lib_pic "vers28c" vers28c.c vers28c "vers28b.so vers28a.so" "" vers28c.ver vers28c.dsym ""

View File

@ -0,0 +1 @@
void foo () {}

View File

@ -0,0 +1 @@
# Empty file

View File

@ -0,0 +1 @@
# Empty file

View File

@ -0,0 +1,3 @@
#pragma weak foo
void foo () {}

View File

@ -0,0 +1,2 @@
[0]*[ ]+g[ ]+DO[ ]+\*ABS\*[ ]+[0]*[ ]+VERS.0[ ]+VERS.0
[0-9a-f]*[ ]+w[ ]+DF[ ]+.text[ ]+[0-9a-f]*[ ]+VERS.0[ ]+(0x[0-9a-f]*|)[ ]*foo

View File

@ -0,0 +1,5 @@
VERS.0 {
global:
foo;
local: *;
};

View File

@ -0,0 +1,4 @@
Version definitions:
1 0x01 0x0659990f vers28b.so
2 0x00 0x05aa7610 VERS.0

View File

@ -0,0 +1,7 @@
extern void foo ();
void
bar ()
{
foo ();
}

View File

@ -0,0 +1 @@
[0-9a-f]*[ ]+DF[ ]+\*UND\*[ ]+[0-9a-f]*[ ]+VERS.0[ ]+(0x[0-9a-f]*|)[ ]*foo

View File

@ -0,0 +1,4 @@
Version References:
required from tmpdir/vers28b.so:
0x05aa7610 0x00 02 VERS.0