MMTk port to SSCLI -> Documentation -> Requirements for RMTk -> Checking GCC 3.3 fix

Checking GCC 3.3 fix

This document explains how to check that a patched version of GCC 3.3 has been installed.

Test Source Code

Download gcjsigsegv.tar.gz (1016 bytes), the source code for a program to test that GCC has been patched.

Use the following command to unpack the archive:

tar xzf gcjsigsegv.tar.gz

Building Test Program

The build.sh shell script included with the test source code builds the test program. To run the script, use the following command from the gcjsigsegv directory:

./build.sh

If an error like:

./build.sh: line 6: gcj33: command not found

occurs, then GCJ was not installed correctly.

Running Test Program

To run the test program, use the following command from the gcjsigsegv directory:

./gcjsigsegv j

If GCC is patched then the output is similar to:

Using Java
k = 5
*p = 5
Caught fault
sig = 11
info = 0xbfbffa18
info->si_code = 12
Exiting

If GCC is not patched the output is:

Using Java
Caught fault
sig = 11
info = 0xc
Exiting

The thing to look at is the value of info. If GCC is patched it will be a large number. If GCC is not patched it will be 0xc.


Author: Andrew Gray; Date: 13 December 2004