path: root/arch/x32/bits
diff options
authorRich Felker <>2019-07-29 18:03:41 -0400
committerRich Felker <>2019-07-29 18:03:41 -0400
commit1afe5f3e5b504992914362d6c1c0a0af55f3b32b (patch)
tree9338410d72d7fa265122b05dc82a116b3f1b1696 /arch/x32/bits
parent7f797b5e255fa91296ac02e767ca16edea19c828 (diff)
extricate bits/sem.h from x32 time_t hack
various padding fields in the generic bits/sem.h were defined in terms of time_t as a cheap hack standing in for "kernel long", to allow x32 to use the generic version of the file. this was a really bad idea, as it ended up getting copied into lots of arch-specific versions of the bits file, and is a blocker to changing time_t to 64-bit on 32-bit archs. this commit adds an x32-specific version of the header, and changes padding type back from time_t to long (currently the same type on all archs but x32) in the generic header and all the others the hack got copied into.
Diffstat (limited to 'arch/x32/bits')
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/x32/bits/sem.h b/arch/x32/bits/sem.h
new file mode 100644
index 00000000..18745f4c
--- /dev/null
+++ b/arch/x32/bits/sem.h
@@ -0,0 +1,11 @@
+struct semid_ds {
+ struct ipc_perm sem_perm;
+ time_t sem_otime;
+ long long __unused1;
+ time_t sem_ctime;
+ long long __unused2;
+ unsigned short sem_nsems;
+ char __sem_nsems_pad[sizeof(long long)-sizeof(short)];
+ long long __unused3;
+ long long __unused4;