This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
GCJ on Darwin/i386 patches
- From: Sandro Tolaini <tolaini at libero dot it>
- To: GCC Mailing List <gcc at gcc dot gnu dot org>, java at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org, java-patches at gcc dot gnu dot org
- Date: Sun, 26 Mar 2006 11:08:21 +0200
- Subject: GCJ on Darwin/i386 patches
Finally, I managed to fix up libffi and run testing on libjava under
Darwin/i386.
Here is the libffi testsuite output:
Test Run By sandro on Sun Mar 26 10:49:37 2006
Native configuration is i386-apple-darwin8.5.2
=== libffi tests ===
Schedule of variations:
unix
Running target unix
Using /opt/local/share/dejagnu/baseboards/unix.exp as board
description file for target.
Using /opt/local/share/dejagnu/config/unix.exp as generic interface
file for target.
Using /Users/sandro/gcc-4.2/libffi/testsuite/config/default.exp as
tool-and-target-specific interface file.
Running /Users/sandro/gcc-4.2/libffi/testsuite/libffi.call/call.exp ...
FAIL: libffi.call/return_fl2.c -O0 -W -Wall execution test
FAIL: libffi.call/return_fl2.c -O2 execution test
FAIL: libffi.call/return_fl2.c -O3 execution test
FAIL: libffi.call/return_fl2.c -Os execution test
Running /Users/sandro/gcc-4.2/libffi/testsuite/libffi.special/
special.exp ...
=== libffi Summary ===
# of expected passes 1060
# of unexpected failures 4
# of unsupported tests 8
The failures are due to a floating point rounding problem, not to
libffi itself.
Here is libjava testsuite output:
Test Run By sandro on Sat Mar 25 22:59:33 2006
Native configuration is i386-apple-darwin8.5.2
=== libjava tests ===
Schedule of variations:
unix
Running target unix
Using /opt/local/share/dejagnu/baseboards/unix.exp as board
description file for target.
Using /opt/local/share/dejagnu/config/unix.exp as generic interface
file for target.
Using /Users/sandro/gcc-4.2/libjava/testsuite/config/default.exp as
tool-and-target-specific interface file.
Running /Users/sandro/gcc-4.2/libjava/testsuite/libjava.cni/cni.exp ...
Running /Users/sandro/gcc-4.2/libjava/testsuite/libjava.compile/
compile.exp ...
Running /Users/sandro/gcc-4.2/libjava/testsuite/libjava.jacks/
jacks.exp ...
Running /Users/sandro/gcc-4.2/libjava/testsuite/libjava.jar/jar.exp ...
Running /Users/sandro/gcc-4.2/libjava/testsuite/libjava.jni/jni.exp ...
Running /Users/sandro/gcc-4.2/libjava/testsuite/libjava.lang/
lang.exp ...
XPASS: PR26858 execution - source compiled test
XPASS: PR26858 output - source compiled test
XPASS: PR26858 execution - bytecode->native test
XPASS: PR26858 output - bytecode->native test
XPASS: PR26858 -O3 execution - source compiled test
XPASS: PR26858 -O3 output - source compiled test
XPASS: PR26858 -O3 execution - bytecode->native test
XPASS: PR26858 -O3 output - bytecode->native test
FAIL: Throw_2 execution - source compiled test
FAIL: Throw_2 execution - gij test
FAIL: Throw_2 execution - bytecode->native test
FAIL: Throw_2 -O3 execution - source compiled test
FAIL: Throw_2 execution - gij test
FAIL: Throw_2 -O3 execution - bytecode->native test
FAIL: initexc execution - gij test
FAIL: initexc execution - gij test
Running /Users/sandro/gcc-4.2/libjava/testsuite/libjava.loader/
loader.exp ...
Running /Users/sandro/gcc-4.2/libjava/testsuite/libjava.mauve/
mauve.exp ...
Running /Users/sandro/gcc-4.2/libjava/testsuite/libjava.special/
special.exp ...
Running /Users/sandro/gcc-4.2/libjava/testsuite/libjava.verify/
verify.exp ...
=== libjava Summary ===
# of expected passes 4055
# of unexpected failures 8
# of unexpected successes 8
# of expected failures 12
# of untested testcases 18
The failures are due to the missing signal unwinding code (something
that is out of my reach at the moment, so we must live with it at the
moment unless someone is willing to write this part). The unexpected
passes are a mistery to me :)
There is currently a problem in libjava testsuite execution:
{builddir}/gcc dir is not added to the ld_library_path, so I had to
manually set it in the environment in order to let the executables
find the right libgcc_s shared library. Moreover, you have to apply
the already posted patch to include the __Unwind_GetIPInfo symbol in
the libgcc_s library. I'm attaching this patch for your convenience.
I tested a full bootstrap on Darwin/i386. Newer cctools are required
(590.36).
I'd like to see these patches checked in on the gcc trunk. I also
have backported patches for 4.0 branch, if maintainers are willing to
incorporate them (keep in mind that in the 4.0 branch boehm-gc needs
to be synced to the trunk version before applying these patches).
Cheers,
Sandro
Attachment:
gcc42-boehm-gc.diff
Description: Binary data
Attachment:
gcc42-gcc.diff
Description: Binary data
Attachment:
gcc42-libffi.diff
Description: Binary data
Attachment:
gcc42-libjava.diff
Description: Binary data
Attachment:
gcc42-top.diff
Description: Binary data