search for: __cxa_guard_abort

Displaying 5 results from an estimated 5 matches for "__cxa_guard_abort".

2017 Jun 06
3
libc++ failed to link against musl
...t; LLVM_DEFAULT_TARGET_TRIPLE=x86_64-pc-linux-musl >> LLVM_TARGET_ARCH=x86_64 >> LLVM_TARGETS_TO_BUILD=X86 >> >> When linking libc++.so there are a lot of undefined references to __cxa_allocate_exception, __cxa_begin_catch, __cxa_end_catch, __cxa_free_exception, __cxa_guard_abort, __cxa_guard_acquire, __cxa_guard_release, __cxa_pure_virtual, __cxa_rethrow, __cxa_throw, __gxx_personality_v0, _Unwind_Resume, vtable for __cxxabiv1::__class_type_info, vtable for __cxxabiv1::__si_class_type_info, vtable for __cxxabiv1::__vmi_class_type_info. The full output of the linking comman...
2017 Jun 05
3
libc++ failed to link against musl
...CLANG_DEFAULT_RTLIB=compiler-rt LLVM_DEFAULT_TARGET_TRIPLE=x86_64-pc-linux-musl LLVM_TARGET_ARCH=x86_64 LLVM_TARGETS_TO_BUILD=X86 When linking libc++.so there are a lot of undefined references to __cxa_allocate_exception, __cxa_begin_catch, __cxa_end_catch, __cxa_free_exception, __cxa_guard_abort, __cxa_guard_acquire, __cxa_guard_release, __cxa_pure_virtual, __cxa_rethrow, __cxa_throw, __gxx_personality_v0, _Unwind_Resume, vtable for __cxxabiv1::__class_type_info, vtable for __cxxabiv1::__si_class_type_info, vtable for __cxxabiv1::__vmi_class_type_info. The full output of the linking comman...
2011 Nov 07
0
[LLVMdev] weak_odr constant versus weak_odr global
...n be folded, we emit that value as a weak_odr constant. The dynamic initialization code works like this: if (((char*)guard)[0] == 0) { if (__cxa_guard_acquire(guard)) { if (object is zero-initialized) { try { ... initialize object ... } catch (...) { __cxa_guard_abort(guard); throw; } ... enqueue dtor with __cxa_atexit ... } __cxa_guard_release(guard); } } The zero-initialization check ensures that we never run both the static and dynamic initialization, unless the static initialization produces the value 0 (which is...
2011 Nov 07
3
[LLVMdev] weak_odr constant versus weak_odr global
2011/11/7 Rafael Espíndola <rafael.espindola at gmail.com>: > I tried a small variation: > > struct S { >  static const int x; > }; > template<typename T> struct U { >  static const int k; > }; > template<typename T> const int U<T>::k = T::x; > > #ifdef TU1 > extern int f(); > const int S::x = 42; > int main() { >  return f() +
2020 Mar 25
2
Build Clang/LLVM for AVR
Thank you for both of your input. Yes, I try to cross-compile for AVR, the simple ATMEGA328P used in every Arduino Uno. My main motivation being that I hope to be able to use a couple of STL containers, <functional> and <type_traits> on the MCU. Not sure though if this can be reached by going via the clang route. Getting back to the compilation: when I run clang with both both