"gcj-dbtool" is a tool for creating and manipulating class file
mapping databases. "libgcj" can use these databases to find a
shared library corresponding to the bytecode representation of a
class. This functionality is useful for ahead-of-time compilation of
a program that has no knowledge of "gcj".
"gcj-dbtool" works best if all the jar files added to it are
compiled using "-findirect-dispatch".
Note that "gcj-dbtool" is currently available as ``preview
technology''. We believe it is a reasonable way to allow
application-transparent ahead-of-time compilation, but this is an
unexplored area. We welcome your comments.
OPTIONS
-nDBFILE[SIZE]
This creates a new database. Currently, databases cannot be resized;
you can choose a larger initial size if desired. The default size is
32,749.
-aDBFILEJARFILELIB
-fDBFILEJARFILELIB
This adds a jar file to the database. For each class file in the jar,
a cryptographic signature of the bytecode representation of the class
is recorded in the database. At runtime, a class is looked up by its
signature and the compiled form of the class is looked for in the
corresponding shared library. The -a option will verify
that LIB exists before adding it to the database; -f
skips this check.
[-][-0] -mDBFILEDBFILE,[DBFILE]
Merge a number of databases. The output database overwrites any
existing database. To add databases into an existing database,
include the destination in the list of sources.
If - or -0 are used, the list of files to read is
taken from standard input instead of the command line. For
-0, Input filenames are terminated by a null character
instead of by whitespace. Useful when arguments might contain white
space. The GNU find -print0 option produces input suitable for this
mode.
-tDBFILE
Test a database.
-lDBFILE
List the contents of a database.
-p
Print the name of the default database. If there is no default
database, this prints a blank line. If LIBDIR is specified, use
it instead of the default library directory component of the database
name.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``GNU General Public License'', the Front-Cover
texts being (a) (see below), and with the Back-Cover Texts being (b)
(see below). A copy of the license is included in the
man page gfdl(7).
(a) The FSF's Front-Cover Text is:
A GNU Manual
(b) The FSF's Back-Cover Text is:
You have freedom to copy and modify this GNU Manual, like GNU
software. Copies published by the Free Software Foundation raise
funds for GNU development.