From 345bcc73f2714713c8fc58992d989e3e55be0f8a Mon Sep 17 00:00:00 2001 From: Yao Qi Date: Thu, 25 Sep 2014 15:50:07 +0800 Subject: [PATCH] Skip dlopen-libpthread.exp in cross testing I see the following fails on arm-linux-gnueabi, result of ldd build-git/arm/gdb/testsuite/gdb.threads/dlopen-libpthread.so is 1 output of ldd build-git/arm/gdb/testsuite/gdb.threads/dlopen-libpthread.so is not a dynamic executable child process exited abnormally FAIL: gdb.threads/dlopen-libpthread.exp: ldd dlopen-libpthread.so FAIL: gdb.threads/dlopen-libpthread.exp: ldd dlopen-libpthread.so output contains libs the test script invokes ldd (on host) for the target libraries, which is wrong. ldd can't be cross because it invokes dynamic linker with LD_TRACE_LOADED_OBJECTS and gets the dependent libraries. My first reaction to this problem is to execute ld.so on the target (like remote_exec target). When I start to hack proc build_executable_own_libs, I find it has assumptions here and there that the native testing is performed. Then I check the callers of build_executable_own_libs, and they are all skipped if isnative is false. It is reasonable to do the same in dlopen-libpthread.exp too. gdb/testsuite: 2014-09-30 Yao Qi * gdb.threads/dlopen-libpthread.exp: Skip it if isnative is false. --- gdb/testsuite/ChangeLog | 5 +++++ gdb/testsuite/gdb.threads/dlopen-libpthread.exp | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 539a983da0d..7f29c566f38 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-09-30 Yao Qi + + * gdb.threads/dlopen-libpthread.exp: Skip it if isnative is + false. + 2014-09-22 Pedro Alves * gdb.threads/break-while-running.exp: New file. diff --git a/gdb/testsuite/gdb.threads/dlopen-libpthread.exp b/gdb/testsuite/gdb.threads/dlopen-libpthread.exp index f0e3358fcad..265eb5d5b92 100644 --- a/gdb/testsuite/gdb.threads/dlopen-libpthread.exp +++ b/gdb/testsuite/gdb.threads/dlopen-libpthread.exp @@ -13,7 +13,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -if {![istarget *-linux*] || [skip_shlib_tests]} { +if {![isnative] || ![istarget *-linux*] || [skip_shlib_tests]} { return 0 } -- 2.30.2