1*b40554a2SAndroid Build Coastguard WorkerFrom 78e15cfed8228b7abf819271154133afaa9520a3 Mon Sep 17 00:00:00 2001
2*b40554a2SAndroid Build Coastguard WorkerFrom: Matthew Maurer <[email protected]>
3*b40554a2SAndroid Build Coastguard WorkerDate: Thu, 13 Jun 2019 11:30:54 -0700
4*b40554a2SAndroid Build Coastguard WorkerSubject: [PATCH 1/2] Add clang specific flags
5*b40554a2SAndroid Build Coastguard Worker
6*b40554a2SAndroid Build Coastguard Worker* Use compiler-rt to provide __muloti4
7*b40554a2SAndroid Build Coastguard Worker* Tell it to still pull in gcc_s for unwinding
8*b40554a2SAndroid Build Coastguard Worker---
9*b40554a2SAndroid Build Coastguard Worker src/trans/codegen_c.cpp | 6 ++++++
10*b40554a2SAndroid Build Coastguard Worker 1 file changed, 6 insertions(+)
11*b40554a2SAndroid Build Coastguard Worker
12*b40554a2SAndroid Build Coastguard Workerdiff --git a/src/trans/codegen_c.cpp b/src/trans/codegen_c.cpp
13*b40554a2SAndroid Build Coastguard Workerindex 2ab4ff35..8c2e1ce6 100644
14*b40554a2SAndroid Build Coastguard Worker--- a/src/trans/codegen_c.cpp
15*b40554a2SAndroid Build Coastguard Worker+++ b/src/trans/codegen_c.cpp
16*b40554a2SAndroid Build Coastguard Worker@@ -638,6 +638,12 @@ namespace {
17*b40554a2SAndroid Build Coastguard Worker                 args.push_back(m_outfile_path_c.c_str());
18*b40554a2SAndroid Build Coastguard Worker                 if( is_executable )
19*b40554a2SAndroid Build Coastguard Worker                 {
20*b40554a2SAndroid Build Coastguard Worker+                    // TODO Only pass this to clang
21*b40554a2SAndroid Build Coastguard Worker+                    // Needed with clang for __muloti4
22*b40554a2SAndroid Build Coastguard Worker+                    args.push_back("--rtlib=compiler-rt");
23*b40554a2SAndroid Build Coastguard Worker+                    // Still link in unwind runtime &c
24*b40554a2SAndroid Build Coastguard Worker+                    args.push_back("-lgcc_s");
25*b40554a2SAndroid Build Coastguard Worker+
26*b40554a2SAndroid Build Coastguard Worker                     for( const auto& crate : m_crate.m_ext_crates )
27*b40554a2SAndroid Build Coastguard Worker                     {
28*b40554a2SAndroid Build Coastguard Worker                         args.push_back(crate.second.m_path + ".o");
29*b40554a2SAndroid Build Coastguard Worker--
30*b40554a2SAndroid Build Coastguard Worker2.22.0.410.gd8fdbe21b5-goog
31*b40554a2SAndroid Build Coastguard Worker
32