Mercurial > illumos > illumos-gate
changeset 13351:b27fbdda9454
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>
author | Richard Lowe <richlowe@richlowe.net> |
---|---|
date | Thu, 21 Apr 2011 21:15:38 +0100 |
parents | a4d1acb7a7f5 |
children | f1cdd406b7eb |
files | usr/src/cmd/dtrace/test/cmd/jdtrace/jdtrace.c usr/src/pkg/manifests/system-dtrace-tests.mf |
diffstat | 2 files changed, 12 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/cmd/dtrace/test/cmd/jdtrace/jdtrace.c Tue Apr 19 13:31:18 2011 -0400 +++ b/usr/src/cmd/dtrace/test/cmd/jdtrace/jdtrace.c Thu Apr 21 21:15:38 2011 +0100 @@ -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 @@ } p[i] = NULL; - (void) execvp(av[0], av); + if (sysinfo(SI_ARCHITECTURE_64, isaname, sizeof (isaname)) != -1) + asprintf(av, "/usr/java/bin/%s/java", isaname); - perror("exec failed"); - - return (0); + (void) execv(av[0], av); + err(1, "exec failed"); }
--- a/usr/src/pkg/manifests/system-dtrace-tests.mf Tue Apr 19 13:31:18 2011 -0400 +++ b/usr/src/pkg/manifests/system-dtrace-tests.mf Thu Apr 21 21:15:38 2011 +0100 @@ -1899,3 +1899,5 @@ hotline="Contact the DTrace discussion forum" name="DTrace Test Suite" license cr_Sun license=cr_Sun license lic_CDDL license=lic_CDDL +depend fmri=runtime/java type=require +depend fmri=runtime/java/runtime64 type=require