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 }