<div dir="ltr"><p style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,serif,EmojiFont;font-size:16px;margin-top:0px;margin-bottom:0px">Hi There,</p><p style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,serif,EmojiFont;font-size:16px;margin-top:0px;margin-bottom:0px"><br></p><p style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,serif,EmojiFont;font-size:16px;margin-top:0px;margin-bottom:0px">I'm currently trying to setup a build system using the <a href="https://www.tensorflow.org/performance/xla/">tensorflow XLA compiler</a> and the <a href="https://www.gaisler.com/index.php/products/operating-systems/bcc">gaisler version of clang</a> which generates code for the LEON family of CPU's. </p><p style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,serif,EmojiFont;font-size:16px;margin-top:0px;margin-bottom:0px"><br></p><p style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,serif,EmojiFont;font-size:16px;margin-top:0px;margin-bottom:0px">The problem I've hit is that the C++11 support in this version of clang doesn't appear to be complete, it doesn't support std::atomic. Meanwhile the XLA compiler is producing an IR as well as a header file for inclusion in the project, when compiled and linked this has a dependency on the library call __atomic_load_1. Which then causes a linker error : <span style="font-size:12pt">undefined reference to `__atomic_load_1'</span></p><p style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,serif,EmojiFont;font-size:16px;margin-top:0px;margin-bottom:0px"><br></p><p style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,serif,EmojiFont;font-size:16px;margin-top:0px;margin-bottom:0px">How would I go about adding these functions into this project so that the XLA compiler output can be successfully linked? </p><p style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,serif,EmojiFont;font-size:16px;margin-top:0px;margin-bottom:0px"><br></p><p style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,serif,EmojiFont;font-size:16px;margin-top:0px;margin-bottom:0px">I've tried adding the <a href="https://github.com/llvm-mirror/compiler-rt/blob/master/lib/builtins/atomic.c" rel="noopener noreferrer" class="gmail-m_-1857303306032962736gmail-x_OWAAutoLink" id="gmail-m_-1857303306032962736gmail-LPlnk191028" target="_blank">compiler-rt/lib/builtins/<wbr>atomic.c</a> source into the project but it produced the following compiler warning and failed to link with the same error as above:</p><p style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,serif,EmojiFont;font-size:16px;margin-top:0px;margin-bottom:0px"><br></p><p style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,serif,EmojiFont;font-size:16px;margin-top:0px;margin-bottom:0px"></p><div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,serif,EmojiFont;font-size:16px">sparc-gaisler-elf-clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]</div><div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,serif,EmojiFont;font-size:16px">atomic.c:162:6: warning: #pragma redefine_extname is applicable to external C declarations only; not applied to function '__atomic_load_c' [-Wpragmas]</div><div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,serif,EmojiFont;font-size:16px">void __atomic_load_c(int size, void *src, void *dest, int model) {</div><div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,serif,EmojiFont;font-size:16px"><br></div><div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,serif,EmojiFont;font-size:16px">Am I remotely on the right track to add support for atomic operations?</div><div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,serif,EmojiFont;font-size:16px"><br></div><div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,serif,EmojiFont;font-size:16px">Any ideas would be greatly appreciated.</div><div style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,serif,EmojiFont;font-size:16px"><br></div><p style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,serif,EmojiFont;font-size:16px;margin-top:0px;margin-bottom:0px"></p><p style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,serif,EmojiFont;font-size:16px;margin-top:0px;margin-bottom:0px">Pete</p></div>