Bug 5303 - Undocumented java programs
Summary: Undocumented java programs
Status: ASSIGNED
Alias: None
Product: gcc
Classification: Unclassified
Component: libgcj (show other bugs)
Version: 3.1
: P3 normal
Target Milestone: ---
Assignee: Tom Tromey
URL:
Keywords: documentation
Depends on:
Blocks: 704
  Show dependency treegraph
 
Reported: 2002-01-07 11:56 UTC by Joseph S. Myers
Modified: 2009-02-09 22:53 UTC (History)
5 users (show)

See Also:
Host: i686-pc-linux-gnu
Target: i686-pc-linux-gnu
Build: i686-pc-linux-gnu
Known to work:
Known to fail:
Last reconfirmed: 2006-02-02 13:44:46


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Joseph S. Myers 2002-01-07 11:56:00 UTC
GCC now installs the following Java-related programs without any
documentation: they are not documented in gcj.texi, nor in their own
Texinfo manuals, nor even in man pages (though man pages would not be
sufficient for GNU documentation).

addr2name.awk (which is also broken; it starts #!/bin/awk when awk is
in /usr/bin on my system, rather than being properly autoconfigured).

grepjar (which doesn't even support --help)

jar (which doesn't support --help though the usage message it gives
when passed --help isn't far off correct --help output)

jv-convert (which doesn't support --help)

rmic (which doesn't support --help though the usage message given
isn't far off correct --help output)

rmiregistry (which, given --help, crashes with a backtrace on my
system, then hangs)

Of these, addr2name.awk, jar and jv-convert were already present and
undocumented in 3.0.x.  The others are new, and so constitute
regressions in documentedness.

Release:
3.1 20020107 (experimental)

Environment:
System: Linux digraph 2.2.20 #2 Sat Nov 10 16:44:22 UTC 2001 i686 unknown
Architecture: i686

	
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: ../gcc-cvs/configure --prefix=/opt/gcc/mainline --disable-shared --enable-threads=posix --with-system-zlib

How-To-Repeat:
Try to find documentation of any of the above programs.
Comment 1 Joseph S. Myers 2002-01-07 11:56:00 UTC
Fix:
Document the above programs.  Failing that, remove (or at least
disable installation of) all the undocumented programs that are new
since 3.0 before 3.1 is released.
Comment 2 Joseph S. Myers 2002-01-07 12:00:52 UTC
State-Changed-From-To: open->analyzed
State-Changed-Why: Confirming my own PR, and marking priority "high" as a
    regression in documentedness since 3.0.
Comment 3 Tom Tromey 2002-01-09 23:22:21 UTC
From: tromey@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: libgcj/5303
Date: 9 Jan 2002 23:22:21 -0000

 CVSROOT:	/cvs/gcc
 Module name:	gcc
 Changes by:	tromey@gcc.gnu.org	2002-01-09 15:22:20
 
 Modified files:
 	fastjar        : ChangeLog Makefile.am Makefile.in aclocal.m4 
 	                 config.h.in configure configure.in jargrep.c 
 	                 jargrep.h jartool.c 
 
 Log message:
 	For PR libgcj/5303:
 	* jargrep.h: Removed RCS keywords.
 	(GVERSION): Removed.
 	* configure, Makefile.in, config.h.in: Rebuilt.
 	* configure.in: Added AM_MAINTAINER_MODE.
 	Don't look for getopt.h.  Use `fastjar' as package name.
 	* Makefile.am (INCLUDES): Look in ../include.
 	(LIBIBERTY): New macro.
 	(jar_LDADD): Use it.
 	(jar_DEPENDENCIES): Likewise.
 	(grepjar_LDADD): Likewise.
 	(grepjar_DEPENDENCIES): Likewise.
 	* jargrep.c: Removed RCS keywords.  Always include getopt.h.
 	(LONG_OPT): New macro.
 	(OPT_HELP): Likewise.
 	(main): Use getopt_long.  Let getopt print invalid argument
 	message.  Handle --help.  Use version().
 	(version): New function.
 	(optarg, optind): Don't declare.
 	(option_vec): New global.
 	(help): New function.
 	(Usage): Updated to GNU standards.
 	* jartool.c: Removed RCS keywords.  Include getopt.h.
 	(LONG_OPT): New macro.
 	(OPT_HELP): Likewise.
 	(options): New global.
 	(help): New function.
 	(usage): Print a single line.
 	(version): New function.
 	(expand_options): New function.
 	(main): Use getopt_long and expand_options.  Fail if `-u'
 	specified.  Changed handling of -f, -m, -V options.
 	(OPTION_STRING): New macro.
 	(version_string): Removed.
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fastjar/ChangeLog.diff?cvsroot=gcc&r1=1.19&r2=1.20
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fastjar/Makefile.am.diff?cvsroot=gcc&r1=1.5&r2=1.6
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fastjar/Makefile.in.diff?cvsroot=gcc&r1=1.9&r2=1.10
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fastjar/aclocal.m4.diff?cvsroot=gcc&r1=1.1&r2=1.2
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fastjar/config.h.in.diff?cvsroot=gcc&r1=1.3&r2=1.4
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fastjar/configure.diff?cvsroot=gcc&r1=1.6&r2=1.7
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fastjar/configure.in.diff?cvsroot=gcc&r1=1.6&r2=1.7
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fastjar/jargrep.c.diff?cvsroot=gcc&r1=1.5&r2=1.6
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fastjar/jargrep.h.diff?cvsroot=gcc&r1=1.1&r2=1.2
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fastjar/jartool.c.diff?cvsroot=gcc&r1=1.10&r2=1.11
 

Comment 4 Tom Tromey 2002-01-10 00:39:16 UTC
From: tromey@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: libgcj/5303
Date: 10 Jan 2002 00:39:16 -0000

 CVSROOT:	/cvs/gcc
 Module name:	gcc
 Changes by:	tromey@gcc.gnu.org	2002-01-09 16:39:16
 
 Modified files:
 	libjava        : ChangeLog 
 	libjava/gnu/gcj/convert: Convert.java 
 
 Log message:
 	For PR libgcj/5303:
 	* gnu/gcj/convert/Convert.java (error): Program is called
 	`jv-convert'.  Print GNU-style message.  Exit with status 1, not
 	-1.
 	(main): Handle --help and --version.
 	(help): New method.
 	(version): Likewise.
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/ChangeLog.diff?cvsroot=gcc&r1=1.1074&r2=1.1075
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/gnu/gcj/convert/Convert.java.diff?cvsroot=gcc&r1=1.3&r2=1.4
 

Comment 5 Tom Tromey 2002-01-10 18:01:06 UTC
From: tromey@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: libgcj/5303
Date: 10 Jan 2002 18:01:06 -0000

 CVSROOT:	/cvs/gcc
 Module name:	gcc
 Changes by:	tromey@gcc.gnu.org	2002-01-10 10:01:06
 
 Modified files:
 	libjava        : ChangeLog 
 	libjava/gnu/java/rmi/rmic: RMIC.java 
 
 Log message:
 	For PR libgcj/5303:
 	* gnu/java/rmi/rmic/RMIC.java (parseOptions): Handle --help and
 	--version.  Recognize GNU-style long options.  Print GNU-style
 	error messages.
 	(usage): Print GNU-style help.  Exit with status 0.
 	(error): New method.
 	(run): Print error message if no class names found.
 	(main): Don't print usage on error.
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/ChangeLog.diff?cvsroot=gcc&r1=1.1076&r2=1.1077
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/gnu/java/rmi/rmic/RMIC.java.diff?cvsroot=gcc&r1=1.3&r2=1.4
 

Comment 6 Tom Tromey 2002-01-14 20:40:11 UTC
From: tromey@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: libgcj/5303
Date: 14 Jan 2002 20:40:11 -0000

 CVSROOT:	/cvs/gcc
 Module name:	gcc
 Changes by:	tromey@gcc.gnu.org	2002-01-14 12:40:10
 
 Modified files:
 	gcc/java       : ChangeLog gcj.texi 
 
 Log message:
 	For PR libgcj/5303:
 	* Make-lang.in (java.install-man): Handle jv-convert man page.
 	(java.generated-manpages): Added jv-convert.1.
 	(java.uninstall): Remove jv-convert.1.
 	(java.maintainer-clean): Likewise.
 	($(srcdir)/java/jv-convert.1): New target.
 	* gcj.texi (Top): Link to jv-convert node.
 	(Individual utilities): Likewise.
 	(Invoking jv-convert): New node.
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/ChangeLog.diff?cvsroot=gcc&r1=1.902&r2=1.903
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/gcj.texi.diff?cvsroot=gcc&r1=1.17&r2=1.18
 

Comment 7 Tom Tromey 2002-01-16 00:19:59 UTC
From: tromey@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: libgcj/5303
Date: 16 Jan 2002 00:19:59 -0000

 CVSROOT:	/cvs/gcc
 Module name:	gcc
 Changes by:	tromey@gcc.gnu.org	2002-01-15 16:19:59
 
 Modified files:
 	gcc/java       : Make-lang.in 
 
 Log message:
 	For PR libgcj/5303:
 	* Make-lang.in (java.install-man): Handle jv-convert man page.
 	(java.generated-manpages): Added jv-convert.1.
 	(java.uninstall): Remove jv-convert.1.
 	(java.maintainer-clean): Likewise.
 	($(srcdir)/java/jv-convert.1): New target.
 	* gcj.texi (Top): Link to jv-convert node.
 	(Individual utilities): Likewise.
 	(Invoking jv-convert): New node.
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/Make-lang.in.diff?cvsroot=gcc&r1=1.78&r2=1.79
 

Comment 8 Tom Tromey 2002-03-25 22:08:28 UTC
From: tromey@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: libgcj/5303
Date: 25 Mar 2002 22:08:28 -0000

 CVSROOT:	/cvs/gcc
 Module name:	gcc
 Changes by:	tromey@gcc.gnu.org	2002-03-25 14:08:27
 
 Modified files:
 	libjava        : ChangeLog 
 	libjava/gnu/gcj/convert: Convert.java 
 	libjava/gnu/java/rmi/registry: RegistryImpl.java 
 	libjava/gnu/java/rmi/rmic: RMIC.java 
 
 Log message:
 	For PR libgcj/5303:
 	* gnu/java/rmi/registry/RegistryImpl.java (main): Recognize --help
 	and --version.
 	(help): New method.
 	(version): Likewise.
 	* gnu/gcj/convert/Convert.java (version): Removed extraneous
 	"GNU".
 	* gnu/java/rmi/rmic/RMIC.java (parseOptions): Removed extraneous
 	"GNU".
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/ChangeLog.diff?cvsroot=gcc&r1=1.1259&r2=1.1260
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/gnu/gcj/convert/Convert.java.diff?cvsroot=gcc&r1=1.7&r2=1.8
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/gnu/java/rmi/registry/RegistryImpl.java.diff?cvsroot=gcc&r1=1.2&r2=1.3
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/gnu/java/rmi/rmic/RMIC.java.diff?cvsroot=gcc&r1=1.6&r2=1.7
 

Comment 9 Tom Tromey 2002-03-25 22:15:28 UTC
From: tromey@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: libgcj/5303
Date: 25 Mar 2002 22:15:28 -0000

 CVSROOT:	/cvs/gcc
 Module name:	gcc
 Branch: 	gcc-3_1-branch
 Changes by:	tromey@gcc.gnu.org	2002-03-25 14:15:24
 
 Modified files:
 	libjava        : ChangeLog 
 	libjava/gnu/gcj/convert: Convert.java 
 	libjava/gnu/java/rmi/registry: RegistryImpl.java 
 	libjava/gnu/java/rmi/rmic: RMIC.java 
 
 Log message:
 	For PR libgcj/5303:
 	* gnu/java/rmi/registry/RegistryImpl.java (main): Recognize --help
 	and --version.
 	(help): New method.
 	(version): Likewise.
 	* gnu/gcj/convert/Convert.java (version): Removed extraneous
 	"GNU".
 	* gnu/java/rmi/rmic/RMIC.java (parseOptions): Removed extraneous
 	"GNU".
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_1-branch&r1=1.1197.2.56&r2=1.1197.2.57
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/gnu/gcj/convert/Convert.java.diff?cvsroot=gcc&only_with_tag=gcc-3_1-branch&r1=1.7&r2=1.7.2.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/gnu/java/rmi/registry/RegistryImpl.java.diff?cvsroot=gcc&only_with_tag=gcc-3_1-branch&r1=1.2&r2=1.2.2.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/gnu/java/rmi/rmic/RMIC.java.diff?cvsroot=gcc&only_with_tag=gcc-3_1-branch&r1=1.6&r2=1.6.2.1
 
Comment 10 Tom Tromey 2002-04-08 11:31:41 UTC
Responsible-Changed-From-To: unassigned->tromey
Responsible-Changed-Why: I'm marking this medium priority.  I believe all the parts important for 3.1 have been fixed.
    What remains can be fixed later.
Comment 11 Tom Tromey 2002-04-08 18:27:34 UTC
From: tromey@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: libgcj/5303
Date: 8 Apr 2002 18:27:34 -0000

 CVSROOT:	/cvs/gcc
 Module name:	gcc
 Branch: 	gcc-3_1-branch
 Changes by:	tromey@gcc.gnu.org	2002-04-08 11:27:34
 
 Modified files:
 	gcc/java       : .cvsignore ChangeLog Make-lang.in gcj.texi 
 
 Log message:
 	For PR libgcj/5303:
 	* .cvsignore: Added rmic.1 and rmiregistry.1.
 	* gcj.texi (Top): Link to new nodes.
 	(Invoking rmic): New node.
 	(Invoking rmiregistry): Likewise.
 	* Make-lang.in (java.generated-manpages): Added rmic.1 and
 	rmiregistry.1.
 	(java.maintainer-clean): Likewise.
 	($(srcdir)/java/rmic.1): New target.
 	($(srcdir)/java/rmiregistry.1): Likewise.
 	(java.install-man): Handle rmic.1 and rmiregistry.1.
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/.cvsignore.diff?cvsroot=gcc&only_with_tag=gcc-3_1-branch&r1=1.3&r2=1.3.2.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_1-branch&r1=1.925.2.37&r2=1.925.2.38
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/Make-lang.in.diff?cvsroot=gcc&only_with_tag=gcc-3_1-branch&r1=1.80&r2=1.80.2.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/gcj.texi.diff?cvsroot=gcc&only_with_tag=gcc-3_1-branch&r1=1.22.2.5&r2=1.22.2.6
 

Comment 12 Tom Tromey 2002-04-08 18:32:26 UTC
From: tromey@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: libgcj/5303
Date: 8 Apr 2002 18:32:26 -0000

 CVSROOT:	/cvs/gcc
 Module name:	gcc
 Changes by:	tromey@gcc.gnu.org	2002-04-08 11:32:26
 
 Modified files:
 	gcc/java       : .cvsignore ChangeLog Make-lang.in gcj.texi 
 
 Log message:
 	For PR libgcj/5303:
 	* .cvsignore: Added rmic.1 and rmiregistry.1.
 	* gcj.texi (Top): Link to new nodes.
 	(Invoking rmic): New node.
 	(Invoking rmiregistry): Likewise.
 	* Make-lang.in (java.generated-manpages): Added rmic.1 and
 	rmiregistry.1.
 	(java.maintainer-clean): Likewise.
 	($(srcdir)/java/rmic.1): New target.
 	($(srcdir)/java/rmiregistry.1): Likewise.
 	(java.install-man): Handle rmic.1 and rmiregistry.1.
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/.cvsignore.diff?cvsroot=gcc&r1=1.3&r2=1.4
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/ChangeLog.diff?cvsroot=gcc&r1=1.980&r2=1.981
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/Make-lang.in.diff?cvsroot=gcc&r1=1.82&r2=1.83
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/gcj.texi.diff?cvsroot=gcc&r1=1.27&r2=1.28
Comment 13 Andrew Pinski 2003-05-28 00:49:48 UTC
addr2name.awk is still broken.
jv-convert is unfriendly when pass no options:
Exception in thread "main" java.lang.NullPointerException
   at gnu.gcj.convert.BytesToUnicode.getDecoder(java.lang.String) (/home/gates/pinskia/
linux/lib/libgcj.so.4.0.0)
   at java.io.InputStreamReader.InputStreamReader(java.io.InputStream, 
java.lang.String) (/home/gates/pinskia/linux/lib/libgcj.so.4.0.0)
   at gnu.gcj.convert.Convert.main(java.lang.String[]) (/home/gates/pinskia/linux/lib/
libgcj.so.4.0.0)

rrmiregistry's --help is not helpful, so its info page is not very help full.

Comment 14 Mark Mitchell 2009-02-09 16:20:36 UTC
Would the Java maintainers accept a patch to remove addr2name.awk?

As far as I can tell, it is no longer used after:

2002-08-24  Mark Wielaard <mark@klomp.org>

        * Makefile.am (libgcj_la_SOURCES): Remove name-finder.cc.
        (core_java_source_files): Add VMThrowable.java and NameFinder.java
        (nat_source_files): Remove natThrowable.cc, add natVMThrowable.cc
        and natNameFinder.cc.
        * Makefile.in: Regenerate.
        * name-finder.cc: Removed.

The original introduction was:

2000-03-24  Andrew Haley  <aph@cygnus.com>

        * Makefile.am: Add file addr2name.awk.
        * Makefile.in: Rebuilt.
        * addr2name.awk: New file.
        * name-finder.cc (_Jv_name_finder): Call addr2name.awk to do name
        lookups on ia64.

I can't find any references to addr2name.awk in the current sourcebase.

If it's OK, may I check in the obvious patch to remove all traces from Makefile.am and remove the file itself?

Thanks,

-- Mark
Comment 15 Andrew Haley 2009-02-09 16:46:13 UTC
Subject: Re:  Undocumented java programs

mmitchel at gcc dot gnu dot org wrote:
> ------- Comment #14 from mmitchel at gcc dot gnu dot org  2009-02-09 16:20 -------
> Would the Java maintainers accept a patch to remove addr2name.awk?

Sure.

Andrew.
Comment 16 Mark Mitchell 2009-02-09 22:45:11 UTC
Patch to remove addr2name.awk now available here:

http://gcc.gnu.org/ml/java-patches/2009-q1/msg00013.html
Comment 17 Mark Mitchell 2009-02-09 22:53:35 UTC
The patch to remove addr2name.awk has now been committed to mainline.  I am not sure what else, if anything, remains on this PR.