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.