summaryrefslogtreecommitdiff
path: root/usr/src/lib/libc
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libc')
-rw-r--r--usr/src/lib/libc/inc/thr_uberdata.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/usr/src/lib/libc/inc/thr_uberdata.h b/usr/src/lib/libc/inc/thr_uberdata.h
index ac7af4ce29..678f68895f 100644
--- a/usr/src/lib/libc/inc/thr_uberdata.h
+++ b/usr/src/lib/libc/inc/thr_uberdata.h
@@ -905,15 +905,24 @@ typedef struct _qexthdlr {
_quick_exithdlr_func_t hdlr; /* handler itself */
} _qexthdlr_t;
+/*
+ * We add a pad on 32-bit systems to allow us to always have the structure size
+ * be 32-bytes which helps us deal with the compiler's alignment when building
+ * in ILP32 / LP64 systems.
+ */
typedef struct {
mutex_t exitfns_lock;
_qexthdlr_t *head;
+#if !defined(_LP64)
+ uint32_t pad;
+#endif
} quickexit_root_t;
#ifdef _SYSCALL32
typedef struct {
mutex_t exitfns_lock;
caddr32_t head;
+ uint32_t pad;
} quickexit_root32_t;
#endif /* _SYSCALL32 */