Skip to content

Commit 6ddd2e6

Browse files
committed
[GR-41537] Workaround for dsymutil bug on Darwin
1 parent 240cf08 commit 6ddd2e6

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

sulong/projects/com.oracle.truffle.llvm.toolchain.launchers/src/com/oracle/truffle/llvm/toolchain/launchers/common/ClangLikeBase.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,10 +192,15 @@ protected List<String> getArgs() {
192192
return sulongArgs;
193193
}
194194

195-
protected void getCompilerArgs(List<String> sulongArgs) {
195+
protected void getDebugCompilerArgs(List<String> sulongArgs) {
196196
// use -gdwarf-5 instead of -g to enable source file checksums
197-
sulongArgs.addAll(Arrays.asList("-flto=full", "-gdwarf-5", "-O1"));
197+
sulongArgs.add("-gdwarf-5");
198+
}
199+
200+
protected void getCompilerArgs(List<String> sulongArgs) {
201+
sulongArgs.addAll(Arrays.asList("-flto=full", "-O1"));
198202
sulongArgs.addAll(getVectorInstructionSetFlags());
203+
getDebugCompilerArgs(sulongArgs);
199204
}
200205

201206
private List<String> getVectorInstructionSetFlags() {

sulong/projects/com.oracle.truffle.llvm.toolchain.launchers/src/com/oracle/truffle/llvm/toolchain/launchers/darwin/DarwinClangLike.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,15 @@ public static void runClangCL(String[] args) {
5252
new DarwinClangLike(args, ClangLikeBase.Tool.ClangCL, OS.getCurrent(), Arch.getCurrent(), NATIVE_PLATFORM).run();
5353
}
5454

55+
@Override
56+
protected void getDebugCompilerArgs(List<String> sulongArgs) {
57+
// [GR-41537] Use -gdwarf-4 instead of -gdwarf-5, as the latter causes a problem in
58+
// dsymutil:
59+
// > https://github.com/llvm/llvm-project/commit/a17c90daf2e7c3b1817ec29ad6648ce89b927f9a
60+
// This workaround can be removed when LLVM is upgraded to >= 15
61+
sulongArgs.add("-gdwarf-4");
62+
}
63+
5564
@Override
5665
public void runDriver(List<String> sulongArgs, List<String> userArgs, boolean verb, boolean hlp, boolean earlyexit) {
5766
DarwinLinker.runDriverWithSaveTemps(this, sulongArgs, userArgs, verb, hlp, earlyexit, "-Wl,", needLinkerFlags, outputFlagPos);

0 commit comments

Comments
 (0)