about summary refs log tree commit diff
path: root/src/setjmp/arm/setjmp.S
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2021-07-06 21:12:02 -0400
committerRich Felker <dalias@aerifal.cx>2021-07-06 21:12:02 -0400
commit0fbd7d6683d04dcaa636df53e7fce69ece746241 (patch)
tree0dc5d444a0c14b9a241c1d7785ef2cab06f6fd21 /src/setjmp/arm/setjmp.S
parent4f3d346bffdf9ed2b1803653643dc31242490944 (diff)
downloadmusl-0fbd7d6683d04dcaa636df53e7fce69ece746241.tar.gz
musl-0fbd7d6683d04dcaa636df53e7fce69ece746241.tar.xz
musl-0fbd7d6683d04dcaa636df53e7fce69ece746241.zip
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.
Diffstat (limited to 'src/setjmp/arm/setjmp.S')
0 files changed, 0 insertions, 0 deletions