hotspot/make/hotspot.script
author jwilhelm
Mon, 24 Nov 2014 23:28:48 +0100
changeset 27884 563a811ad398
parent 22734 41757c1f3946
child 32575 059965be379b
permissions -rw-r--r--
Merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10565
dc90c239f4ec 7089790: integrate bsd-port changes
never
parents: 7452
diff changeset
     1
#!/bin/sh
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
     2
22234
da823d78ad65 8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013
mikael
parents: 17382
diff changeset
     3
# Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
     4
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
     5
#
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
     6
# This code is free software; you can redistribute it and/or modify it
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
     7
# under the terms of the GNU General Public License version 2 only, as
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
     8
# published by the Free Software Foundation.
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
     9
#
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    10
# This code is distributed in the hope that it will be useful, but WITHOUT
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    11
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    12
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    13
# version 2 for more details (a copy is included in the LICENSE file that
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    14
# accompanied this code).
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    15
#
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    16
# You should have received a copy of the GNU General Public License version
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    17
# 2 along with this work; if not, write to the Free Software Foundation,
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    18
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    19
#
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    20
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    21
# or visit www.oracle.com if you need additional information or have any
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    22
# questions.
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    23
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    24
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    25
# This script launches HotSpot.
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    26
#
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    27
# If the first parameter is either "-gdb" or "-gud", HotSpot will be
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    28
# launched inside gdb. "-gud" means "open an Emacs window and run gdb
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    29
# inside Emacs".
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    30
#
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    31
# If the first parameter is "-dbx", HotSpot will be launched inside dbx.
13514
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
    32
#
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    33
# If the first parameter is "-valgrind", HotSpot will be launched
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    34
# inside Valgrind (http://valgrind.kde.org) using the Memcheck skin,
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    35
# and with memory leak detection enabled.  This currently (2005jan19)
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    36
# requires at least Valgrind 2.3.0.  -Xmx16m will also be passed as
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    37
# the first parameter to HotSpot, since lowering HotSpot's memory
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    38
# consumption makes execution inside of Valgrind *a lot* faster.
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    39
#
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    40
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    41
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    42
#
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    43
# User changeable parameters ------------------------------------------------
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    44
#
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    45
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    46
# This is the name of the gdb binary to use
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    47
if [ ! "$GDB" ]
13514
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
    48
then
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    49
    GDB=gdb
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    50
fi
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    51
22734
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
    52
# This is the name of the dbx binary to use
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    53
if [ ! "$DBX" ]
13514
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
    54
then
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    55
    DBX=dbx
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    56
fi
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    57
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    58
# This is the name of the Valgrind binary to use
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    59
if [ ! "$VALGRIND" ]
13514
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
    60
then
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    61
    VALGRIND=valgrind
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    62
fi
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    63
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    64
# This is the name of Emacs for running GUD
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    65
EMACS=emacs
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    66
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    67
#
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    68
# End of user changeable parameters -----------------------------------------
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    69
#
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    70
22734
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
    71
OS=`uname -s`
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
    72
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    73
# Make sure the paths are fully specified, i.e. they must begin with /.
10682
b511a318cd44 7099454: /bin/sh does not support syntax used in the src/os/posix/launcher/launcher.script shell script
brutisso
parents: 10565
diff changeset
    74
REL_MYDIR=`dirname $0`
b511a318cd44 7099454: /bin/sh does not support syntax used in the src/os/posix/launcher/launcher.script shell script
brutisso
parents: 10565
diff changeset
    75
MYDIR=`cd $REL_MYDIR && pwd`
22734
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
    76
case "$OS" in
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
    77
CYGWIN*)
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
    78
    MYDIR=`cygpath -m "$MYDIR"`
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
    79
    ;;
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
    80
esac
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    81
17382
bba473b81ec0 8008772: remove gamma launcher
twisti
parents: 16630
diff changeset
    82
