Namespaces

Records

Functions

  • RawDynamicTlsArray & TpToDynamicTlsBlocks (void * tp)

    Given the thread pointer of any thread, including one just being allocated

    and not actually started yet, access its _dl_tlsdesc_runtime_dynamic_blocks

    variable as an lvalue reference. Just accessing the thread_local variable

    directly is the same as `TpToDynamicTlsBlocks(__builtin_thread_pointer())`.

    Defined at line 83 of file ../../sdk/lib/c/dlfcn/dl/test/../tlsdesc-runtime-dynamic.h

  • SizedDynamicTlsArray MakeDynamicTlsArray (fbl::AllocChecker & ac, size_t n)

    Defined at line 259 of file ../../sdk/lib/c/dlfcn/dl/test/../tlsdesc-runtime-dynamic.h

  • UnsizedDynamicTlsArray ExchangeRuntimeDynamicBlocks (SizedDynamicTlsArray blocks, void * tp)

    Defined at line 282 of file ../../sdk/lib/c/dlfcn/dl/test/../tlsdesc-runtime-dynamic.h

  • SizedDynamicTlsArray AdoptDynamicTlsArray (UnsizedDynamicTlsArray blocks, size_t n)

    In testing cases, when an old array is recovered and its size is known, turn

    it into a SizedDynamicTlsArray again.

    Defined at line 291 of file ../../sdk/lib/c/dlfcn/dl/test/../tlsdesc-runtime-dynamic.h

  • SizedDynamicTlsArray EnlargeDynamicTlsArray (fbl::AllocChecker & ac, SizedDynamicTlsArray & old_array, size_t n)

    In testing cases, an old array of known size can be expanded by moving its

    existing blocks without deleting them but then deleting the old array

    itself. This is only safe when it's known that no thread could be reading

    the old array (for example, it's the current thread's own array) and then

    it's fine if the thread does continue accessing the TLS blocks themselves

    either through previously-acquired pointers or through the new array that

    now owns those TLS blocks. The old array is passed by lvalue reference so

    it can be left untouched if the allocation of the new array fails.

    Defined at line 304 of file ../../sdk/lib/c/dlfcn/dl/test/../tlsdesc-runtime-dynamic.h

  • ptrdiff_t _dl_tlsdesc_runtime_dynamic_split (const elfldltl::Elf<>::TlsDescGot<> & )

    This hook splits the `value` field in half, with index in the high bits.

  • ptrdiff_t _dl_tlsdesc_runtime_dynamic_indirect (const elfldltl::Elf<>::TlsDescGot<> & )

    This hook makes the `value` field a `const TlsdescIndirect*`.

  • template <typename Ostreamtypename Ttypename = std::enable_if_t<std::is_same_v<Error, std::decay_t<T>>>>
    decltype(auto) operator<< (Ostream && osT && error)

    This makes ostream

    <

    <

    things like gtest macros take dl::Error destructively.

    Defined at line 201 of file ../../sdk/lib/c/dlfcn/dl/error.h

Concepts

template <class Iterator> IteratorHasArrow requires (Iterator it) { { it.operator->() } -> std::same_as<typename Iterator::value_type *>; }

Defined at line 21 of file ../../sdk/lib/c/dlfcn/dl/test/../concat-view.h

Variables

StatefulError gPerThreadErrorState

Defined at line 13 of file ../../sdk/lib/c/dlfcn/dl/stateful-error.cc

RawDynamicTlsArray _dl_tlsdesc_runtime_dynamic_blocks

Defined at line 54 of file ../../sdk/lib/c/dlfcn/dl/tls-desc-resolver.cc

const int kOpenSymbolScopeMask

Defined at line 57 of file ../../sdk/lib/c/dlfcn/dl/test/../runtime-dynamic-linker.h

const int kOpenBindingModeMask

Defined at line 58 of file ../../sdk/lib/c/dlfcn/dl/test/../runtime-dynamic-linker.h

const int kOpenFlagsMask

Defined at line 59 of file ../../sdk/lib/c/dlfcn/dl/test/../runtime-dynamic-linker.h