diff options
Diffstat (limited to 'lib/Target/X86/X86MCAsmInfo.cpp')
-rw-r--r-- | lib/Target/X86/X86MCAsmInfo.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/Target/X86/X86MCAsmInfo.cpp b/lib/Target/X86/X86MCAsmInfo.cpp index f45fdf5..8db12cc 100644 --- a/lib/Target/X86/X86MCAsmInfo.cpp +++ b/lib/Target/X86/X86MCAsmInfo.cpp @@ -67,6 +67,20 @@ X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(const Triple &Triple) { SupportsDebugInformation = true; DwarfUsesInlineInfoSection = true; + // Disable debugging information for older targets that do not support + // .loc and are broken by regressions in .debug_line entries. + if (Triple.getOS() == Triple::Darwin) { + switch (Triple.getDarwinMajorNumber()) { + case 7: + case 8: + case 9: + SupportsDebugInformation = false; + break; + default: + break; + } + } + // Exceptions handling ExceptionsType = ExceptionHandling::Dwarf; } |