aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/X86MCAsmInfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/X86/X86MCAsmInfo.cpp')
-rw-r--r--lib/Target/X86/X86MCAsmInfo.cpp14
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;
}