mirror of
git://git.musl-libc.org/musl
synced 2024-12-14 18:55:23 +00:00
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.
This commit is contained in:
parent
7f797b5e25
commit
1afe5f3e5b
@ -4,11 +4,11 @@ struct semid_ds {
|
|||||||
time_t sem_ctime;
|
time_t sem_ctime;
|
||||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||||
unsigned short sem_nsems;
|
unsigned short sem_nsems;
|
||||||
char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
|
char __sem_nsems_pad[sizeof(long)-sizeof(short)];
|
||||||
#else
|
#else
|
||||||
char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
|
char __sem_nsems_pad[sizeof(long)-sizeof(short)];
|
||||||
unsigned short sem_nsems;
|
unsigned short sem_nsems;
|
||||||
#endif
|
#endif
|
||||||
time_t __unused3;
|
long __unused3;
|
||||||
time_t __unused4;
|
long __unused4;
|
||||||
};
|
};
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
struct semid_ds {
|
struct semid_ds {
|
||||||
struct ipc_perm sem_perm;
|
struct ipc_perm sem_perm;
|
||||||
time_t sem_otime;
|
time_t sem_otime;
|
||||||
time_t __unused1;
|
long __unused1;
|
||||||
time_t sem_ctime;
|
time_t sem_ctime;
|
||||||
time_t __unused2;
|
long __unused2;
|
||||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||||
unsigned short sem_nsems;
|
unsigned short sem_nsems;
|
||||||
char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
|
char __sem_nsems_pad[sizeof(long)-sizeof(short)];
|
||||||
#else
|
#else
|
||||||
char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
|
char __sem_nsems_pad[sizeof(long)-sizeof(short)];
|
||||||
unsigned short sem_nsems;
|
unsigned short sem_nsems;
|
||||||
#endif
|
#endif
|
||||||
time_t __unused3;
|
long __unused3;
|
||||||
time_t __unused4;
|
long __unused4;
|
||||||
};
|
};
|
||||||
|
@ -4,11 +4,11 @@ struct semid_ds {
|
|||||||
time_t sem_ctime;
|
time_t sem_ctime;
|
||||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||||
unsigned short sem_nsems;
|
unsigned short sem_nsems;
|
||||||
char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
|
char __sem_nsems_pad[sizeof(long)-sizeof(short)];
|
||||||
#else
|
#else
|
||||||
char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
|
char __sem_nsems_pad[sizeof(long)-sizeof(short)];
|
||||||
unsigned short sem_nsems;
|
unsigned short sem_nsems;
|
||||||
#endif
|
#endif
|
||||||
time_t __unused3;
|
long __unused3;
|
||||||
time_t __unused4;
|
long __unused4;
|
||||||
};
|
};
|
||||||
|
@ -4,11 +4,11 @@ struct semid_ds {
|
|||||||
time_t sem_ctime;
|
time_t sem_ctime;
|
||||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||||
unsigned short sem_nsems;
|
unsigned short sem_nsems;
|
||||||
char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
|
char __sem_nsems_pad[sizeof(long)-sizeof(short)];
|
||||||
#else
|
#else
|
||||||
char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
|
char __sem_nsems_pad[sizeof(long)-sizeof(short)];
|
||||||
unsigned short sem_nsems;
|
unsigned short sem_nsems;
|
||||||
#endif
|
#endif
|
||||||
time_t __unused3;
|
long __unused3;
|
||||||
time_t __unused4;
|
long __unused4;
|
||||||
};
|
};
|
||||||
|
@ -4,11 +4,11 @@ struct semid_ds {
|
|||||||
time_t sem_ctime;
|
time_t sem_ctime;
|
||||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||||
unsigned short sem_nsems;
|
unsigned short sem_nsems;
|
||||||
char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
|
char __sem_nsems_pad[sizeof(long)-sizeof(short)];
|
||||||
#else
|
#else
|
||||||
char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
|
char __sem_nsems_pad[sizeof(long)-sizeof(short)];
|
||||||
unsigned short sem_nsems;
|
unsigned short sem_nsems;
|
||||||
#endif
|
#endif
|
||||||
time_t __unused3;
|
long __unused3;
|
||||||
time_t __unused4;
|
long __unused4;
|
||||||
};
|
};
|
||||||
|
@ -3,7 +3,7 @@ struct semid_ds {
|
|||||||
time_t sem_otime;
|
time_t sem_otime;
|
||||||
time_t sem_ctime;
|
time_t sem_ctime;
|
||||||
unsigned short sem_nsems;
|
unsigned short sem_nsems;
|
||||||
char __sem_nsems_pad[sizeof(time_t)-sizeof(short)];
|
char __sem_nsems_pad[sizeof(long)-sizeof(short)];
|
||||||
time_t __unused3;
|
long __unused3;
|
||||||
time_t __unused4;
|
long __unused4;
|
||||||
};
|
};
|
||||||
|
11
arch/x32/bits/sem.h
Normal file
11
arch/x32/bits/sem.h
Normal file
@ -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;
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user