Message ID | cover.1592302358.git.viresh.kumar@linaro.org |
---|---|
Headers | show |
Series | syscalls: Add tests to verify the _time_high fields | expand |
Hi! I've added one more patch that includes config.h in the include/lapi/ipcbuf.h, since otherwise we may not get the HAVE_* macros defined and pushed, thanks.
Hi! Looking at the travis it looks like we do have a problem with missing __kernel_ulong_t on older kernel headers: https://api.travis-ci.org/v3/job/698929344/log.txt Also looking into kernel headers it looks like it's defined to unsigned long unless on x32 which has unsigned long long. It seems that the types __kernel_long_t and __kernel_ulong_t firstly appeared in 3.4 along with the x32 so I guess that we will need a fallback definition in UAPI as well. And given that __kernel_long_t is defined we may need something as lapi/posix_types.h with: #include "linux/posix_types.h" #ifndef __kernel_long_t # if (defined(__x86_64__) && defined(__ILP32__)) typedef long __kernel_long_t typedef unsigned long __kernel_ulong_t # else typedef long long __kernel_long_t typedef unsigned long long __kernel_ulong_t # endif #endif Is that all or do I miss some 32bit ABI with 64bit syscalls?
On 16-06-20, 16:29, Cyril Hrubis wrote: > Hi! > Looking at the travis it looks like we do have a problem with missing > __kernel_ulong_t on older kernel headers: > > https://api.travis-ci.org/v3/job/698929344/log.txt > > Also looking into kernel headers it looks like it's defined to unsigned > long unless on x32 which has unsigned long long. It seems that the types > __kernel_long_t and __kernel_ulong_t firstly appeared in 3.4 along with > the x32 so I guess that we will need a fallback definition in UAPI as > well. And given that __kernel_long_t is defined we may need something > as lapi/posix_types.h with: > > #include "linux/posix_types.h" > > #ifndef __kernel_long_t > # if (defined(__x86_64__) && defined(__ILP32__)) > typedef long __kernel_long_t > typedef unsigned long __kernel_ulong_t > # else > typedef long long __kernel_long_t > typedef unsigned long long __kernel_ulong_t > # endif > #endif > > > Is that all or do I miss some 32bit ABI with 64bit syscalls? That should do I believe. Part of this is already present in tst_timer.h btw.