https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72815
Alexander Monakov <amonakov at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |amonakov at gcc dot gnu.org --- Comment #7 from Alexander Monakov <amonakov at gcc dot gnu.org> --- Adding the include directive wouldn't help: musl defines the corresponding struct with a different tag, i.e. while glibc does typedef struct _libc_fpstate *fpregset_t; musl does: typedef struct _fpstate { /* matching fields */ } *fpregset_t; On the one hand, it's possible to fix libmpx code to deduce the size of the struct from the public typedef, but on the other hand, it's possible that that is not the only platform-specific assumption in libmpx that will break on musl. I think it's advisable to simply configure gcc with --without-libmpx when targeting musl (unless you're specifically intending to test MPX on musl).