* ld-elfvers/vers.exp: Add new tests vers17 to vers19.

* ld/elfvers/{vers17.*, vers18.*, vers19.*}: New files.
This commit is contained in:
Ian Lance Taylor 1999-07-07 15:36:29 +00:00
parent b4536acd1f
commit f04894943e
14 changed files with 114 additions and 0 deletions

View File

@ -1,3 +1,8 @@
1999-07-07 Ian Lance Taylor <ian@zembu.com>
* ld-elfvers/vers.exp: Add new tests vers17 to vers19.
* ld/elfvers/{vers17.*, vers18.*, vers19.*}: New files.
1999-06-13 Ian Lance Taylor <ian@zembu.com>
* ld-checks/asm.s: Use a symbol name for .lcomm.

View File

@ -806,3 +806,8 @@ build_exec "vers15" vers15.c vers15 "" vers1.so vers15.ver vers15.dsym vers15.sy
#
build_vers_lib "vers16a" vers16a.c vers16a "" vers16.map vers16a.ver vers16a.dsym ""
build_exec "vers16" vers16.c vers16 "" vers16a.so "" vers16.dsym ""
# Test a weak versioned symbol.
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 "" vers18.so vers19.ver vers19.dsym ""

View File

@ -0,0 +1,5 @@
int
show_foo ()
{
return 99;
}

View File

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

View File

@ -0,0 +1,4 @@
VERS_2.0 {
global:
show_foo;
};

View File

@ -0,0 +1,3 @@
Version definitions:
1 0x01 0x02605d3f tmpdir/vers17.so
2 0x00 0x0a7922b0 VERS_2.0

View File

@ -0,0 +1,42 @@
int
bar ()
{
return 3;
}
#pragma weak hide_original_foo
int
hide_original_foo ()
{
return 1 + bar ();
}
#pragma weak hide_old_foo
int
hide_old_foo ()
{
return 10 + bar();
}
#pragma weak hide_old_foo1
int
hide_old_foo1 ()
{
return 100 + bar ();
}
#pragma weak hide_new_foo
int
hide_new_foo ()
{
return 1000 + bar ();
}
__asm__(".symver hide_original_foo,show_foo@");
__asm__(".symver hide_old_foo,show_foo@VERS_1.1");
__asm__(".symver hide_old_foo1,show_foo@VERS_1.2");
__asm__(".symver hide_new_foo,show_foo@@VERS_2.0");

View File

@ -0,0 +1,7 @@
[0-9a-f]* w DF (\*UND\*) [0-9a-f]* VERS_2.0 (0x[0-9a-f][0-9a-f] )?show_foo
[0]* g DO \*ABS\* [0]* VERS_1.1 VERS_1.1
[0]* g DO \*ABS\* [0]* VERS_1.2 VERS_1.2
[0]* g DO \*ABS\* [0]* VERS_2.0 VERS_2.0
[0-9a-f]* w DF (.text|\*ABS\*) [0-9a-f]* \(Base\) (0x[0-9a-f][0-9a-f] )?show_foo
[0-9a-f]* w DF (.text|\*ABS\*) [0-9a-f]* \(VERS_1.1\) (0x[0-9a-f][0-9a-f] )?show_foo
[0-9a-f]* w DF (.text|\*ABS\*) [0-9a-f]* \(VERS_1.2\) (0x[0-9a-f][0-9a-f] )?show_foo

View File

@ -0,0 +1,15 @@
VERS_1.1 {
global:
foo1;
local:
hide_old*;
hide_original*;
hide_new*;
};
VERS_1.2 {
foo2;
} VERS_1.1;
VERS_2.0 {
} VERS_1.2;

View File

@ -0,0 +1,4 @@
[0-9a-f]* w F .text [0-9a-f]* (0x[0-9a-f][0-9a-f] )?show_foo@
[0-9a-f]* w F .text [0-9a-f]* (0x[0-9a-f][0-9a-f] )?show_foo@VERS_1.1
[0-9a-f]* w F .text [0-9a-f]* (0x[0-9a-f][0-9a-f] )?show_foo@VERS_1.2
[0-9a-f]* w F .text [0-9a-f]* (0x[0-9a-f][0-9a-f] )?show_foo@@VERS_2.0

View File

@ -0,0 +1,12 @@
Version definitions:
1 0x01 0x02608d3f tmpdir/vers18.so
2 0x00 0x0a7927b1 VERS_1.1
3 0x00 0x0a7927b2 VERS_1.2
VERS_1.1
4 0x02 0x0a7922b0 VERS_2.0
VERS_1.2
Version References:
required from tmpdir/vers17.so:
0x0a7922b0 0x00 05 VERS_2.0

View File

@ -0,0 +1,6 @@
int
main ()
{
printf ("%d\n", show_foo ());
return 0;
}

View File

@ -0,0 +1 @@
[0-9a-f]* DF \*UND\* [0-9a-f]* VERS_2.0 (0x[0-9a-f][0-9a-f] )?show_foo

View File

@ -0,0 +1,3 @@
Version References:
required from *tmpdir/vers17.so:
0x0a7922b0 0x00 02 VERS_2.0