New issue by newbluemoon on void-packages repository https://github.com/void-linux/void-packages/issues/32139 Description: Building llvm12 on i686-musl fails with ``` [2983/5778] Building CXX object projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.i386.dir/sanitizer_platform_limits_posix.cpp.o FAILED: projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.i386.dir/sanitizer_platform_limits_posix.cpp.o /usr/bin/g++ -DHAVE_RPC_XDR_H=0 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Iprojects/compiler-rt/lib/sanitizer_common -I/builddir/llvm-project-12.0.0.src/compiler-rt/lib/sanitizer_common -Iinclude -I/builddir/llvm-project-12.0.0.src/llvm/include -I/builddir/llvm-project-12.0.0.src/compiler-rt/lib/sanitizer_common/.. -fstack-clash-protection -D_FORTIFY_SOURCE=2 -mtune=i686 -O2 -fPIC -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-class-memaccess -Wno-redundant-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -fdiagnostics-color -ffunction-sections -fdata-sections -Wall -std=c++14 -Wno-unused-parameter -O3 -DNDEBUG -m32 -fPIC -fno-builtin -fno-exceptions -fomit-frame-pointer -funwind-tables -fno-stack-protector -fvisibility=hidden -fno-lto -O3 -g -Wno-variadic-macros -nostdinc++ -fno-rtti -Wframe-larger-than=570 -std=c++14 -MD -MT projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.i386.dir/sanitizer_platform_limits_posix.cpp.o -MF projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.i386.dir/sanitizer_platform_limits_posix.cpp.o.d -o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.i386.dir/sanitizer_platform_limits_posix.cpp.o -c /builddir/llvm-project-12.0.0.src/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp In file included from /builddir/llvm-project-12.0.0.src/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp:174: /builddir/llvm-project-12.0.0.src/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h:1438:64: error: static assertion failed 1438 | COMPILER_CHECK(sizeof(((__sanitizer_##CLASS *)NULL)->MEMBER) == \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ 1439 | sizeof(((CLASS *)NULL)->MEMBER)); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/llvm-project-12.0.0.src/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h:332:44: note: in definition of macro 'COMPILER_CHECK' 332 | #define COMPILER_CHECK(pred) static_assert(pred, "") | ^~~~ /builddir/llvm-project-12.0.0.src/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp:1047:1: note: in expansion of macro 'CHECK_SIZE_AND_OFFSET' 1047 | CHECK_SIZE_AND_OFFSET(dirent, d_ino); | ^~~~~~~~~~~~~~~~~~~~~ /builddir/llvm-project-12.0.0.src/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h:1438:64: error: static assertion failed 1438 | COMPILER_CHECK(sizeof(((__sanitizer_##CLASS *)NULL)->MEMBER) == \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ 1439 | sizeof(((CLASS *)NULL)->MEMBER)); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/llvm-project-12.0.0.src/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h:332:44: note: in definition of macro 'COMPILER_CHECK' 332 | #define COMPILER_CHECK(pred) static_assert(pred, "") | ^~~~ /builddir/llvm-project-12.0.0.src/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp:1053:1: note: in expansion of macro 'CHECK_SIZE_AND_OFFSET' 1053 | CHECK_SIZE_AND_OFFSET(dirent, d_off); | ^~~~~~~~~~~~~~~~~~~~~ /builddir/llvm-project-12.0.0.src/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h:1440:56: error: static assertion failed 1440 | COMPILER_CHECK(offsetof(__sanitizer_##CLASS, MEMBER) == \ | ^ /builddir/llvm-project-12.0.0.src/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h:332:44: note: in definition of macro 'COMPILER_CHECK' 332 | #define COMPILER_CHECK(pred) static_assert(pred, "") | ^~~~ /builddir/llvm-project-12.0.0.src/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp:1053:1: note: in expansion of macro 'CHECK_SIZE_AND_OFFSET' 1053 | CHECK_SIZE_AND_OFFSET(dirent, d_off); | ^~~~~~~~~~~~~~~~~~~~~ /builddir/llvm-project-12.0.0.src/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h:1440:56: error: static assertion failed 1440 | COMPILER_CHECK(offsetof(__sanitizer_##CLASS, MEMBER) == \ | ^ /builddir/llvm-project-12.0.0.src/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h:332:44: note: in definition of macro 'COMPILER_CHECK' 332 | #define COMPILER_CHECK(pred) static_assert(pred, "") | ^~~~ /builddir/llvm-project-12.0.0.src/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp:1055:1: note: in expansion of macro 'CHECK_SIZE_AND_OFFSET' 1055 | CHECK_SIZE_AND_OFFSET(dirent, d_reclen); | ^~~~~~~~~~~~~~~~~~~~~ ninja: build stopped: subcommand failed. ``` #30960 disabled sanitizer for arm*-musl; when I add i686-musl to the list the build succeeds. Would this be the right thing to do? @q66