This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
[PATCH] Fix libjava.loader/loader.exp problems
- From: "Ulrich Weigand" <Ulrich dot Weigand at de dot ibm dot com>
- To: java-patches at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Thu, 21 Nov 2002 13:27:16 +0100
- Subject: [PATCH] Fix libjava.loader/loader.exp problems
- Sensitivity:
Hello,
I've run into two problems in the new loader.exp, which are fixed by
the following patch.
- In gcj_loader_test_one, the literal "executable" should be passed as
'type' argument, not the variable "$executable". This bug causes the
library paths not to be added to the command line, so that the default
libjava library, not the newly built one, is used.
- In gcj_loader_run, $GCJ_UNDER_TEST is directly executed to perform the
resource compilation. This is a problem when running a test with
non-standard --target_board (e.g. for -m31 multilib), because the extra
options are not passed. This causes a 64-bit object to be generated
even when running a 32-bit multilib test, which in turn causes following
tests to fail because they cannot link with a wrong-format object.
This is fixed by using the regular libjava_tcompile routine instead.
Tested on s390x-ibm-linux, both with and without -m31.
OK to commit?
ChangeLog:
* libjava.loader/loader.exp (gcj_loader_test_one): Fix typo in
'type' argument to libjava_tcompile.
(gcj_loader_run): Use libjava_tcompile instead of running
GCJ_UNDER_TEST directly.
Index: libjava/testsuite/libjava.loader/loader.exp
===================================================================
RCS file: /cvs/gcc/gcc/libjava/testsuite/libjava.loader/loader.exp,v
retrieving revision 1.1
diff -c -p -r1.1 loader.exp
*** libjava/testsuite/libjava.loader/loader.exp 4 Nov 2002 01:31:12 -0000 1.1
--- libjava/testsuite/libjava.loader/loader.exp 21 Nov 2002 12:17:55 -0000
*************** proc gcj_loader_test_one {srcfile} {
*** 13,19 ****
set args [libjava_arguments link]
lappend args "additional_flags=--main=[file rootname [file tail $srcfile]] $srcdir/$subdir/MyLoader.java $objdir/dummy.o"
set x [prune_warnings \
! [libjava_tcompile $srcfile "$executable" "$executable" $args]]
if { $x != "" } {
verbose "target_compile failed: $x" 2
--- 13,19 ----
set args [libjava_arguments link]
lappend args "additional_flags=--main=[file rootname [file tail $srcfile]] $srcdir/$subdir/MyLoader.java $objdir/dummy.o"
set x [prune_warnings \
! [libjava_tcompile $srcfile "$executable" executable $args]]
if { $x != "" } {
verbose "target_compile failed: $x" 2
*************** proc gcj_loader_run {} {
*** 44,51 ****
}
pass "bytecompile $file"
set x [prune_warnings \
! [eval exec "$GCJ_UNDER_TEST --resource $objdir/dummy.class -c $objdir/dummy.class -o $objdir/dummy.o"]]
if { $x != "" } {
verbose "resource compilation failed: $x" 2
--- 44,54 ----
}
pass "bytecompile $file"
+ set args [libjava_arguments compile]
+ lappend args "additional_flags=--resource $objdir/dummy.class"
set x [prune_warnings \
! [libjava_tcompile "$objdir/dummy.class" "$objdir/dummy.o" object $args]]
!
if { $x != "" } {
verbose "resource compilation failed: $x" 2
Mit freundlichen Gruessen / Best Regards
Ulrich Weigand
--
Dr. Ulrich Weigand
Linux for S/390 Design & Development
IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen
Phone: +49-7031/16-3727 --- Email: Ulrich.Weigand@de.ibm.com