Skip dlopen-libpthread.exp in cross testing

Message ID 1411631571-30769-1-git-send-email-yao@codesourcery.com
State New, archived
Headers

Commit Message

Yao Qi Sept. 25, 2014, 7:52 a.m. UTC
  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-25  Yao Qi  <yao@codesourcery.com>

	* gdb.threads/dlopen-libpthread.exp: Skip it if isnative is
	false.
---
 gdb/testsuite/gdb.threads/dlopen-libpthread.exp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Pedro Alves Sept. 25, 2014, 3:38 p.m. UTC | #1
On 09/25/2014 08:52 AM, Yao Qi wrote:
> 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.

Agreed.

I think we should put an "error" call in build_executable_own_libs
too, so that whoever adds the next test that uses this doesn't
end up forgetting the same thing.

Thanks,
Pedro Alves
  

Patch

diff --git a/gdb/testsuite/gdb.threads/dlopen-libpthread.exp b/gdb/testsuite/gdb.threads/dlopen-libpthread.exp
index f0e3358..265eb5d 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 <http://www.gnu.org/licenses/>.
 
-if {![istarget *-linux*] || [skip_shlib_tests]} {
+if {![isnative] || ![istarget *-linux*] || [skip_shlib_tests]} {
     return 0
 }