From f77540fe71e8237942fe28cc3c2ffd5ad9f10a8d Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Wed, 24 Jun 2009 14:26:08 +0200 Subject: Enable exelib.exp prelink tests except for ustack.tcl. * testsuite/systemtap.exelib/exelib.exp: Enable prelink "yes". * testsuite/systemtap.exelib/ustack.tcl: Ignore any prelink test (PR10323). --- testsuite/systemtap.exelib/exelib.exp | 4 ++-- testsuite/systemtap.exelib/ustack.tcl | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'testsuite/systemtap.exelib') diff --git a/testsuite/systemtap.exelib/exelib.exp b/testsuite/systemtap.exelib/exelib.exp index 960ebbfa..51025d56 100644 --- a/testsuite/systemtap.exelib/exelib.exp +++ b/testsuite/systemtap.exelib/exelib.exp @@ -31,7 +31,7 @@ set testsrclib "$testpath/uprobes_lib.c" set testlibdir "." set arches [list "default"] -# BUG! non-default arch breaks ustack tests. +# BUG! non-default arch breaks mark and ustack tests PR10318 and PR10272 #switch -regexp $::tcl_platform(machine) { # {^(x86_64|ppc64)$} { lappend arches "-m32" } # {^s390x$} { lappend arches "-m31" } @@ -45,7 +45,7 @@ foreach arch $arches { # Adding -O, -O2, -Os and mixing lib/exe is a bit overdone foreach opt {-O0 -O3} { - foreach libprelink {no} { # BUG! "yes" breaks uname tests + foreach libprelink {no yes} { # BUG! "yes" breaks ustack PR10323 # not done yet, "no" lib debug. foreach libdebug {yes sep} { diff --git a/testsuite/systemtap.exelib/ustack.tcl b/testsuite/systemtap.exelib/ustack.tcl index b70b8334..07dcec10 100644 --- a/testsuite/systemtap.exelib/ustack.tcl +++ b/testsuite/systemtap.exelib/ustack.tcl @@ -7,6 +7,9 @@ lib: lib_func=lib_func lib: lib_func=lib_func lib: lib_func=lib_func} +# BUG XXX PR10323 skip all prelink scenarios for now. +if {[string match "*prelink*" "$testname"]} { return } + # Only run on make installcheck if {! [installtest_p]} { untested "ustack-$testname"; return } if {! [utrace_p]} { untested "ustack-$testname"; return } -- cgit From 034a0c2940eb2c7a51c40e404f5aefed2108777e Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Thu, 25 Jun 2009 16:35:53 +0200 Subject: Add seperate debuginfo after prelinking to exelib.exp tests. We split debuginfo before prelinking, that means that the base load address of the .so is non-zero, while for the .debug files they are zero. In the other case we supported sep-debug without prelinking both .so and .debug load bases were zero. In this new test case both base load addresses are non-zero. * testsuite/systemtap.exelib/exelib.exp: Add libdebug == "sep-after" to indicate separate debuginfo after prelinking library. Skip sep-after if not prelinking. --- testsuite/systemtap.exelib/exelib.exp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'testsuite/systemtap.exelib') diff --git a/testsuite/systemtap.exelib/exelib.exp b/testsuite/systemtap.exelib/exelib.exp index 51025d56..29bff480 100644 --- a/testsuite/systemtap.exelib/exelib.exp +++ b/testsuite/systemtap.exelib/exelib.exp @@ -48,16 +48,25 @@ foreach arch $arches { foreach libprelink {no yes} { # BUG! "yes" breaks ustack PR10323 # not done yet, "no" lib debug. - foreach libdebug {yes sep} { + # seperate debuginfo can be done before or after prelinking + # (after is only done if prelinking is also done + foreach libdebug {yes sep sep-after} { set libname "uprobeslib${compiler}${opt}${arch}" if {$libprelink == "yes"} { set libname $libname-prelink } + + # This combination doesn't make sense + if {$libdebug == "sep-after" && $libprelink == "no"} { + continue; + } if {$libdebug == "sep"} { set libname $libname-sep-debug + } elseif {$libdebug == "sep-after"} { + set libname $libname-sep-debug-after } else { set libname $libname-debug } @@ -89,7 +98,7 @@ foreach arch $arches { pass "$libname compile $testsrclib" } - + # seperate debuginfo before prelinking if {$libdebug == "sep"} { seperate_debuginfo $testso } @@ -103,6 +112,11 @@ foreach arch $arches { verbose -log "result is $result" } + # seperate debuginfo after prelinking + if {$libdebug == "sep-after"} { + seperate_debuginfo $testso + } + # should we also prelink exes? foreach exepie {no yes} { # not supported, "no" exe debug. -- cgit From f1d04fa79e3c8664e8e6b2d1d3f38e1e51effcbf Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Thu, 25 Jun 2009 16:44:02 +0200 Subject: Only compile with plain gcc for exelib.exp testcases. g++ is also supported but disabled because it didn't add much interesting differences in binaries and exploded the test search case a bit. * testsuite/systemtap.exelib/exelib.exp: Disable g++ by default, but keep support for enabling it. --- testsuite/systemtap.exelib/exelib.exp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'testsuite/systemtap.exelib') diff --git a/testsuite/systemtap.exelib/exelib.exp b/testsuite/systemtap.exelib/exelib.exp index 29bff480..d3ade2b6 100644 --- a/testsuite/systemtap.exelib/exelib.exp +++ b/testsuite/systemtap.exelib/exelib.exp @@ -39,7 +39,10 @@ set arches [list "default"] foreach arch $arches { - foreach compiler {gcc g++} { + # Compiling with plain gcc. g++ is also supported but disabled + # because it didn't add much interesting differences in binaries + # and exploded the test search case a bit. + foreach compiler {gcc} { # Add g++ # Just try -O0 and -O3. # Adding -O, -O2, -Os and mixing lib/exe is a bit overdone -- cgit