mirror of
git://git.musl-libc.org/musl
synced 2025-03-06 20:48:29 +01:00
fix broken struct shmid_ds on powerpc (32-bit)
the kernel structure has padding of the shm_segsz member up to 64 bits, as well as 2 unused longs at the end. somehow that was overlooked when the powerpc port was added, and it has been broken ever since; applications compiled with the wrong definition do not correctly see the shm_segsz, shm_cpid, and shm_lpid members. fixing the definition just by adding the missing padding would break the ABI size of the structure as well as the position of the time64 shm_atime and shm_dtime members we added at the end. instead, just move one of the unused padding members from the original end (before time64) of the structure to the position of the missing padding. this preserves size and preserves correct behavior of any compiled code that was already working. programs affected by the wrong definition need to be recompiled with the correct one.
This commit is contained in:
parent
4f3d346bff
commit
0fbd7d6683
1 changed files with 1 additions and 1 deletions
|
@ -8,11 +8,11 @@ struct shmid_ds {
|
|||
unsigned long __shm_dtime_lo;
|
||||
unsigned long __shm_ctime_hi;
|
||||
unsigned long __shm_ctime_lo;
|
||||
unsigned long __pad1;
|
||||
size_t shm_segsz;
|
||||
pid_t shm_cpid;
|
||||
pid_t shm_lpid;
|
||||
unsigned long shm_nattch;
|
||||
unsigned long __pad1;
|
||||
unsigned long __pad2;
|
||||
time_t shm_atime;
|
||||
time_t shm_dtime;
|
||||
|
|
Loading…
Add table
Reference in a new issue