From a075c3e55bf3804e23d477ffa4f5f0fda58d5127 Mon Sep 17 00:00:00 2001 From: Yao Qi Date: Thu, 18 Jul 2013 22:38:58 +0000 Subject: gdb/testsuite/ * lib/gdb.exp (gdb_compile_shlib): Pass the tail name of $dest to link options if host is remote. Move the generated file to $dest.a on host if host is remote. --- gdb/testsuite/lib/gdb.exp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'gdb/testsuite/lib') diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index fc9b071..70b797e 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -2788,8 +2788,13 @@ proc gdb_compile_shlib {sources dest options} { if { ([istarget "*-*-mingw*"] || [istarget *-*-cygwin*] - || [istarget *-*-pe*])} { - lappend link_options "additional_flags=-Wl,--out-implib,${dest}.a" + || [istarget *-*-pe*]) } { + if { [is_remote host] } { + set name [file tail ${dest}] + } else { + set name ${dest} + } + lappend link_options "additional_flags=-Wl,--out-implib,${name}.a" } elseif [is_remote target] { # By default, we do not set the soname. This causes the linker # on ELF systems to create a DT_NEEDED entry in the executable @@ -2805,7 +2810,16 @@ proc gdb_compile_shlib {sources dest options} { if {[gdb_compile "${objects}" "${dest}" executable $link_options] != ""} { return -1 } + if { [is_remote host] + && ([istarget "*-*-mingw*"] + || [istarget *-*-cygwin*] + || [istarget *-*-pe*]) } { + set dest_tail_name [file tail ${dest}] + remote_upload host $dest_tail_name.a ${dest}.a + remote_file host delete $dest_tail_name.a + } } + return "" } # This is just like gdb_compile_shlib, above, except that it tries compiling -- cgit v1.1