Psycho C struct (opens in new tab)
I was compiling something that relies on Translate-C. When I accidentally used aarch64-linux instead of aarch64-linux-gnu as the target, I got an “opaque types have unknown size and therefore cannot be directly embedded in structs” error caused by the following definition in lib/libc/include/aarch64-linux-musl/bits/alltypes.h: #if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec) struct timespec { time_t tv_sec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER==4321); l...
Read the original article