Module Name:    src
Committed By:   riastradh
Date:           Thu Mar  5 16:05:06 UTC 2020

Modified Files:
        src/external/cddl/osnet/dist/tools/ctf/cvt: fixup_tdescs.c

Log Message:
Revert "Add fixup operation to remove private mutex types for x86."

The x86 (and arm) definitions of struct kmutex are no longer defined
differently depending on __MUTEX_PRIVATE.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 \
    src/external/cddl/osnet/dist/tools/ctf/cvt/fixup_tdescs.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/tools/ctf/cvt/fixup_tdescs.c
diff -u src/external/cddl/osnet/dist/tools/ctf/cvt/fixup_tdescs.c:1.5 src/external/cddl/osnet/dist/tools/ctf/cvt/fixup_tdescs.c:1.6
--- src/external/cddl/osnet/dist/tools/ctf/cvt/fixup_tdescs.c:1.5	Tue Jul 16 07:27:35 2019
+++ src/external/cddl/osnet/dist/tools/ctf/cvt/fixup_tdescs.c	Thu Mar  5 16:05:05 2020
@@ -280,48 +280,6 @@ fix_small_cpu_struct(tdata_t *td, size_t
 #ifdef __NetBSD__
 
 /*
- * The kmutex structure comes in two flavours, with or without __MUTEX_PRIVATE
- * defined.  Since many structures include kmutexes this causes massive amounts
- * of duplication on merge (~ 40% for a GENERIC kernel).  Remove the private
- * fields if we see them.
- */
-static void
-fix_kmutex_private(tdata_t *td, size_t ptrsize)
-{
-	tdesc_t *desc;
-	mlist_t *ml;
-
-	/*
-	 * X86 kmutex is either
-	 *	union {
-	 *		volatile uintptr_t mtxa_owner;
-	 *	} u
-	 * or
-	 *	union {
-	 *		volatile uintptr_t mtxa_owner;
-	 *		struct {
-	 *			...
-	 *		} s;
-	 *	} u
-	 * so we remove "struct s" if we find it.
-	 */
-	if ((desc = lookup_tdesc(td, "kmutex")) != NULL &&
-	    desc->t_type == STRUCT &&
-	    (ml = desc->t_members) != NULL &&
-	    streq(ml->ml_name, "u") &&
-	    (desc = ml->ml_type) != NULL &&
-	    desc->t_type == UNION &&
-	    (ml = desc->t_members) != NULL &&
-	    streq(ml->ml_name, "mtxa_owner") &&
-	    (ml = ml->ml_next) != NULL &&
-	    streq(ml->ml_name, "s") &&
-	    ml->ml_next == NULL) {
-		/* Found, delete member "s". */
-		desc->t_members->ml_next = NULL;
-	}
-}
-
-/*
  * XXX: A crude hack to bring down the number of types for a
  * GENRIC kernel below 2**15-1 (from ~34000 to ~29800).
  *
@@ -377,7 +335,6 @@ cvt_fixups(tdata_t *td, size_t ptrsize)
 {
 	fix_small_cpu_struct(td, ptrsize);
 #ifdef __NetBSD__
-	fix_kmutex_private(td, ptrsize);
 	fix_kill_attr(td, ptrsize);
 #endif
 }

Reply via email to