Blame 0001-ToolChain-Add-lgcc_s-to-the-linker-flags-when-using-.patch

0e26e50
From 09ae3ef5710a89505318ec721c65b6c838147276 Mon Sep 17 00:00:00 2001
0e26e50
From: Tom Stellard <tstellar@redhat.com>
0e26e50
Date: Thu, 7 Feb 2019 21:05:37 -0800
0e26e50
Subject: [PATCH] ToolChain: Add -lgcc_s to the linker flags when using libc++
0e26e50
0e26e50
The libc++ build for Fedora does not include an implementation of
0e26e50
libunwind, so we need to explicitly link against something that
0e26e50
provides this implementation.
0e26e50
---
0e26e50
 clang/lib/Driver/ToolChain.cpp | 1 +
0e26e50
 clang/test/Driver/netbsd.cpp   | 4 ++--
0e26e50
 2 files changed, 3 insertions(+), 2 deletions(-)
0e26e50
0e26e50
diff --git a/lib/Driver/ToolChain.cpp b/lib/Driver/ToolChain.cpp
0e26e50
index 88a627e..cb99844 100644
0e26e50
--- a/lib/Driver/ToolChain.cpp
0e26e50
+++ b/lib/Driver/ToolChain.cpp
0e26e50
@@ -767,6 +767,7 @@ void ToolChain::AddCXXStdlibLibArgs(const ArgList &Args,
0e26e50
   switch (Type) {
0e26e50
   case ToolChain::CST_Libcxx:
0e26e50
     CmdArgs.push_back("-lc++");
0e26e50
+    CmdArgs.push_back("-lgcc_s");
0e26e50
     break;
0e26e50
 
0e26e50
   case ToolChain::CST_Libstdcxx:
0e26e50
diff --git a/test/Driver/netbsd.cpp b/test/Driver/netbsd.cpp
0e26e50
index 4af7d83..ff18c62 100644
0e26e50
--- a/test/Driver/netbsd.cpp
0e26e50
+++ b/test/Driver/netbsd.cpp
0e26e50
@@ -131,7 +131,7 @@
0e26e50
 // ARM-7: clang{{.*}}" "-cc1" "-triple" "armv5e-unknown-netbsd7.0.0-eabi"
0e26e50
 // ARM-7: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so"
0e26e50
 // ARM-7: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}eabi{{/|\\\\}}crti.o"
0e26e50
-// ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++" "-lm" "-lc"
0e26e50
+// ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++" "-lgcc_s" "-lm" "-lc"
0e26e50
 // ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
0e26e50
 
0e26e50
 // AARCH64: clang{{.*}}" "-cc1" "-triple" "aarch64-unknown-netbsd"
0e26e50
@@ -250,7 +250,7 @@
0e26e50
 // S-ARM-7: clang{{.*}}" "-cc1" "-triple" "armv5e-unknown-netbsd7.0.0-eabi"
0e26e50
 // S-ARM-7: ld{{.*}}" "--eh-frame-hdr" "-Bstatic"
0e26e50
 // S-ARM-7: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}eabi{{/|\\\\}}crti.o"
0e26e50
-// S-ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++" "-lm" "-lc"
0e26e50
+// S-ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++" "-lgcc_s" "-lm" "-lc"
0e26e50
 // S-ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
0e26e50
 
0e26e50
 // S-AARCH64: clang{{.*}}" "-cc1" "-triple" "aarch64-unknown-netbsd"
0e26e50
-- 
0e26e50
1.8.3.1
0e26e50