[clang] 8f57f68 - Bump the DWARF version number to 5 on Darwin. (#95164)
Adrian Prantl via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 13 09:52:20 PDT 2024
Author: Adrian Prantl
Date: 2024-06-13T09:52:11-07:00
New Revision: 8f57f6895724f858c9db924200524fad86cc4f11
URL: https://github.com/llvm/llvm-project/commit/8f57f6895724f858c9db924200524fad86cc4f11
DIFF: https://github.com/llvm/llvm-project/commit/8f57f6895724f858c9db924200524fad86cc4f11.diff
LOG: Bump the DWARF version number to 5 on Darwin. (#95164)
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
(relanding 8f6acd973a38da6dce45faa676cbb51da37f72e5 with the bridgeOS platform check removed)
Added:
Modified:
clang/lib/Driver/ToolChains/Darwin.cpp
clang/test/Driver/debug-options.c
Removed:
################################################################################
diff --git a/clang/lib/Driver/ToolChains/Darwin.cpp b/clang/lib/Driver/ToolChains/Darwin.cpp
index ed5737915aa96..d0b3a88845e4c 100644
--- a/clang/lib/Driver/ToolChains/Darwin.cpp
+++ b/clang/lib/Driver/ToolChains/Darwin.cpp
@@ -1257,7 +1257,16 @@ 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.
+ 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 \
More information about the cfe-commits
mailing list