summaryrefslogtreecommitdiff
path: root/usr/src/cmd/dtrace
diff options
context:
space:
mode:
authorRichard Lowe <richlowe@richlowe.net>2011-04-21 21:15:38 +0100
committerRichard Lowe <richlowe@richlowe.net>2011-04-21 21:15:38 +0100
commit96d600cb34f4aee5163fc334468b461799dcb72d (patch)
tree009788353a0a778db8b1aa8d2c4f1b88f87e6b8d /usr/src/cmd/dtrace
parent6a1af1a67532df169a657cce07140be64bdea084 (diff)
downloadillumos-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.c18
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");
}