summaryrefslogtreecommitdiff
path: root/usr/src/lib/libc
diff options
context:
space:
mode:
authorJerry Jelinek <jerry.jelinek@joyent.com>2016-08-26 11:19:45 +0000
committerJerry Jelinek <jerry.jelinek@joyent.com>2016-08-26 11:19:45 +0000
commitb27adfefbf4be653598563c490246150f9ce471d (patch)
tree242edb1e209decd5756874adb7dd356359d15b38 /usr/src/lib/libc
parentc89aa2cda9c4c5a89db5c7b85f420548cd437c12 (diff)
parent0ddc0ebb74cedb0ac394818c6e166c47eb8e62e5 (diff)
downloadillumos-joyent-b27adfefbf4be653598563c490246150f9ce471d.tar.gz
[illumos-gate merge]
commit ff892b7ce7155120a08759aeabce0b4cd24bc867 7258 6951 caused uberdata32_t size to be incorrect commit fbc2697c538d75e4d5d938d24a995afa043c99d2 7286 sata doesn't support 4knative disks commit 910f0d12b47aeda4ed059254cc4af0d8c272d0ba 7315 nvme queue DMA attribute count_max is 0-based commit e8ba2a389f6ca6999ca72dabbe2871e894bf6b67 7313 bump nvme admin command timeout to 1s commit 2f95345b6f2a0bd2d48718fe10e82e351cb920c6 7312 zfs checksum errors observed in a zpool full of NVMe SSDs 6908 Samsung SSD SM951-NVMe shows checksum errors commit 75b41617efad806d8ab3d1866425189c0b0bc6aa 7306 nvme ignores interrupt enabling failure commit bf26ea4b8945ba545fde8b47a2a31ce2d11b82cd 7296 nvme initial interrupt issues commit 34c938c74e6f278ee870d39330b571ffea1b808e 7294 several small nvme fixes from Tegile commit 0d140ff944190d3ff2fdba65e9864f3c03248162 7279 nvme.c: idns->id_nlbaf is a 0's based value.
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 */