#
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    83
# Look whether the user wants to run inside gdb
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    84
case "$1" in
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    85
    -gdb)
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    86
        MODE=gdb
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    87
        shift
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    88
        ;;
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    89
    -gud)
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    90
        MODE=gud
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    91
        shift
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    92
        ;;
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    93
    -dbx)
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    94
        MODE=dbx
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    95
        shift
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    96
        ;;
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    97
    -valgrind)
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    98
        MODE=valgrind
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
    99
        shift
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   100
        ;;
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   101
    *)
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   102
        MODE=run
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   103
        ;;
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   104
esac
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   105
17382
bba473b81ec0 8008772: remove gamma launcher
twisti
parents: 16630
diff changeset
   106
if [ "${ALT_JAVA_HOME}" != "" ]; then
bba473b81ec0 8008772: remove gamma launcher
twisti
parents: 16630
diff changeset
   107
    JDK=${ALT_JAVA_HOME%%/jre}
13514
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
   108
else
17382
bba473b81ec0 8008772: remove gamma launcher
twisti
parents: 16630
diff changeset
   109
    JDK=@@JDK_IMPORT_PATH@@
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   110
fi
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   111
22734
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
   112
if [ "${JDK}" != "" ]; then
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
   113
    case "$OS" in
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
   114
    CYGWIN*)
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
   115
        JDK=`cygpath -m "$JDK"`
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
   116
        ;;
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
   117
	esac
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
   118
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
   119
else
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
   120
    echo "Failed to find JDK." \
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
   121
        "Either ALT_JAVA_HOME is not set or JDK_IMPORT_PATH is empty."
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
   122
    exit 1
7452
b3fa838286de 7006354: Updates to Visual Studio project creation and development launcher
sla
parents: 7410
diff changeset
   123
fi
b3fa838286de 7006354: Updates to Visual Studio project creation and development launcher
sla
parents: 7410
diff changeset
   124
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   125
# We will set the LD_LIBRARY_PATH as follows:
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   126
#     o		$JVMPATH (directory portion only)
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   127
#     o		$JRE/lib/$ARCH
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   128
# followed by the user's previous effective LD_LIBRARY_PATH, if
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   129
# any.
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   130
JRE=$JDK/jre
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   131
JAVA_HOME=$JDK
13514
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
   132
export JAVA_HOME
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
   133
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   134
ARCH=@@LIBARCH@@
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   135
SBP=${MYDIR}:${JRE}/lib/${ARCH}
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   136
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   137
13514
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
   138
# Set up a suitable LD_LIBRARY_PATH or DYLD_LIBRARY_PATH
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
   139
if [ "${OS}" = "Darwin" ]
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   140
then
13514
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
   141
    if [ -z "$DYLD_LIBRARY_PATH" ]
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
   142
    then
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
   143
        DYLD_LIBRARY_PATH="$SBP"
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
   144
    else
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
   145
        DYLD_LIBRARY_PATH="$SBP:$DYLD_LIBRARY_PATH"
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
   146
    fi
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
   147
    export DYLD_LIBRARY_PATH
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   148
else
13514
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
   149
    # not 'Darwin'
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
   150
    if [ -z "$LD_LIBRARY_PATH" ]
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
   151
    then
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
   152
        LD_LIBRARY_PATH="$SBP"
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
   153
    else
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
   154
        LD_LIBRARY_PATH="$SBP:$LD_LIBRARY_PATH"
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
   155
    fi
1bbff39f54a2 7192916: Hotspot development launcher should use DYLD_LIBRARY_PATH on OS X
sla
parents: 10682
diff changeset
   156
    export LD_LIBRARY_PATH
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   157
fi
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   158
22734
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
   159
JPARMS="-XXaltjvm=$MYDIR -Dsun.java.launcher.is_altjvm=true $@ $JAVA_ARGS";
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   160
17382
bba473b81ec0 8008772: remove gamma launcher
twisti
parents: 16630
diff changeset
   161
# Locate the java launcher
bba473b81ec0 8008772: remove gamma launcher
twisti
parents: 16630
diff changeset
   162
