Author: Brad Smith Date: 2022-03-09T20:33:16-05:00 New Revision: 9abeb80e80d0f2e9dd7603491d33fa0683a33ac1
URL: https://github.com/llvm/llvm-project/commit/9abeb80e80d0f2e9dd7603491d33fa0683a33ac1 DIFF: https://github.com/llvm/llvm-project/commit/9abeb80e80d0f2e9dd7603491d33fa0683a33ac1.diff LOG: [Driver][OpenBSD] Disable unwind tables on Arm Arm is not quite ready for unwinding yet. Added: Modified: clang/lib/Driver/ToolChains/OpenBSD.cpp clang/lib/Driver/ToolChains/OpenBSD.h clang/test/Driver/openbsd.c Removed: ################################################################################ diff --git a/clang/lib/Driver/ToolChains/OpenBSD.cpp b/clang/lib/Driver/ToolChains/OpenBSD.cpp index 7f19587f5f824..249a00ebb003a 100644 --- a/clang/lib/Driver/ToolChains/OpenBSD.cpp +++ b/clang/lib/Driver/ToolChains/OpenBSD.cpp @@ -345,3 +345,12 @@ Tool *OpenBSD::buildAssembler() const { Tool *OpenBSD::buildLinker() const { return new tools::openbsd::Linker(*this); } bool OpenBSD::HasNativeLLVMSupport() const { return true; } + +bool OpenBSD::IsUnwindTablesDefault(const ArgList &Args) const { + switch (getArch()) { + case llvm::Triple::arm: + return false; + default: + return true; + } +} diff --git a/clang/lib/Driver/ToolChains/OpenBSD.h b/clang/lib/Driver/ToolChains/OpenBSD.h index 9d668711b91b3..2d4c4e34520b7 100644 --- a/clang/lib/Driver/ToolChains/OpenBSD.h +++ b/clang/lib/Driver/ToolChains/OpenBSD.h @@ -82,9 +82,7 @@ class LLVM_LIBRARY_VISIBILITY OpenBSD : public Generic_ELF { std::string getCompilerRT(const llvm::opt::ArgList &Args, StringRef Component, FileType Type = ToolChain::FT_Static) const override; - bool IsUnwindTablesDefault(const llvm::opt::ArgList &Args) const override { - return true; - } + bool IsUnwindTablesDefault(const llvm::opt::ArgList &Args) const override; LangOptions::StackProtectorMode GetDefaultStackProtectorLevel(bool KernelOrKext) const override { diff --git a/clang/test/Driver/openbsd.c b/clang/test/Driver/openbsd.c index 9a811c1932329..594f90ab3a386 100644 --- a/clang/test/Driver/openbsd.c +++ b/clang/test/Driver/openbsd.c @@ -121,7 +121,8 @@ // Check that unwind tables are enabled // RUN: %clang -target arm-unknown-openbsd -### -S %s 2>&1 | \ -// RUN: FileCheck -check-prefix=UNWIND-TABLES %s +// RUN: FileCheck -check-prefix=NO-UNWIND-TABLES %s // RUN: %clang -target mips64-unknown-openbsd -### -S %s 2>&1 | \ // RUN: FileCheck -check-prefix=UNWIND-TABLES %s // UNWIND-TABLES: "-funwind-tables=2" +// NO-UNWIND-TABLES-NOT: "-funwind-tables=2" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits