Module Name:    src
Committed By:   ozaki-r
Date:           Sat Feb 21 15:13:20 UTC 2015

Modified Files:
        src/external/cddl/osnet/dist/lib/libdtrace/arm: dt_isadep.c
        src/external/cddl/osnet/dist/lib/libdtrace/common: dt_consume.c
            dt_parser.c dt_printf.c

Log Message:
Fix dtrace build for arm with gcc 4.8


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
    src/external/cddl/osnet/dist/lib/libdtrace/arm/dt_isadep.c
cvs rdiff -u -r1.6 -r1.7 \
    src/external/cddl/osnet/dist/lib/libdtrace/common/dt_consume.c \
    src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c
cvs rdiff -u -r1.5 -r1.6 \
    src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/arm/dt_isadep.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/arm/dt_isadep.c:1.2 src/external/cddl/osnet/dist/lib/libdtrace/arm/dt_isadep.c:1.3
--- src/external/cddl/osnet/dist/lib/libdtrace/arm/dt_isadep.c:1.2	Thu Mar 27 15:50:48 2014
+++ src/external/cddl/osnet/dist/lib/libdtrace/arm/dt_isadep.c	Sat Feb 21 15:13:20 2015
@@ -75,8 +75,6 @@ dt_pid_create_return_probe(struct ps_pro
 {
 
 	uint32_t *text;
-	int i;
-	int srdepth = 0;
 
 	dt_dprintf("%s: unimplemented\n", __func__);
 	return (DT_PROC_ERR);

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_consume.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_consume.c:1.6 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_consume.c:1.7
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_consume.c:1.6	Sat Feb  7 20:30:03 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_consume.c	Sat Feb 21 15:13:20 2015
@@ -2187,6 +2187,8 @@ again:
 				case DTRACEACT_FREOPEN:
 					func = dtrace_freopen;
 					break;
+				default: /* XXX gcc 4.8 */
+					assert(0);
 				}
 
 				n = (*func)(dtp, fp, fmtdata, &data,
Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c:1.6 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c:1.7
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c:1.6	Sat Feb  7 20:30:03 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c	Sat Feb 21 15:13:20 2015
@@ -295,7 +295,9 @@ pfprint_fp(dtrace_hdl_t *dtp, FILE *fp, 
     const dt_pfargd_t *pfd, const void *addr, size_t size, uint64_t normal)
 {
 	double n = (double)normal;
+#if !defined(__arm__) && !defined(__powerpc__) && !defined(__mips__)
 	long double ldn = (long double)normal;
+#endif
 
 	switch (size) {
 	case sizeof (float):

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.c:1.5 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.c:1.6
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.c:1.5	Sat Feb 14 15:55:05 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.c	Sat Feb 21 15:13:20 2015
@@ -1039,10 +1039,12 @@ dt_node_is_ptrcompat(const dt_node_t *lp
 	 * then resolve the referenced type as well (assuming the base type
 	 * is CTF_K_POINTER or CTF_K_ARRAY).  Otherwise [lr]ref = CTF_ERR.
 	 */
-	if (!lp_is_int) {
-		lbase = ctf_type_resolve(lfp, lp->dn_type);
-		lkind = ctf_type_kind(lfp, lbase);
+	lbase = ctf_type_resolve(lfp, lp->dn_type);
+	lkind = ctf_type_kind(lfp, lbase);
+	rbase = ctf_type_resolve(rfp, rp->dn_type);
+	rkind = ctf_type_kind(rfp, rbase);
 
+	if (!lp_is_int) {
 		if (lkind == CTF_K_POINTER) {
 			lref = ctf_type_resolve(lfp,
 			    ctf_type_reference(lfp, lbase));
@@ -1053,9 +1055,6 @@ dt_node_is_ptrcompat(const dt_node_t *lp
 	}
 
 	if (!rp_is_int) {
-		rbase = ctf_type_resolve(rfp, rp->dn_type);
-		rkind = ctf_type_kind(rfp, rbase);
-
 		if (rkind == CTF_K_POINTER) {
 			rref = ctf_type_resolve(rfp,
 			    ctf_type_reference(rfp, rbase));

Reply via email to