tree: 9cb5197ba4e09258b21af3a18babb97df26871b8 [path history] [tgz]
  1. include/
  2. tests/
  3. BUILD.gn
  4. cxxabi-dynamic-init.cc
  5. README.md
zircon/kernel/lib/cxxabi-dynamic-init/README.md

Dynamic Initialization Guard Library

This library provides kernel implementations of C++ compiler callouts for acquiring/releasing static initializer guard variables:

  • __cxa_guard_acquire
  • __cxa_guard_release
  • __cxa_guard_abort

The purpose of implementing these functions is to detect, at runtime, the use of function scoped static variables. In development builds (i.e. builds where ZX_DEBUG_ASSERT_IMPLEMENTED is true), calling one of these functions after global constructors have executed will result in a kernel panic.

See also validate-kernel-symbols.py.