• Christophe Leroy's avatar
    selftests: vDSO: fix include order in build of test_vdso_chacha · f8d92fc5
    Christophe Leroy authored
    Building test_vdso_chacha currently leads to following issue:
    
      In file included from /home/chleroy/linux-powerpc/include/linux/limits.h:7,
                       from /opt/powerpc64-e5500--glibc--stable-2024.02-1/powerpc64-buildroot-linux-gnu/sysroot/usr/include/bits/local_lim.h:38,
                       from /opt/powerpc64-e5500--glibc--stable-2024.02-1/powerpc64-buildroot-linux-gnu/sysroot/usr/include/bits/posix1_lim.h:161,
                       from /opt/powerpc64-e5500--glibc--stable-2024.02-1/powerpc64-buildroot-linux-gnu/sysroot/usr/include/limits.h:195,
                       from /opt/powerpc64-e5500--glibc--stable-2024.02-1/lib/gcc/powerpc64-buildroot-linux-gnu/12.3.0/include-fixed/limits.h:203,
                       from /opt/powerpc64-e5500--glibc--stable-2024.02-1/lib/gcc/powerpc64-buildroot-linux-gnu/12.3.0/include-fixed/syslimits.h:7,
                       from /opt/powerpc64-e5500--glibc--stable-2024.02-1/lib/gcc/powerpc64-buildroot-linux-gnu/12.3.0/include-fixed/limits.h:34,
                       from /tmp/sodium/usr/local/include/sodium/export.h:7,
                       from /tmp/sodium/usr/local/include/sodium/crypto_stream_chacha20.h:14,
                       from vdso_test_chacha.c:6:
      /opt/powerpc64-e5500--glibc--stable-2024.02-1/powerpc64-buildroot-linux-gnu/sysroot/usr/include/bits/xopen_lim.h:99:6: error: missing binary operator before token "("
         99 | # if INT_MAX == 32767
            |      ^~~~~~~
      /opt/powerpc64-e5500--glibc--stable-2024.02-1/powerpc64-buildroot-linux-gnu/sysroot/usr/include/bits/xopen_lim.h:102:7: error: missing binary operator before token "("
        102 | #  if INT_MAX == 2147483647
            |       ^~~~~~~
      /opt/powerpc64-e5500--glibc--stable-2024.02-1/powerpc64-buildroot-linux-gnu/sysroot/usr/include/bits/xopen_lim.h:126:6: error: missing binary operator before token "("
        126 | # if LONG_MAX == 2147483647
            |      ^~~~~~~~
    
    This is due to kernel include/linux/limits.h being included instead of
    libc's limits.h.
    
    This is because directory include/ is added through option -isystem so
    it goes prior to glibc's include directory.
    
    Replace -isystem by -idirafter.
    
    But this implies that now tools/include/linux/linkage.h is included
    instead of include/linux/linkage.h, so define a stub for
    SYM_FUNC_START() and SYM_FUNC_END().
    Signed-off-by: default avatarChristophe Leroy <christophe.leroy@csgroup.eu>
    Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
    f8d92fc5
linkage.h 188 Bytes