• Edward Liaw's avatar
    selftests/mm: guard defines from shm · 8192bc03
    Edward Liaw authored
    thuge-gen.c defines SHM_HUGE_* macros that are provided by the uapi since
    4.14.  These macros get redefined when compiling with Android's bionic
    because its sys/shm.h will import the uapi definitions.
    
    However if linux/shm.h is included, with glibc, sys/shm.h will clash on
    some struct definitions:
    
      /usr/include/linux/shm.h:26:8: error: redefinition of ‘struct shmid_ds’
         26 | struct shmid_ds {
            |        ^~~~~~~~
      In file included from /usr/include/x86_64-linux-gnu/bits/shm.h:45,
                       from /usr/include/x86_64-linux-gnu/sys/shm.h:30:
      /usr/include/x86_64-linux-gnu/bits/types/struct_shmid_ds.h:24:8: note: originally defined here
         24 | struct shmid_ds
            |        ^~~~~~~~
    
    For now, guard the SHM_HUGE_* defines with ifndef to prevent redefinition
    warnings on Android bionic.
    
    Link: https://lkml.kernel.org/r/20240605223637.1374969-3-edliaw@google.comSigned-off-by: default avatarEdward Liaw <edliaw@google.com>
    Reviewed-by: default avatarCarlos Llamas <cmllamas@google.com>
    Reviewed-by: default avatarMuhammad Usama Anjum <usama.anjum@collabora.com>
    Cc: Bill Wendling <morbo@google.com>
    Cc: Carlos Llamas <cmllamas@google.com>
    Cc: Justin Stitt <justinstitt@google.com>
    Cc: Nathan Chancellor <nathan@kernel.org>
    Cc: Nick Desaulniers <ndesaulniers@google.com>
    Cc: Shuah Khan <shuah@kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    8192bc03
thuge-gen.c 5.95 KB