• Zhangjin Wu's avatar
    selftests/nolibc: add _LARGEFILE64_SOURCE for musl · 5f2de00e
    Zhangjin Wu authored
    _GNU_SOURCE Implies _LARGEFILE64_SOURCE in glibc, but in musl, the
    default configuration doesn't enable _LARGEFILE64_SOURCE.
    
    >From include/dirent.h of musl, getdents64 is provided as getdents when
    _LARGEFILE64_SOURCE is defined.
    
        #if defined(_LARGEFILE64_SOURCE)
        ...
        #define getdents64 getdents
        #endif
    
    Let's define _LARGEFILE64_SOURCE to fix up this compile error:
    
        tools/testing/selftests/nolibc/nolibc-test.c: In function ‘test_getdents64’:
        tools/testing/selftests/nolibc/nolibc-test.c:453:8: warning: implicit declaration of function ‘getdents64’; did you mean ‘getdents’? [-Wimplicit-function-declaration]
          453 |  ret = getdents64(fd, (void *)buffer, sizeof(buffer));
              |        ^~~~~~~~~~
              |        getdents
        /usr/bin/ld: /tmp/ccKILm5u.o: in function `test_getdents64':
        nolibc-test.c:(.text+0xe3e): undefined reference to `getdents64'
        collect2: error: ld returned 1 exit status
    Reviewed-by: default avatarThomas Weißschuh <linux@weissschuh.net>
    Signed-off-by: default avatarZhangjin Wu <falcon@tinylab.org>
    Signed-off-by: default avatarWilly Tarreau <w@1wt.eu>
    5f2de00e
nolibc-test.c 37.4 KB