Hi, all,
I've begun adding ppc64 support for the serviceability tools that take a java 
core file as input (jmap, jstack).  See my original July 3 posting to 
ppc-aix-port-dev (subject "PowerPC: core file option not available with 
serviceability tools") for reference.  I've created a number of new 
ppc64-specific Java classes within sun.jvm.hotspot.debugger.*, but am now 
running into a build issue that I've not been able to resolve.  The build error 
is as follows:

---------------
Compiling /home/mpj/jdk9-dev/hotspot/src/share/vm/runtime/vm_version.cpp
Making SA debugger back-end...
/home/mpj/jdk9-dev/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c:53:63: fatal 
error: sun_jvm_hotspot_debugger_ppc64_PPC64ThreadContext.h: No such file or 
directory
 #include "sun_jvm_hotspot_debugger_ppc64_PPC64ThreadContext.h"
                                                               ^
compilation terminated.
---------------

The crux of the problem is that this missing header file is not being generated 
earlier in the build, when the other arch-specific ThreadContext headers (X86, 
AMD64, and SPARC) are built. These headers are generated into 
build/linux-ppc64-normal-server-release/hotspot/linux_ppc64_compiler2/generated.

I had found hotspot/agent/src/os/linux/Makefile where there's a target defined 
to use 'javah' for generating header files from the *ThreadContext classes (the 
target is "$(ARCH)/LinuxDebuggerLocal.o:").  I added my PPC64ThreadContext 
class to that target, but that had no effect.  In fact, hacking that Makefile 
to remove other arch-specific ThreadContext classes from that target had no 
effect either -- i.e., a 'make clean' and 'rm -rf build' followed by 
'./configure' and 'make all' still manages to generate the header files for the 
three existing arch-specific ThreadContext classes. So my question is how do 
those header files get generated?  What file do I need to edit to add 
PPC64ThreadContext into the mix?

Thanks.
-Maynard

Reply via email to