The CvRecordPdb70 structure looks like:
struct CvRecordPdb70 { uint8_t Uuid[16]; llvm::support::ulittle32_t Age; // char PDBFileName[]; };
We are currently including the "Age" in the UUID which seems wrong. I am proposing this fix to avoid including the age in the UUID since it is wrong for Apple targets. We want the UUID of a module to match the UUID that would be found in executable files. I can modify this patch to only do this for Apple vendors in the target triple if needed, but it seemed like this would be the functionality that people would expect on all targets, so I will start with this patch and see what people think.
please add a comment describing the situation (breakpad producing debug ids which don't match the binaries)