https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86848
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The problem is in https://github.com/cjdelisle/cjdns/blob/crashey/memory/BufferAllocator.c /* Define alignment as the size of a pointer which is usually 4 or 8 bytes. */ #define ALIGNMENT sizeof(char*) That should be different; maybe sizeof(uint64_t) or __alignof__(uint64_t). There might be a C99/C14 macro that you could use.