ZXFoundation™ 26h2
Loading...
Searching...
No Matches
cxxabi.cxxm File Reference

minimal cxxabi implementation More...

import arch.s390x.cpu.sync;
import lib.static_vector;
import arch.s390x.cpu.clock;
import arch.s390x.cpu.processor;
import zxfoundation.sync.qspinlock.core;
import zxfoundation.sys.printk.core;
import zxfoundation.sys.syschk.core;
import std;
import lib.error;
import zxfoundation.base.types;
Include dependency graph for cxxabi.cxxm:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void *__dso_handle __attribute__ ((weak))
auto __cxa_allocate_exception (u64) -> void *
auto __cxa_bad_typeid () -> void
auto __cxa_begin_catch (void *) -> void *
auto __cxa_deleted_virtual () -> void
auto __cxa_end_catch () -> void
auto __cxa_free_exception (void *) -> void *
auto __cxa_guard_abort (u64 *g) -> void
auto __cxa_guard_acquire (u64 *g) -> int
auto __cxa_guard_release (u64 *g) -> void
auto __cxa_pure_virtual () -> void
auto __cxa_rethrow () -> void
auto __cxa_throw (void *, void *, void(*)(void *)) -> void
auto __stack_chk_fail () -> void
template<typename... Args>
auto pinfo (std::string_view fmt, Args &&... args) noexcept -> void
void zxfoundation::base::cxxrtse::cxxabi::run_fini_array () noexcept
void zxfoundation::base::cxxrtse::cxxabi::run_global_constructor () noexcept
void zxfoundation::base::cxxrtse::cxxabi::run_global_destructors () noexcept
void zxfoundation::base::cxxrtse::cxxabi::ssp_init () noexcept
 Install the kernel-wide stack-protector guard entropy.
auto zxfoundation::base::cxxrtse::cxxabi::stack_guard () noexcept -> u64
 Read the active kernel-wide stack-protector guard value.

Variables

void(* __fini_array_end [])() __attribute__((weak))
void(* __fini_array_start [])() __attribute__((weak))
void(* __init_array_end [])() __attribute__((weak))
u64 __stack_chk_guard = 0x595A465353500001ULL
 Global stack-protector guard value read by every -fstack-protector function prologue/epilogue.
static constexpr u64 GUARD_IN_PROGRESS = 1ULL << 1
 no_mangle

Detailed Description

minimal cxxabi implementation

SPDX-License-Identifier: Apache-2.0

Function Documentation

◆ ssp_init()

void zxfoundation::base::cxxrtse::cxxabi::ssp_init ( )
exportnoexcept

Install the kernel-wide stack-protector guard entropy.

Note
One value is computed once on the BSP and used kernel-wide; APs do not recompute it. This is what makes the guard migration-safe across CPUs (see the __stack_chk_guard rationale above).

◆ stack_guard()

auto zxfoundation::base::cxxrtse::cxxabi::stack_guard ( ) ->u64
nodiscardexportnoexcept

Read the active kernel-wide stack-protector guard value.

Returns
The current __stack_chk_guard.

Variable Documentation

◆ no_mangle

no_mangle
Initial value:
{
extern void (*__init_array_start[])() __attribute__((weak))