https://github.com/adrian-prantl updated https://github.com/llvm/llvm-project/pull/95164
>From 67dd473d7d1e23177caad0cd722eeb341cf63ebc Mon Sep 17 00:00:00 2001 From: Adrian Prantl <apra...@apple.com> Date: Tue, 11 Jun 2024 11:04:00 -0700 Subject: [PATCH] Bump the DWARF version number to 5 on Darwin. The default debug info format for newer versions of Darwin is DWARF 5. https://developer.apple.com/documentation/xcode-release-notes/xcode-16-release-notes rdar://110925733 --- clang/lib/Driver/ToolChains/Darwin.cpp | 12 +++++++++++- clang/test/Driver/debug-options.c | 27 +++++++++++++++++++++++++- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/clang/lib/Driver/ToolChains/Darwin.cpp b/clang/lib/Driver/ToolChains/Darwin.cpp index ed5737915aa96..ca75a622b061e 100644 --- a/clang/lib/Driver/ToolChains/Darwin.cpp +++ b/clang/lib/Driver/ToolChains/Darwin.cpp @@ -1257,7 +1257,17 @@ unsigned DarwinClang::GetDefaultDwarfVersion() const { if ((isTargetMacOSBased() && isMacosxVersionLT(10, 11)) || (isTargetIOSBased() && isIPhoneOSVersionLT(9))) return 2; - return 4; + // Default to use DWARF 4 on OS X 10.11 - macOS 14 / iOS 9 - iOS 17. + if ((isTargetMacOSBased() && isMacosxVersionLT(15)) || + (isTargetIOSBased() && isIPhoneOSVersionLT(18)) || + (isTargetWatchOSBased() && TargetVersion < llvm::VersionTuple(11)) || + (isTargetXROS() && TargetVersion < llvm::VersionTuple(2)) || + (isTargetDriverKit() && TargetVersion < llvm::VersionTuple(24)) || + (isTargetMacOSBased() && + TargetVersion.empty()) || // apple-darwin, no version. + (TargetPlatform == llvm::Triple::BridgeOS)) + return 4; + return 5; } void MachO::AddLinkRuntimeLib(const ArgList &Args, ArgStringList &CmdArgs, diff --git a/clang/test/Driver/debug-options.c b/clang/test/Driver/debug-options.c index 07f6ca9e3902f..0a665f7017d63 100644 --- a/clang/test/Driver/debug-options.c +++ b/clang/test/Driver/debug-options.c @@ -68,7 +68,32 @@ // RUN: %clang -### -c -g %s -target x86_64-apple-driverkit19.0 2>&1 \ // RUN: | FileCheck -check-prefix=G_STANDALONE \ // RUN: -check-prefix=G_DWARF4 %s -// RUN: %clang -### -c -fsave-optimization-record %s \ +// RUN: %clang -### -c -g %s -target x86_64-apple-macosx15 2>&1 \ +// RUN: | FileCheck -check-prefix=G_STANDALONE \ +// RUN: -check-prefix=G_DWARF5 %s +// RUN: %clang -### -c -g %s -target arm64-apple-ios17.0 2>&1 \ +// RUN: | FileCheck -check-prefix=G_STANDALONE \ +// RUN: -check-prefix=G_DWARF4 %s +// RUN: %clang -### -c -g %s -target arm64-apple-ios18.0 2>&1 \ +// RUN: | FileCheck -check-prefix=G_STANDALONE \ +// RUN: -check-prefix=G_DWARF5 %s +// RUN: %clang -### -c -g %s -target arm64_32-apple-watchos11 2>&1 \ +// RUN: | FileCheck -check-prefix=G_STANDALONE \ +// RUN: -check-prefix=G_DWARF5 %s +// RUN: %clang -### -c -g %s -target arm64-apple-tvos18.0 2>&1 \ +// RUN: | FileCheck -check-prefix=G_STANDALONE \ +// RUN: -check-prefix=G_DWARF5 %s +// RUN: %clang -### -c -g %s -target x86_64-apple-driverkit24.0 2>&1 \ +// RUN: | FileCheck -check-prefix=G_STANDALONE \ +// RUN: -check-prefix=G_DWARF5 %s +// RUN: %clang -### -c -g %s -target arm64-apple-xros1 2>&1 \ +// RUN: | FileCheck -check-prefix=G_STANDALONE \ +// RUN: -check-prefix=G_DWARF4 %s +// RUN: %clang -### -c -g %s -target arm64-apple-xros2 2>&1 \ +// RUN: | FileCheck -check-prefix=G_STANDALONE \ +// RUN: -check-prefix=G_DWARF5 %s +// +// RUN: %clang -### -c -fsave-optimization-record %s \ // RUN: -target x86_64-apple-darwin 2>&1 \ // RUN: | FileCheck -check-prefix=GLTO_ONLY %s // RUN: %clang -### -c -g -fsave-optimization-record %s \ _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits