https://github.com/androm3da created https://github.com/llvm/llvm-project/pull/130225
The missing `PT_GNU_EH_FRAME` was causing C++ exception handling test failures in llvm-test-suite. We should unconditionally add this argument like the other drivers do. Discovered-by: Alexey Karyakin <akary...@quicinc.com> Fixes: #129745 >From 716e250a1267ee369c04af364a6ec7174940b493 Mon Sep 17 00:00:00 2001 From: Brian Cain <brian.c...@oss.qualcomm.com> Date: Tue, 4 Mar 2025 18:27:29 -0800 Subject: [PATCH] [hexagon] Enable --eh-frame-hdr The missing `PT_GNU_EH_FRAME` was causing C++ exception handling test failures in llvm-test-suite. We should unconditionally add this argument like the other drivers do. Fixes: #129745 --- clang/lib/Driver/ToolChains/Hexagon.cpp | 1 + clang/test/Driver/hexagon-toolchain-elf.c | 1 + clang/test/Driver/hexagon-toolchain-linux.c | 1 + 3 files changed, 3 insertions(+) diff --git a/clang/lib/Driver/ToolChains/Hexagon.cpp b/clang/lib/Driver/ToolChains/Hexagon.cpp index 7ca5ab9af8810..6ea701a7882d1 100644 --- a/clang/lib/Driver/ToolChains/Hexagon.cpp +++ b/clang/lib/Driver/ToolChains/Hexagon.cpp @@ -313,6 +313,7 @@ constructHexagonLinkArgs(Compilation &C, const JobAction &JA, // handled somewhere else. Args.ClaimAllArgs(options::OPT_static_libgcc); + CmdArgs.push_back("--eh-frame-hdr"); //---------------------------------------------------------------------------- // //---------------------------------------------------------------------------- diff --git a/clang/test/Driver/hexagon-toolchain-elf.c b/clang/test/Driver/hexagon-toolchain-elf.c index be812dda40d57..de2ebfeeda26c 100644 --- a/clang/test/Driver/hexagon-toolchain-elf.c +++ b/clang/test/Driver/hexagon-toolchain-elf.c @@ -555,6 +555,7 @@ // RUN: -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \ // RUN: -mcpu=hexagonv60 \ // RUN: -fuse-ld=lld %s 2>&1 | FileCheck -check-prefix=CHECK382 %s +// CHECK382: "--eh-frame-hdr // CHECK382-NOT: "-march= // CHECK382-NOT: "-mcpu= // ----------------------------------------------------------------------------- diff --git a/clang/test/Driver/hexagon-toolchain-linux.c b/clang/test/Driver/hexagon-toolchain-linux.c index 6f7f3b20f9141..e791353cca07f 100644 --- a/clang/test/Driver/hexagon-toolchain-linux.c +++ b/clang/test/Driver/hexagon-toolchain-linux.c @@ -127,6 +127,7 @@ // RUN: --target=hexagon-unknown-linux-musl %s -### 2>&1 \ // RUN: | FileCheck -check-prefix=CHECK011 %s // CHECK011: InstalledDir: [[INSTALLED_DIR:.+]] +// CHECK011: "--eh-frame-hdr" // CHECK011: crt1.o // CHECK011-NOT: "-lunwind" // CHECK011-NOT: "-lgcc_eh" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits