y2038: xtensa: Extend sysvipc data structures
authorArnd Bergmann <arnd@arndb.de>
Tue, 5 May 2015 21:19:43 +0000 (23:19 +0200)
committerArnd Bergmann <arnd@arndb.de>
Fri, 20 Apr 2018 14:20:15 +0000 (16:20 +0200)
commitb497ef570ecdeeaef4335ecc4f712cbaae0918a5
tree59c2325b641b111eced3ed86d45f1ecab7d3835e
parentd0b67de998025210c31bbceb79739df8e28a3d4f
y2038: xtensa: Extend sysvipc data structures

xtensa, uses a nonstandard variation of the generic sysvipc
data structures, intended to have the padding moved around
so it can deal with big-endian 32-bit user space that has
64-bit time_t.

xtensa tries hard to define the structures so they work
in both big-endian and little-endian systems with padding
on the right side.
However, they only succeeded for for two of the three structures,
and their struct shmid64_ds ended up being defined in two
identical copies, and the big-endian one is wrong.

This takes just take the same approach here that we have for
the asm-generic headers and adds separate 32-bit fields for the
upper halves of the timestamps, to let libc deal with the mess
in user space.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arch/xtensa/include/uapi/asm/msgbuf.h
arch/xtensa/include/uapi/asm/sembuf.h
arch/xtensa/include/uapi/asm/shmbuf.h