Hi Catalin, On 3/16/20 11:22 AM, Catalin Marinas wrote: > On Mon, Mar 16, 2020 at 10:55:00AM +0000, Vincenzo Frascino wrote: >> On 3/16/20 10:34 AM, Catalin Marinas wrote: [...] > > As I said above, I don't see how removing 'if ((u32)ts >= (1UL << 32))' > makes any difference. This check was likely removed by the compiler > already. > > Also, userspace doesn't have a trivial way to figure out TASK_SIZE and I > can't see anything that tests this in the vdsotest (though I haven't > spent that much time looking). If it's hard-coded, note that arm32 > TASK_SIZE is different from TASK_SIZE_32 on arm64. > > Can you tell what actually is failing in vdsotest if you remove the > TASK_SIZE_32 checks in the arm64 compat vdso? > To me does not seem optimized out. Which version of the compiler are you using? Please find below the list of errors for clock_gettime (similar for the other): passing UINTPTR_MAX to clock_gettime (VDSO): terminated by unexpected signal 7 clock-gettime-monotonic/abi: 1 failures/inconsistencies encountered passing UINTPTR_MAX to clock_gettime (VDSO): terminated by unexpected signal 7 clock-gettime-monotonic-coarse/abi: 1 failures/inconsistencies encountered passing UINTPTR_MAX to clock_gettime (VDSO): terminated by unexpected signal 7 clock-gettime-realtime/abi: 1 failures/inconsistencies encountered passing UINTPTR_MAX to clock_gettime (VDSO): terminated by unexpected signal 7 clock-gettime-realtime-coarse/abi: 1 failures/inconsistencies encountered Please refer to [1] for more details on the test. [1] https://github.com/nlynch-mentor/vdsotest/blob/master/src/clock_gettime_template.c -- Regards, Vincenzo