I would expect symbols to be worse, but not broken in this configuration.
It looks like change is caused by passing -O to clang when linking the binaries. Without -O, debugging symbols are present and functional. With -O, all symbols and stacks are broken.
It's something in the DWARF info emitted by ILC.