Issues with dtrace enabled in OpenJdk 9
pujarimahesh_kumar at yahoo.com
Mon May 11 10:51:52 UTC 2015
Thanks for replying back Erik.
I ran as you stated i.e. using "make DTRACE_ENABLED=true" but then I realized that the configure that I was running would do the same i.e. by having CFLAGS=-DDTRACE_ENABLED=1.
When I make (using your approach and passing enable in configure), I end up with lots and lots of "undefined reference to" errors during make, seems I am missing something, below are some error from build.logs.
classLoadingService.o: In function `ClassLoadingService::notify_class_unloaded(InstanceKlass*)':
/mnt/ubuntu/dev/jdk9/hotspot/src/share/vm/services/classLoadingService.cpp:119: undefined reference to `__dtrace_hotspot___class__unloaded'
classLoadingService.o: In function `ClassLoadingService::notify_class_loaded(InstanceKlass*, bool)':
/mnt/ubuntu/dev/jdk9/hotspot/src/share/vm/services/classLoadingService.cpp:144: undefined reference to `__dtrace_hotspot___class__loaded'
compileBroker.o: In function `CompileBroker::invoke_compiler_on_method(CompileTask*)':
/mnt/ubuntu/dev/jdk9/hotspot/src/share/vm/compiler/compileBroker.cpp:1927: undefined reference to `__dtrace_hotspot___method__compile__begin'
/mnt/ubuntu/dev/jdk9/hotspot/src/share/vm/compiler/compileBroker.cpp:2028: undefined reference to `__dtrace_hotspot___method__compile__end'
thanks and regards,Mahesh Pujari
On Monday, May 11, 2015 3:53 PM, Erik Joelsson <erik.joelsson at oracle.com> wrote:
I don't have any experience building with dtrace support, but the
Hotspot makefiles seem to imply that it can be achieved by running:
That variable will trigger the appropriate preprocessor flags to be
added at least. See hotspot/make/linux/makefiles/dtrace.make.
The jdk libraries do not support dtrace AFAIK.
On 2015-05-11 11:47, Mahesh Pujari wrote:
> Hi all,
> I am trying make OpenJdk 9 with dtrace enabled, on my Ubuntu machine (installed with https://github.com/dtrace4linux/linux), with configuration as below (and I am noob).
> ./configure --enable-option-checking=fatal --with-debug-level=slowdebug --with-target-bits=64 --disable-zip-debug-info --with-boot-jdk=/mnt/ubuntu/setup/jdk1.8.0 CFLAGS=-DDTRACE_ENABLED=1 --with-extra-cflags=-D_DTRACE_VERSION=1
> Below is my system info (using uname -a)Linux PHP0045 3.13.0-45-generic #74-Ubuntu SMP Tue Jan 13 19:36:28 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
> When I do "make all", I end up in error as below...
> vmThread.o: In function `VMOperationQueue::add(VM_Operation*)':
> /mnt/ubuntu/dev/jdk9/hotspot/src/share/vm/runtime/vmThread.cpp:156: undefined reference to `__dtrace_hotspot___vmops__request'
> vmThread.o: In function `VMThread::evaluate_operation(VM_Operation*)':
> /mnt/ubuntu/dev/jdk9/hotspot/src/share/vm/runtime/vmThread.cpp:354: undefined reference to `__dtrace_hotspot___vmops__begin'
> /mnt/ubuntu/dev/jdk9/hotspot/src/share/vm/runtime/vmThread.cpp:374: undefined reference to `__dtrace_hotspot___vmops__end'......
> Can some one direct me about what I might be missing. Can we actually build dtrace with enabled on Ubuntu, if not what other way I can do tracing (may be using systemtap, any pointers please). Am I on right track? (please direct).
> thanks and regards,Mahesh Pujari
More information about the build-dev