This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]