Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

arch: sparc: Override struct __kernel_old_timeval

struct __kernel_old_timeval is supposed to have the same
layout as struct timeval. But, it was inadvarently missed
that __kernel_suseconds has a different definition for
sparc64.
Provide an asm-specific override that fixes it.

Reported-by: Arnd Bergmann <arnd@arndb.de>
Suggested-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
Acked-by: Willem de Bruijn <willemb@google.com>
Cc: sparclinux@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Deepa Dinamani and committed by
David S. Miller
bcb3fc32 7f1bc6e9

+12
+10
arch/sparc/include/uapi/asm/posix_types.h
··· 19 19 typedef int __kernel_suseconds_t; 20 20 #define __kernel_suseconds_t __kernel_suseconds_t 21 21 22 + typedef long __kernel_long_t; 23 + typedef unsigned long __kernel_ulong_t; 24 + #define __kernel_long_t __kernel_long_t 25 + 26 + struct __kernel_old_timeval { 27 + __kernel_long_t tv_sec; 28 + __kernel_suseconds_t tv_usec; 29 + }; 30 + #define __kernel_old_timeval __kernel_old_timeval 31 + 22 32 #else 23 33 /* sparc 32 bit */ 24 34
+2
include/uapi/linux/time.h
··· 63 63 * here, this is probably because it is not y2038 safe and needs to 64 64 * be changed to use another interface. 65 65 */ 66 + #ifndef __kernel_old_timeval 66 67 struct __kernel_old_timeval { 67 68 __kernel_long_t tv_sec; 68 69 __kernel_long_t tv_usec; 69 70 }; 71 + #endif 70 72 71 73 /* 72 74 * The IDs of the various system clocks (for POSIX.1b interval timers):