https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96973
--- Comment #3 from Francois-Xavier Coudert <fxcoudert at gcc dot gnu.org> --- In macho_add_fat(), the code correctly identifies 2 archs, with the right types (first i386, then x86_64). It's then calling macho_add() for the x86_64 arch, with an foffset of 0x0000b00000000000, which looks very weird to me. That code has a FIXME, so maybe that's the issue? /* FIXME: What about cpusubtype? */ foffset = fat_arch.offset; if (swapped) foffset = __builtin_bswap64 (foffset); backtrace_release_view (state, &arch_view, error_callback, data); return macho_add (state, filename, descriptor, foffset, match_uuid, base_address, skip_symtab, error_callback, data, fileline_fn, found_sym);