agent/src/os/bsd/Makefile

Mon, 28 Jul 2014 15:06:38 -0700

author
fzhinkin
date
Mon, 28 Jul 2014 15:06:38 -0700
changeset 6997
dbb05f6d93c4
parent 4750
39432a1cefdd
child 6876
710a3c8b516e
child 7562
0e1aa319e805
permissions
-rw-r--r--

8051344: JVM crashed in Compile::start() during method parsing w/ UseRTMDeopt turned on
Summary: call rtm_deopt() only if there were no compilation bailouts before.
Reviewed-by: kvn

     1 #
     2 # Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
     3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4 #
     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
     7 # published by the Free Software Foundation.
     8 #
     9 # This code is distributed in the hope that it will be useful, but WITHOUT
    10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    11 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    12 # version 2 for more details (a copy is included in the LICENSE file that
    13 # accompanied this code).
    14 #
    15 # You should have received a copy of the GNU General Public License version
    16 # 2 along with this work; if not, write to the Free Software Foundation,
    17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    18 #
    19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    20 # or visit www.oracle.com if you need additional information or have any
    21 # questions.
    22 #  
    23 #
    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 )
    27 OS       := $(shell uname -s)
    29 GCC      = gcc
    31 JAVAH    = ${JAVA_HOME}/bin/javah
    33 ifneq ($(OS), Darwin)
    34 SOURCES  = salibelf.c   \
    35         symtab.c        \
    36 	libproc_impl.c  \
    37 	ps_proc.c       \
    38 	ps_core.c       \
    39 	BsdDebuggerLocal.c
    40 OBJS    = $(SOURCES:.c=.o)
    41 OBJSPLUS = $(OBJS) sadis.o
    42 LIBSA = $(ARCH)/libsaproc.so
    44 LIBS     = -lutil -lthread_db
    46 else
    48 SOURCES  = symtab.c     \
    49 	libproc_impl.c  \
    50 	ps_core.c
    51 OBJS    = $(SOURCES:.c=.o)
    52 OBJSPLUS = MacosxDebuggerLocal.o sadis.o $(OBJS)
    53 EXTINCLUDE = -I/System/Library/Frameworks/JavaVM.framework/Headers -I.
    54 EXTCFLAGS = -m64 -D__APPLE__ -framework JavaNativeFoundation
    55 FOUNDATIONFLAGS = -framework Foundation -F/System/Library/Frameworks/JavaVM.framework/Frameworks -framework JavaNativeFoundation -framework Security -framework CoreFoundation
    56 LIBSA = $(ARCH)/libsaproc.dylib
    57 endif   # Darwin
    59 INCLUDES = -I${JAVA_HOME}/include -I${JAVA_HOME}/include/$(shell uname -s | tr "[:upper:]" "[:lower:]") $(EXTINCLUDE)
    63 CFLAGS   = -c -fPIC -g -Wall -D_ALLBSD_SOURCE -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) $(EXTCFLAGS)
    67 all: $(LIBSA)
    69 MacosxDebuggerLocal.o: MacosxDebuggerLocal.m
    70 	echo "OS="$(OS)
    71 	$(JAVAH) -jni -classpath ../../../build/classes  \
    72 		sun.jvm.hotspot.debugger.x86.X86ThreadContext \
    73 		sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext
    74 	$(GCC) $(CFLAGS) $(FOUNDATIONFLAGS) $<
    76 sadis.o: ../../share/native/sadis.c
    77 	$(JAVAH) -jni -classpath ../../../build/classes \
    78 		sun.jvm.hotspot.asm.Disassembler
    79 	$(GCC) $(CFLAGS) $<
    81 .c.obj:
    82 	$(GCC) $(CFLAGS)
    84 ifndef LDNOMAP
    85   LFLAGS_LIBSA = -Xlinker --version-script=mapfile
    86 endif
    88 $(LIBSA): $(OBJSPLUS) mapfile 
    89 	if [ ! -d $(ARCH) ] ; then mkdir $(ARCH) ; fi
    90 	$(GCC) -shared $(LFLAGS_LIBSA) -o $(LIBSA) $(FOUNDATIONFLAGS) $(OBJSPLUS) $(LIBS) $(SALIBS)
    92 test.o: $(LIBSA) test.c
    93 	$(GCC) -c -o test.o -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) test.c
    95 test: test.o
    96 	$(GCC) -o test test.o -L$(ARCH) -lsaproc $(LIBS)
    98 clean:
    99 	rm -f $(LIBSA)
   100 	rm -f *.o
   101 	rm -f test.o
   102 	-rmdir $(ARCH)

mercurial