Skip dlopen-libpthread.exp in cross testing
authorYao Qi <yao@codesourcery.com>
Thu, 25 Sep 2014 07:50:07 +0000 (15:50 +0800)
committerYao Qi <yao@codesourcery.com>
Tue, 30 Sep 2014 03:42:51 +0000 (11:42 +0800)
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  <yao@codesourcery.com>

* gdb.threads/dlopen-libpthread.exp: Skip it if isnative is
false.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.threads/dlopen-libpthread.exp

index 539a983..7f29c56 100644 (file)
@@ -1,3 +1,8 @@
+2014-09-30  Yao Qi  <yao@codesourcery.com>
+
+       * gdb.threads/dlopen-libpthread.exp: Skip it if isnative is
+       false.
+
 2014-09-22  Pedro Alves  <palves@redhat.com>
 
        * gdb.threads/break-while-running.exp: New file.
index f0e3358..265eb5d 100644 (file)
@@ -13,7 +13,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-if {![istarget *-linux*] || [skip_shlib_tests]} {
+if {![isnative] || ![istarget *-linux*] || [skip_shlib_tests]} {
     return 0
 }