On Wed, Nov 27, 2019 at 1:37 AM Iurii Zaikin <yzaikin@xxxxxxxxxx> wrote: > Fixes the issue caused by the fact that in C in the expression > of the form -1234L only 1234L is the actual literal, the unary > minus is an operation applied to the literal. Which means that > to express the lower bound for the type one has to negate the > upper bound and subtract 1. > Original error: > Expected test_data[i].expected.tv_sec == timestamp.tv_sec, but > test_data[i].expected.tv_sec == -2147483648 > timestamp.tv_sec == 2147483648 > 1901-12-13 Lower bound of 32bit < 0 timestamp, no extra bits: msb:1 > lower_bound:1 extra_bits: 0 > Expected test_data[i].expected.tv_sec == timestamp.tv_sec, but > test_data[i].expected.tv_sec == 2147483648 > timestamp.tv_sec == 6442450944 > 2038-01-19 Lower bound of 32bit <0 timestamp, lo extra sec bit on: > msb:1 lower_bound:1 extra_bits: 1 > Expected test_data[i].expected.tv_sec == timestamp.tv_sec, but > test_data[i].expected.tv_sec == 6442450944 > timestamp.tv_sec == 10737418240 > 2174-02-25 Lower bound of 32bit <0 timestamp, hi extra sec bit on: > msb:1 lower_bound:1 extra_bits: 2 > not ok 1 - inode_test_xtimestamp_decoding > not ok 1 - ext4_inode_test > > Reported-by: Geert Uytterhoeven geert@xxxxxxxxxxxxxx > Signed-off-by: Iurii Zaikin <yzaikin@xxxxxxxxxx> Thanks, test succeeds (on m68k, arm32, and arm64)! Tested-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds