annotate agent/src/os/bsd/Makefile @ 10158:9f96b7a853bc

8013466: SA crashes when attaching to a process on OS X Reviewed-by: coleenp, rbackman, minqi
author sla
date Tue, 30 Apr 2013 10:53:58 +0200
parents 39432a1cefdd
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
1 #
8750
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
2 # Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
4 #
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
5 # This code is free software; you can redistribute it and/or modify it
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
6 # under the terms of the GNU General Public License version 2 only, as
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
7 # published by the Free Software Foundation.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
8 #
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
9 # This code is distributed in the hope that it will be useful, but WITHOUT
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
12 # version 2 for more details (a copy is included in the LICENSE file that
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
13 # accompanied this code).
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
14 #
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
15 # You should have received a copy of the GNU General Public License version
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
16 # 2 along with this work; if not, write to the Free Software Foundation,
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
18 #
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
20 # or visit www.oracle.com if you need additional information or have any
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
21 # questions.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
22 #
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
23 #
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
24
8750
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
25 ARCH := $(shell if ([ `uname -m` = "ia64" ]) ; then echo ia64 ; elif ([ `uname -m` = "amd64" ]) ; then echo amd64; elif ([ `uname -m` = "x86_64" ]) ; then echo amd64; elif ([ `uname -m` = "sparc64" ]) ; then echo sparc; else echo i386 ; fi )
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
26
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
27 OS := $(shell uname -s)
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
28
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
29 GCC = gcc
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
30
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
31 JAVAH = ${JAVA_HOME}/bin/javah
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
32
8750
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
33 ifneq ($(OS), Darwin)
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
34 SOURCES = salibelf.c \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
35 symtab.c \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
36 libproc_impl.c \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
37 ps_proc.c \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
38 ps_core.c \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
39 BsdDebuggerLocal.c
8750
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
40 OBJS = $(SOURCES:.c=.o)
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
41 OBJSPLUS = $(OBJS) sadis.o
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
42 LIBSA = $(ARCH)/libsaproc.so
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
43
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
44 LIBS = -lutil -lthread_db
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
45
8750
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
46 else
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
47
8750
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
48 SOURCES = symtab.c \
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
49 libproc_impl.c \
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
50 ps_core.c
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
51 OBJS = $(SOURCES:.c=.o)
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
52 OBJSPLUS = MacosxDebuggerLocal.o sadis.o $(OBJS)
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
53 EXTINCLUDE = -I/System/Library/Frameworks/JavaVM.framework/Headers -I.
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
54 EXTCFLAGS = -m64 -D__APPLE__ -framework JavaNativeFoundation
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
55 FOUNDATIONFLAGS = -framework Foundation -F/System/Library/Frameworks/JavaVM.framework/Frameworks -framework JavaNativeFoundation -framework Security -framework CoreFoundation
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
56 LIBSA = $(ARCH)/libsaproc.dylib
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
57 endif # Darwin
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
58
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
59 INCLUDES = -I${JAVA_HOME}/include -I${JAVA_HOME}/include/$(shell uname -s | tr "[:upper:]" "[:lower:]") $(EXTINCLUDE)
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
60
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
61
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
62
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
63 CFLAGS = -c -fPIC -g -Wall -D_ALLBSD_SOURCE -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) $(EXTCFLAGS)
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
64
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
65
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
66
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
67 all: $(LIBSA)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
68
8750
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
69 MacosxDebuggerLocal.o: MacosxDebuggerLocal.m
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
70 echo "OS="$(OS)
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
71 $(JAVAH) -jni -classpath ../../../build/classes \
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
72 sun.jvm.hotspot.debugger.x86.X86ThreadContext \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
73 sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext
8750
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
74 $(GCC) $(CFLAGS) $(FOUNDATIONFLAGS) $<
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
75
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
76 sadis.o: ../../share/native/sadis.c
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
77 $(JAVAH) -jni -classpath ../../../build/classes \
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
78 sun.jvm.hotspot.asm.Disassembler
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
79 $(GCC) $(CFLAGS) $<
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
80
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
81 .c.obj:
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
82 $(GCC) $(CFLAGS)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
83
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
84 ifndef LDNOMAP
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
85 LFLAGS_LIBSA = -Xlinker --version-script=mapfile
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
86 endif
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
87
8750
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
88 $(LIBSA): $(OBJSPLUS) mapfile
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
89 if [ ! -d $(ARCH) ] ; then mkdir $(ARCH) ; fi
8750
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
90 $(GCC) -shared $(LFLAGS_LIBSA) -o $(LIBSA) $(FOUNDATIONFLAGS) $(OBJSPLUS) $(LIBS) $(SALIBS)
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
91
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
92 test.o: $(LIBSA) test.c
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
93 $(GCC) -c -o test.o -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) test.c
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
94
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
95 test: test.o
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
96 $(GCC) -o test test.o -L$(ARCH) -lsaproc $(LIBS)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
97
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
98 clean:
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
99 rm -f $(LIBSA)
8750
39432a1cefdd 8003348: SA can not read core file on OS
minqi
parents: 4006
diff changeset
100 rm -f *.o
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
101 rm -f test.o
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
102 -rmdir $(ARCH)