comparison agent/src/os/solaris/proc/Makefile @ 6782:5a98bf7d847b

6879063: SA should use hsdis for disassembly Summary: We should in SA to use hsdis for it like the JVM does to replace the current java based disassembler. Reviewed-by: twisti, jrose, sla Contributed-by: yumin.qi@oracle.com
author minqi
date Mon, 24 Sep 2012 12:44:00 -0700
parents c18cbe5936b8
children
comparison
equal deleted inserted replaced
6780:8440414b0fd8 6782:5a98bf7d847b
1 # 1 #
2 # Copyright (c) 2002, 2009, Oracle and/or its affiliates. All rights reserved. 2 # Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 # 4 #
5 # This code is free software; you can redistribute it and/or modify it 5 # This code is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License version 2 only, as 6 # under the terms of the GNU General Public License version 2 only, as
7 # published by the Free Software Foundation. 7 # published by the Free Software Foundation.
25 # Targets are: 25 # Targets are:
26 # sparc: Build the 32 bit sparc version in ./sparc 26 # sparc: Build the 32 bit sparc version in ./sparc
27 # sparcv9: Build the 64 bit sparcv9 version in ./sparcv9 27 # sparcv9: Build the 64 bit sparcv9 version in ./sparcv9
28 # i386: Build the 32 bit i386 version in ./i386 28 # i386: Build the 32 bit i386 version in ./i386
29 29
30 .PHONY: sparc sparcv9 i386 30 .PHONY: sparc sparcv9 i386 amd64
31 31
32 ARCH_ORIG = $(shell uname -p) 32 ARCH_ORIG = $(shell uname -p)
33 33
34 C++ := CC 34 C++ := CC
35 RM := /usr/bin/rm 35 RM := /usr/bin/rm
36 MKDIRS := /usr/bin/mkdir -p 36 MKDIRS := /usr/bin/mkdir -p
37 37
38 CLASSES_DIR = ../../../../build/classes 38 CLASSES_DIR = ../../../../build/classes
39 SAPROC_INCLUDES=-I${JAVA_HOME}/include -I${JAVA_HOME}/include/solaris
40 SADIS=../../../share/native/sadis.c
39 41
40 ifeq "$(ARCH_ORIG)" "i386" 42 ifeq "$(ARCH_ORIG)" "i386"
41 ALL_TARGET = i386 $(filter amd64,$(shell isalist)) 43 ALL_TARGET = i386 $(filter amd64,$(shell isalist))
42 else 44 else
43 ALL_TARGET = sparc sparcv9 45 ALL_TARGET = sparc sparcv9
44 endif 46 endif
47
48 CFLAGS/i386 =
49 CFLAGS/amd64 = -xarch=amd64
50 CFLAGS/sparc = -xarch=v8
51 CFLAGS/sparv9 = -xarch=v9
45 52
46 all:: $(ALL_TARGET) 53 all:: $(ALL_TARGET)
47 54
48 javahomecheck:: 55 javahomecheck::
49 @if [ "x$(JAVA_HOME)" = "x" ] ; then \ 56 @if [ "x$(JAVA_HOME)" = "x" ] ; then \
50 echo You must set the environment variable JAVA_HOME before executing this Makefile ; \ 57 echo You must set the environment variable JAVA_HOME before executing this Makefile ; \
51 exit 1 ; \ 58 exit 1 ; \
52 fi 59 fi
53 60
54 i386:: javahomecheck 61 i386 amd64 sparc sparcv9:: javahomecheck
55 $(MKDIRS) $@ 62 $(MKDIRS) $@
56 @javah -classpath $(CLASSES_DIR) -jni sun.jvm.hotspot.debugger.proc.ProcDebuggerLocal 63 @$(JAVA_HOME)/bin/javah -classpath $(CLASSES_DIR) -d $@ -jni sun.jvm.hotspot.asm.Disassembler sun.jvm.hotspot.debugger.proc.ProcDebuggerLocal
57 CC -G -KPIC -I${JAVA_HOME}/include -I${JAVA_HOME}/include/solaris saproc.cpp \ 64 CC $(CFLAGS/$@) -c -g -Kpic ${SAPROC_INCLUDES} -I$@ saproc.cpp -o $@/saproc.o
58 -M mapfile -o $@/libsaproc.so -ldemangle 65 cc $(CFLAGS/$@) -c -g -Kpic ${SAPROC_INCLUDES} -I$@ $(SADIS) -o $@/sadis.o
59 CC -o $@/libsaproc_audit.so -G -Kpic -z defs saproc_audit.cpp -lmapmalloc -ldl -lc 66 CC $(CFLAGS/$@) -g -G -Kpic $@/saproc.o $@/sadis.o -M mapfile -o $@/libsaproc.so -ldemangle
60 67 CC $(CFLAGS/$@) -o $@/libsaproc_audit.so -G -Kpic -z defs saproc_audit.cpp -lmapmalloc -ldl -lc
61 amd64:: javahomecheck
62 $(MKDIRS) $@
63 @javah -classpath $(CLASSES_DIR) -jni sun.jvm.hotspot.debugger.proc.ProcDebuggerLocal
64 CC -G -KPIC -xarch=amd64 -I${JAVA_HOME}/include -I${JAVA_HOME}/include/solaris saproc.cpp \
65 -M mapfile -o $@/libsaproc.so -ldemangle
66 CC -xarch=amd64 -o $@/libsaproc_audit.so -G -Kpic -z defs saproc_audit.cpp -lmapmalloc -ldl -lc
67
68 sparc:: javahomecheck
69 $(MKDIRS) $@
70 @javah -classpath $(CLASSES_DIR) -jni sun.jvm.hotspot.debugger.proc.ProcDebuggerLocal
71 CC -G -KPIC -xarch=v8 -I${JAVA_HOME}/include -I${JAVA_HOME}/include/solaris saproc.cpp \
72 -M mapfile -o $@/libsaproc.so -ldemangle
73 CC -xarch=v8 -o $@/libsaproc_audit.so -G -Kpic -z defs saproc_audit.cpp -lmapmalloc -ldl -lc
74
75 sparcv9:: javahomecheck
76 $(MKDIRS) $@
77 @javah -classpath $(CLASSES_DIR) -jni sun.jvm.hotspot.debugger.proc.ProcDebuggerLocal
78 CC -G -KPIC -xarch=v9 -I${JAVA_HOME}/include -I${JAVA_HOME}/include/solaris saproc.cpp \
79 -M mapfile -o $@/libsaproc.so -ldemangle
80 CC -xarch=v9 -o $@/libsaproc_audit.so -G -Kpic -z defs saproc_audit.cpp -lmapmalloc -ldl -lc
81 68
82 clean:: 69 clean::
83 $(RM) -rf sun_jvm_hotspot_debugger_proc_ProcDebuggerLocal.h 70 $(RM) -rf sparc sparcv9 i386 amd64
84 $(RM) -rf sparc sparcv9 i386