Previous: Code Generation, Up: Invoking gcj


1.7 Configure-time Options

Some gcj code generations options affect the resulting ABI, and so can only be meaningfully given when libgcj, the runtime package, is configured. libgcj puts the appropriate options from this group into a ‘spec’ file which is read by gcj. These options are listed here for completeness; if you are using libgcj then you won't want to touch these options.

-fuse-boehm-gc
This enables the use of the Boehm GC bitmap marking code. In particular this causes gcj to put an object marking descriptor into each vtable.
-fhash-synchronization
By default, synchronization data (the data used for synchronize, wait, and notify) is pointed to by a word in each object. With this option gcj assumes that this information is stored in a hash table and not in the object itself.
-fuse-divide-subroutine
On some systems, a library routine is called to perform integer division. This is required to get exception handling correct when dividing by zero.
-fcheck-references
On some systems it's necessary to insert inline checks whenever accessing an object via a reference. On other systems you won't need this because null pointer accesses are caught automatically by the processor.
-fuse-atomic-builtins
On some systems, GCC can generate code for built-in atomic operations. Use this option to force gcj to use these builtins when compiling Java code. Where this capability is present it should be automatically detected, so you won't usually need to use this option.