https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109533
Bug ID: 109533 Summary: Build failure with upcoming musl release (sanitizer_platform_limits_posix.cpp:182:31: error: invalid application of 'sizeof' to incomplete type '__sanitizer::stat64') Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: sanitizer Assignee: unassigned at gcc dot gnu.org Reporter: sjames at gcc dot gnu.org CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org, jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, marxin at gcc dot gnu.org Target Milestone: --- The upcoming musl-1.2.4 release drops LFS aliases which were intended as a compatibility shim. Explanation of the change: https://bugs.gentoo.org/903611#c0. The failure is like: ``` libtool: compile: /var/tmp/portage/sys-devel/gcc-12.2.1_p20230121-r1/work/build/./gcc/xgcc -shared-libgcc -B/var/tmp/portage/sys-devel/gcc-12.2.1_p20230121-r1/work/build/./gcc -nostdinc++ -L/var/tmp/portage/sys-devel/gcc-12.2.1_p20230121-r1/work/build/riscv64-gentoo-linux-musl/libstdc++-v3/src -L/var/tmp/portage/sys-devel/gcc-12.2.1_p20230121-r1/work/build/riscv64-gentoo-linux-musl/libstdc++-v3/src/.libs -L/var/tmp/portage/sys-devel/gcc-12.2.1_p20230121-r1/work/build/riscv64-gentoo-linux-musl/libstdc++-v3/libsupc++/.libs -B/usr/riscv64-gentoo-linux-musl/bin/ -B/usr/riscv64-gentoo-linux-musl/lib/ -isystem /usr/riscv64-gentoo-linux-musl/include -isystem /usr/riscv64-gentoo-linux-musl/sys-include -fchecking=1 -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DHAVE_RPC_XDR_H=0 -DHAVE_TIRPC_RPC_XDR_H=0 -I. -I/var/tmp/portage/sys-devel/gcc-12.2.1_p20230121-r1/work/gcc-12-20230121/libsanitizer/sanitizer_common -I.. -I /var/tmp/portage/sys-devel/gcc-12.2.1_p20230121-r1/work/gcc-12-20230121/libsanitizer/include -I /var/tmp/portage/sys-devel/gcc-12.2.1_p20230121-r1/work/gcc-12-20230121/libsanitizer -isystem /var/tmp/portage/sys-devel/gcc-12.2.1_p20230121-r1/work/gcc-12-20230121/libsanitizer/include/system -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin -fno-exceptions -fno-rtti -fomit-frame-pointer -funwind-tables -fvisibility=hidden -Wno-variadic-macros -I../../libstdc++-v3/include -I../../libstdc++-v3/include/riscv64-gentoo-linux-musl -I/var/tmp/portage/sys-devel/gcc-12.2.1_p20230121-r1/work/gcc-12-20230121/libsanitizer/../libstdc++-v3/libsupc++ -std=gnu++14 -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE -I /var/tmp/portage/sys-devel/gcc-12.2.1_p20230121-r1/work/gcc-12-20230121/libsanitizer/../libbacktrace -I ../libbacktrace -I /var/tmp/portage/sys-devel/gcc-12.2.1_p20230121-r1/work/gcc-12-20230121/libsanitizer/../include -include /var/tmp/portage/sys-devel/gcc-12.2.1_p20230121-r1/work/gcc-12-20230121/libsanitizer/libbacktrace/backtrace-rename.h -g -pipe -march=rv64imafd -O2 -D_GNU_SOURCE -MT sanitizer_platform_limits_linux.lo -MD -MP -MF .deps/sanitizer_platform_limits_linux.Tpo -c /var/tmp/portage/sys-devel/gcc-12.2.1_p20230121-r1/work/gcc-12-20230121/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cpp -fPIC -DPIC -o .libs/sanitizer_platform_limits_linux.o /var/tmp/portage/sys-devel/gcc-12.2.1_p20230121-r1/work/gcc-12-20230121/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cpp:65:33: error: invalid application of 'sizeof' to incomplete type '__sanitizer::statfs64' 65 | unsigned struct_statfs64_sz = sizeof(struct statfs64); | ^~~~~~~~~~~~~~~~~~~~~~~ make[4]: *** [Makefile:616: sanitizer_platform_limits_linux.lo] Error 1 ``` This is fixed on the LLVM side in https://github.com/llvm/llvm-project/commit/a5519b99bc73d50f362d6fb306411e9fcb758b53 (https://reviews.llvm.org/D141186) but needs to be backported on the GCC side.