summaryrefslogtreecommitdiffstats
path: root/libjava/testsuite/lib/libjava.exp
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/testsuite/lib/libjava.exp')
-rw-r--r--libjava/testsuite/lib/libjava.exp16
1 files changed, 9 insertions, 7 deletions
diff --git a/libjava/testsuite/lib/libjava.exp b/libjava/testsuite/lib/libjava.exp
index 3c814f0833e..fad617503da 100644
--- a/libjava/testsuite/lib/libjava.exp
+++ b/libjava/testsuite/lib/libjava.exp
@@ -80,18 +80,24 @@ proc libjava_init { args } {
}
# Find a library. We know where libtool puts the actual libraries,
-# and we look there.
+# and we look there. The implementation is fairly hacky. We can't
+# compile with -nodefaultlibs, because that will also eliminate the
+# system libraries we need. In order to have gcj still work, it must
+# find the appropriate libraries so we must add -L options for their
+# paths. However we can't simply use those libraries; we still need
+# libtool for linking.
proc libjava_find_lib {dir name} {
global base_dir
set gp [get_multilibs]
foreach sub {.libs _libs} {
if {$gp != ""} {
if {[file exists $gp/$dir/$sub/lib${name}.a]} then {
- return "$gp/$dir/lib${name}.la"
+ return "$gp/$dir/lib${name}.la -L$gp/$dir/$sub"
}
}
set lib [findfile $base_dir/../../$dir/$sub/lib${name}.a \
- "$base_dir/../../$dir/lib${name}.la" ""]
+ "$base_dir/../../$dir/lib${name}.la -L$base_dir/../../$dir/$sub" \
+ ""]
if {$lib != ""} {
return $lib
}
@@ -194,10 +200,6 @@ proc libjava_arguments {{mode compile}} {
}
}
- if {$mode == "link"} {
- lappend args "additional_flags=-nodefaultlibs -lm -lgcc -lc -lgcc"
- }
-
return $args
}
OpenPOWER on IntegriCloud