summaryrefslogtreecommitdiffstats
path: root/cddl/contrib/opensolaris/lib/libdtrace/common/dt_program.c
diff options
context:
space:
mode:
authorrodrigc <rodrigc@FreeBSD.org>2008-11-05 19:35:09 +0000
committerrodrigc <rodrigc@FreeBSD.org>2008-11-05 19:35:09 +0000
commit9f34c4004df81e0f9ef5b1f40c4e24d9c220cf0d (patch)
tree0d63fb2a232ee601ee234ff3e8526ea1411a7f97 /cddl/contrib/opensolaris/lib/libdtrace/common/dt_program.c
parent8a6828b297af8141ab3609d76007dfbdc128f0cd (diff)
downloadFreeBSD-src-9f34c4004df81e0f9ef5b1f40c4e24d9c220cf0d.zip
FreeBSD-src-9f34c4004df81e0f9ef5b1f40c4e24d9c220cf0d.tar.gz
Merge latest DTrace changes from Perforce.
Approved by: jb
Diffstat (limited to 'cddl/contrib/opensolaris/lib/libdtrace/common/dt_program.c')
-rw-r--r--cddl/contrib/opensolaris/lib/libdtrace/common/dt_program.c28
1 files changed, 20 insertions, 8 deletions
diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_program.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_program.c
index 1785668..e4fa801 100644
--- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_program.c
+++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_program.c
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -436,8 +436,13 @@ dt_header_decl(dt_idhash_t *dhp, dt_ident_t *idp, void *data)
if (fprintf(infop->dthi_out, ");\n") < 0)
return (dt_set_errno(dtp, errno));
- if (fprintf(infop->dthi_out, "extern int "
- "__dtraceenabled_%s___%s(void);\n", infop->dthi_pfname, fname) < 0)
+ if (fprintf(infop->dthi_out,
+ "#ifndef\t__sparc\n"
+ "extern int __dtraceenabled_%s___%s(void);\n"
+ "#else\n"
+ "extern int __dtraceenabled_%s___%s(long);\n"
+ "#endif\n",
+ infop->dthi_pfname, fname, infop->dthi_pfname, fname) < 0)
return (dt_set_errno(dtp, errno));
return (0);
@@ -499,13 +504,20 @@ dt_header_probe(dt_idhash_t *dhp, dt_ident_t *idp, void *data)
return (dt_set_errno(dtp, errno));
if (!infop->dthi_empty) {
- if (fprintf(infop->dthi_out, "#define\t%s_%s_ENABLED() \\\n",
- infop->dthi_pmname, mname) < 0)
- return (dt_set_errno(dtp, errno));
-
- if (fprintf(infop->dthi_out, "\t__dtraceenabled_%s___%s()\n",
+ if (fprintf(infop->dthi_out,
+ "#ifndef\t__sparc\n"
+ "#define\t%s_%s_ENABLED() \\\n"
+ "\t__dtraceenabled_%s___%s()\n"
+ "#else\n"
+ "#define\t%s_%s_ENABLED() \\\n"
+ "\t__dtraceenabled_%s___%s(0)\n"
+ "#endif\n",
+ infop->dthi_pmname, mname,
+ infop->dthi_pfname, fname,
+ infop->dthi_pmname, mname,
infop->dthi_pfname, fname) < 0)
return (dt_set_errno(dtp, errno));
+
} else {
if (fprintf(infop->dthi_out, "#define\t%s_%s_ENABLED() (0)\n",
infop->dthi_pmname, mname) < 0)
OpenPOWER on IntegriCloud