diff options
author | Richard Lowe <richlowe@richlowe.net> | 2011-04-21 21:15:38 +0100 |
---|---|---|
committer | Richard Lowe <richlowe@richlowe.net> | 2011-04-21 21:15:38 +0100 |
commit | 96d600cb34f4aee5163fc334468b461799dcb72d (patch) | |
tree | 009788353a0a778db8b1aa8d2c4f1b88f87e6b8d /usr/src/cmd/dtrace | |
parent | 6a1af1a67532df169a657cce07140be64bdea084 (diff) | |
download | illumos-gate-96d600cb34f4aee5163fc334468b461799dcb72d.tar.gz |
939 SUNWdtrt needs to be willing to use 64bit java
Reviewed by: Albert Lee <trisk@opensolaris.org>
Reviewed by: Garrett D'Amore <garrett@nexenta.com>
Approved by: Garrett D'Amore <garrett@nexenta.com>
Diffstat (limited to 'usr/src/cmd/dtrace')
-rw-r--r-- | usr/src/cmd/dtrace/test/cmd/jdtrace/jdtrace.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/usr/src/cmd/dtrace/test/cmd/jdtrace/jdtrace.c b/usr/src/cmd/dtrace/test/cmd/jdtrace/jdtrace.c index 095126569c..81a2d9bcdf 100644 --- a/usr/src/cmd/dtrace/test/cmd/jdtrace/jdtrace.c +++ b/usr/src/cmd/dtrace/test/cmd/jdtrace/jdtrace.c @@ -22,25 +22,27 @@ /* * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. + * + * Copyright 2011, Richard Lowe */ -#pragma ident "%Z%%M% %I% %E% SMI" - #include <alloca.h> #include <stdio.h> #include <unistd.h> +#include <err.h> #include <sys/systeminfo.h> int main(int argc, char **argv) { - int i, ac, has64; + int i, ac; char **av, **p; + char isaname[16]; ac = argc + 3; av = p = alloca(sizeof (char *) * ac); - *p++ = "java"; + *p++ = "/usr/java/bin/java"; *p++ = "-jar"; *p++ = "/opt/SUNWdtrt/lib/java/jdtrace.jar"; @@ -52,9 +54,9 @@ main(int argc, char **argv) } p[i] = NULL; - (void) execvp(av[0], av); - - perror("exec failed"); + if (sysinfo(SI_ARCHITECTURE_64, isaname, sizeof (isaname)) != -1) + asprintf(av, "/usr/java/bin/%s/java", isaname); - return (0); + (void) execv(av[0], av); + err(1, "exec failed"); } |