javah output file naming weirdness
Andrew John Hughes
gnu_andrew at member.fsf.org
Sun Apr 27 08:21:53 PDT 2008
We recently uncovered a bug in the JikesRVM
(http://jira.codehaus.org/browse/RVM-456), namely that we were relying
on the naming of the header files generated by javah being in the same
style as those generated by the proprietary Sun JDK.
As can be seen in the bug report, the breakage showed up when using
IcedTea6/OpenJDK6 to build JikesRVM. On OpenJDK6,
javah -verbose -d
/home/andrew/projects/classpath/jikesrvm/target/prototype_x86_64-linux/c
-classpath /home/andrew/projects/classpath/jikesrvm/target/prototype_x86_64-linux/jksvm.jar
org.jikesrvm.scheduler.greenthreads.VM_Process
produces a file named:
org_jikesrvm_scheduler_greenthreads_VM_Process.h
while apparently the proprietary version emits:
org_jikesrvm_scheduler_greenthreads_VM_0005fProcess.h
(encoding the classname's underscore character as 0005f). We fixed
our bug by explicitly asking for javah to emit the latter named file,
but is this a regression in the OpenJDK6 version of javah? Even the
OpenJDK I was using before (b12) still emitted the 0005f version (at
least I presume so, because the build worked...)
Any ideas?
--
Andrew :-)
Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8
More information about the jdk6-dev
mailing list