LAUNCHER=$JDK/bin/java
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   163
if [ ! -x $LAUNCHER ] ; then
17382
bba473b81ec0 8008772: remove gamma launcher
twisti
parents: 16630
diff changeset
   164
    echo Error: Cannot find the java launcher \"$LAUNCHER\"
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   165
    exit 1
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   166
fi
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   167
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   168
GDBSRCDIR=$MYDIR
10682
b511a318cd44 7099454: /bin/sh does not support syntax used in the src/os/posix/launcher/launcher.script shell script
brutisso
parents: 10565
diff changeset
   169
BASEDIR=`cd $MYDIR/../../.. && pwd`
22734
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
   170
case "$OS" in
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
   171
CYGWIN*)
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
   172
    BASEDIR=`cygpath -m "$BASEDIR"`
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
   173
    ;;
41757c1f3946 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
rdurbin
parents: 22234
diff changeset
   174
esac
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   175
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   176
init_gdb() {
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   177
# Create a gdb script in case we should run inside gdb
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   178
    GDBSCR=/tmp/hsl.$$
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   179
    rm -f $GDBSCR
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   180
    cat >>$GDBSCR <<EOF
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   181
cd `pwd`
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   182
handle SIGUSR1 nostop noprint
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   183
handle SIGUSR2 nostop noprint
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   184
set args $JPARMS
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   185
file $LAUNCHER
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   186
directory $GDBSRCDIR
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   187
# Get us to a point where we can set breakpoints in libjvm.so
17382
bba473b81ec0 8008772: remove gamma launcher
twisti
parents: 16630
diff changeset
   188
set breakpoint pending on
bba473b81ec0 8008772: remove gamma launcher
twisti
parents: 16630
diff changeset
   189
break JNI_CreateJavaVM
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   190
run
17382
bba473b81ec0 8008772: remove gamma launcher
twisti
parents: 16630
diff changeset
   191
# Stop in JNI_CreateJavaVM
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   192
delete 1
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   193
# We can now set breakpoints wherever we like
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   194
EOF
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   195
}
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   196
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   197
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   198
case "$MODE" in
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   199
    gdb)
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   200
	init_gdb
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   201
        $GDB -x $GDBSCR
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   202
	rm -f $GDBSCR
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   203
        ;;
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   204
    gud)
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   205
	init_gdb
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   206
# First find out what emacs version we're using, so that we can
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   207
# use the new pretty GDB mode if emacs -version >= 22.1
10682
b511a318cd44 7099454: /bin/sh does not support syntax used in the src/os/posix/launcher/launcher.script shell script
brutisso
parents: 10565
diff changeset
   208
	case `$EMACS -version 2> /dev/null` in
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   209
	    *GNU\ Emacs\ 2[23]*)
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   210
	    emacs_gud_cmd="gdba"
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   211
	    emacs_gud_args="--annotate=3"
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   212
	    ;;
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   213
	    *)
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   214
		emacs_gud_cmd="gdb"
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   215
		emacs_gud_args=
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   216
		;;
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   217
	esac
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   218
        $EMACS --eval "($emacs_gud_cmd \"$GDB $emacs_gud_args -x $GDBSCR\")";
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   219
	rm -f $GDBSCR
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   220
        ;;
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   221
    dbx)
17382
bba473b81ec0 8008772: remove gamma launcher
twisti
parents: 16630
diff changeset
   222
        $DBX -s $HOME/.dbxrc -c "loadobject -load libjvm.so; stop in JNI_CreateJavaVM; run $JPARMS; delete all" $LAUNCHER
7410
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   223
        ;;
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   224
    valgrind)
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   225
        echo Warning: Defaulting to 16Mb heap to make Valgrind run faster, use -Xmx for larger heap
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   226
        echo
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   227
        $VALGRIND --tool=memcheck --leak-check=yes --num-callers=50 $LAUNCHER -Xmx16m $JPARMS
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   228
        ;;
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   229
    run)
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   230
        LD_PRELOAD=$PRELOADING exec $LAUNCHER $JPARMS
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   231
        ;;
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   232
    *)
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   233
        echo Error: Internal error, unknown launch mode \"$MODE\"
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   234
        exit 1
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   235
        ;;
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   236
esac
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   237
RETVAL=$?
f5b282e7a7a6 6981484: Update development launcher
sla
parents:
diff changeset
   238
exit $RETVAL