mbox series

[v1,0/2] selftests/mm: thuge-gen defines

Message ID 20240605223637.1374969-1-edliaw@google.com
Headers show
Series selftests/mm: thuge-gen defines | expand

Message

Edward Liaw June 5, 2024, 10:36 p.m. UTC
When compiling with Android bionic, the MAP_HUGE_* and SHM_HUGE_* macros
are redefined because they are included from the uapi by sys/mman.h and
sys/shm.h:

INFO: From Compiling common/tools/testing/selftests/mm/thuge-gen.c:
common/tools/testing/selftests/mm/thuge-gen.c:32:9: warning: 'MAP_HUGE_2MB' macro redefined [-Wmacro-redefined]
   32 | #define MAP_HUGE_2MB    (21 << MAP_HUGE_SHIFT)
      |         ^
external/_main~_repo_rules~prebuilt_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/linux/mman.h:38:9: note: previous definition is here
   38 | #define MAP_HUGE_2MB HUGETLB_FLAG_ENCODE_2MB
      |         ^
common/tools/testing/selftests/mm/thuge-gen.c:33:9: warning: 'MAP_HUGE_1GB' macro redefined [-Wmacro-redefined]
   33 | #define MAP_HUGE_1GB    (30 << MAP_HUGE_SHIFT)
      |         ^
external/_main~_repo_rules~prebuilt_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/linux/mman.h:44:9: note: previous definition is here

This test should probably use the uapi definitions instead of redefining
them.  However, glibc gets struct redefinitions when including sys/shm.h
and linux/shm.h together.  So, add guards for the SHM_HUGE_* macros
instead.

Edward Liaw (2):
  selftests/mm: Include linux/mman.h
  selftests/mm: Guard defines from shm

 tools/testing/selftests/mm/thuge-gen.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

--
2.45.1.467.gbab1589fc0-goog