• Zhangjin Wu's avatar
    selftests/nolibc: not include limits.h for nolibc · bd27fef3
    Zhangjin Wu authored
    When compile nolibc-test.c with 2.31 glibc, we got such error:
    
        In file included from /usr/riscv64-linux-gnu/include/sys/cdefs.h:452,
                         from /usr/riscv64-linux-gnu/include/features.h:461,
                         from /usr/riscv64-linux-gnu/include/bits/libc-header-start.h:33,
                         from /usr/riscv64-linux-gnu/include/limits.h:26,
                         from /usr/lib/gcc-cross/riscv64-linux-gnu/9/include/limits.h:194,
                         from /usr/lib/gcc-cross/riscv64-linux-gnu/9/include/syslimits.h:7,
                         from /usr/lib/gcc-cross/riscv64-linux-gnu/9/include/limits.h:34,
                         from /labs/linux-lab/src/linux-stable/tools/testing/selftests/nolibc/nolibc-test.c:6:
        /usr/riscv64-linux-gnu/include/bits/wordsize.h:28:3: error: #error "rv32i-based targets are not supported"
           28 | # error "rv32i-based targets are not supported"
    
    Glibc (>= 2.33) commit 5b6113d62efa ("RISC-V: Support the 32-bit ABI
    implementation") fixed up above error.
    
    As suggested by Thomas, defining INT_MIN/INT_MAX for nolibc can remove
    the including of limits.h, and therefore no above error. of course, the
    other libcs still require limits.h, move it to the right place.
    
    The LONG_MIN/LONG_MAX are also defined too.
    Suggested-by: default avatarThomas Weißschuh <linux@weissschuh.net>
    Link: https://lore.kernel.org/linux-riscv/09d60dc2-e298-4c22-8e2f-8375861bd9be@t-8ch.de/Signed-off-by: default avatarZhangjin Wu <falcon@tinylab.org>
    Reviewed-by: default avatarThomas Weißschuh <linux@weissschuh.net>
    Signed-off-by: default avatarWilly Tarreau <w@1wt.eu>
    Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
    bd27fef3
stdint.h 3.16 KB