mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-23 03:29:47 +08:00
2003-05-07 H.J. Lu <hongjiu.lu@intel.com>
* ld-elfvers/vers.exp (build_binary): Support build exeutable. (build_binary): Renamed from ... (build_vers_lib): This. (build_vers_lib_no_pic): Updated. (build_vers_lib_pic): Likewise. Add vers27d1, vers27d2 and vers27d3 to test versioned definition for hidden symbol referenced by a DSO. * ld-elfvers/vers27d.dsym: New file. * ld-elfvers/vers27d.sym: Likewise. * ld-elfvers/vers27d.ver: Likewise. * ld-elfvers/vers27d1.c: Likewise. * ld-elfvers/vers27d2.c: Likewise. * ld-elfvers/vers27d3.c: Likewise.
This commit is contained in:
@ -1,3 +1,20 @@
|
|||||||
|
2003-05-07 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
* ld-elfvers/vers.exp (build_binary): Support build exeutable.
|
||||||
|
(build_binary): Renamed from ...
|
||||||
|
(build_vers_lib): This.
|
||||||
|
(build_vers_lib_no_pic): Updated.
|
||||||
|
(build_vers_lib_pic): Likewise.
|
||||||
|
Add vers27d1, vers27d2 and vers27d3 to test versioned
|
||||||
|
definition for hidden symbol referenced by a DSO.
|
||||||
|
|
||||||
|
* ld-elfvers/vers27d.dsym: New file.
|
||||||
|
* ld-elfvers/vers27d.sym: Likewise.
|
||||||
|
* ld-elfvers/vers27d.ver: Likewise.
|
||||||
|
* ld-elfvers/vers27d1.c: Likewise.
|
||||||
|
* ld-elfvers/vers27d2.c: Likewise.
|
||||||
|
* ld-elfvers/vers27d3.c: Likewise.
|
||||||
|
|
||||||
2003-05-07 Andreas Schwab <schwab@suse.de>
|
2003-05-07 Andreas Schwab <schwab@suse.de>
|
||||||
|
|
||||||
* ld-elfvsb/elfvsb.exp: Run dump tests even when cross
|
* ld-elfvsb/elfvsb.exp: Run dump tests even when cross
|
||||||
|
@ -497,7 +497,7 @@ proc objdump_versionstuff { objdump object expectfile } {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
proc build_vers_lib { pic test source libname other mapfile verexp versymexp symexp } {
|
proc build_binary { shared pic test source libname other mapfile verexp versymexp symexp } {
|
||||||
global ld
|
global ld
|
||||||
global srcdir
|
global srcdir
|
||||||
global subdir
|
global subdir
|
||||||
@ -508,7 +508,6 @@ proc build_vers_lib { pic test source libname other mapfile verexp versymexp sym
|
|||||||
global objdump
|
global objdump
|
||||||
global CC
|
global CC
|
||||||
global CFLAGS
|
global CFLAGS
|
||||||
global shared
|
|
||||||
global script
|
global script
|
||||||
|
|
||||||
if ![ld_compile "$CC -S $pic $CFLAGS" $srcdir/$subdir/$source $tmpdir/$libname.s] {
|
if ![ld_compile "$CC -S $pic $CFLAGS" $srcdir/$subdir/$source $tmpdir/$libname.s] {
|
||||||
@ -565,13 +564,19 @@ proc build_vers_lib { pic test source libname other mapfile verexp versymexp sym
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
proc build_executable { test source libname other mapfile verexp versymexp symexp } {
|
||||||
|
build_binary "" "" $test $source $libname $other $mapfile $verexp $versymexp $symexp
|
||||||
|
}
|
||||||
|
|
||||||
proc build_vers_lib_no_pic { test source libname other mapfile verexp versymexp symexp } {
|
proc build_vers_lib_no_pic { test source libname other mapfile verexp versymexp symexp } {
|
||||||
build_vers_lib "" $test $source $libname $other $mapfile $verexp $versymexp $symexp
|
global shared
|
||||||
|
build_binary $shared "" $test $source $libname $other $mapfile $verexp $versymexp $symexp
|
||||||
}
|
}
|
||||||
|
|
||||||
proc build_vers_lib_pic { test source libname other mapfile verexp versymexp symexp } {
|
proc build_vers_lib_pic { test source libname other mapfile verexp versymexp symexp } {
|
||||||
global picflag
|
global picflag
|
||||||
build_vers_lib $picflag $test $source $libname $other $mapfile $verexp $versymexp $symexp
|
global shared
|
||||||
|
build_binary $shared $picflag $test $source $libname $other $mapfile $verexp $versymexp $symexp
|
||||||
}
|
}
|
||||||
|
|
||||||
proc test_ldfail { test flag source execname other mapfile whyfail } {
|
proc test_ldfail { test flag source execname other mapfile whyfail } {
|
||||||
@ -929,3 +934,6 @@ build_vers_lib_no_pic "vers27a" vers27a.c vers27a "" vers27a.map vers27a.ver ver
|
|||||||
build_vers_lib_no_pic "vers27b" vers27b.c vers27b "" "" vers27b.ver vers27b.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 "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 ""
|
build_vers_lib_no_pic "vers27c2" vers27c.c vers27c2 "vers27a.so vers27b.o" "" vers27c.ver vers27c.dsym ""
|
||||||
|
build_vers_lib_pic "vers27d1" vers27d1.c vers27d1 "" vers27a.map vers27d.ver vers27d.dsym vers27d.sym
|
||||||
|
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 ""
|
||||||
|
2
ld/testsuite/ld-elfvers/vers27d.dsym
Normal file
2
ld/testsuite/ld-elfvers/vers27d.dsym
Normal file
@ -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
|
1
ld/testsuite/ld-elfvers/vers27d.sym
Normal file
1
ld/testsuite/ld-elfvers/vers27d.sym
Normal file
@ -0,0 +1 @@
|
|||||||
|
[0-9a-f]*[ ]+g[ ]+F[ ]+.text[ ]+[0-9a-f]* (0x[0-9a-f][0-9a-f] )?foo@VERS.0
|
4
ld/testsuite/ld-elfvers/vers27d.ver
Normal file
4
ld/testsuite/ld-elfvers/vers27d.ver
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
Version definitions:
|
||||||
|
1 0x01 0x05ac0cff vers27d1.so
|
||||||
|
2 0x00 0x05aa7610 VERS.0
|
||||||
|
|
6
ld/testsuite/ld-elfvers/vers27d1.c
Normal file
6
ld/testsuite/ld-elfvers/vers27d1.c
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
void
|
||||||
|
foo ()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
asm (".symver foo,foo@VERS.0");
|
7
ld/testsuite/ld-elfvers/vers27d2.c
Normal file
7
ld/testsuite/ld-elfvers/vers27d2.c
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
void foo ();
|
||||||
|
|
||||||
|
void
|
||||||
|
ref ()
|
||||||
|
{
|
||||||
|
foo ();
|
||||||
|
}
|
11
ld/testsuite/ld-elfvers/vers27d3.c
Normal file
11
ld/testsuite/ld-elfvers/vers27d3.c
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
extern void ref ();
|
||||||
|
extern void foo ();
|
||||||
|
|
||||||
|
void _start() __asm__("_start");
|
||||||
|
|
||||||
|
void
|
||||||
|
_start ()
|
||||||
|
{
|
||||||
|
foo ();
|
||||||
|
ref ();
|
||||||
|
}
|
Reference in New Issue
Block a user