1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2026-01-19 13:21:00 +00:00
serenity/Userland/Libraries
Tim Schumacher 082a7baa3b LibELF: Check if initializers ran instead of trusting s_global_objects
The original heuristic of "a library being in `s_global_objects` means
that it was fully initialized already" doesn't hold up anymore since we
changed the loading order. This was causing us to skip parts of the
initialization of dependency libraries when running dlopen (since it was
the only user of that setting).

Instead, set a flag after we run stage 4 (which is the "run the global
initializers" stage) and check that flag when determining unfinished
dependencies. This entirely replaces the `skip_global_objects` logic.
2022-06-24 11:28:05 +01:00
..
LibArchive tar: Implement support for GNU longname headers 2022-06-06 20:12:30 +01:00
LibAudio LibAudio: Add spec comments to the FlacLoader 2022-06-23 23:16:34 +01:00
LibC LibC: Implement wcsftime using a makeshift solution 2022-06-23 15:45:04 +01:00
LibCards LibGfx: Move other font-related files to LibGfx/Font/ 2022-04-09 23:48:18 +02:00
LibChess LibChess: Change UCI::Command::Type to enum class 2022-04-03 17:36:48 +01:00
LibCodeComprehension LibCodeComprehension: Re-organize code comprehension related code 2022-05-21 18:15:58 +02:00
LibCompress LibCompress: Implement Brotli decompressor 2022-05-21 22:41:40 +02:00
LibConfig LibConfig+ConfigServer: Write config values synchronously 2022-04-26 22:51:49 +02:00
LibCore LibCore+LibGfx: Pass file-path as StringView 2022-06-14 23:00:52 +02:00
LibCoredump Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibCpp LibCpp: Support "FIXME" for comments 2022-06-14 19:07:00 +01:00
LibCrypt Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibCrypto LibCrypto: Add Ed25519 2022-05-12 23:47:13 +04:30
LibDebug Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibDesktop LibCore: Return ErrorOr<pid_t> and support arguments in Process::spawn 2022-05-25 23:14:22 +01:00
LibDeviceTree Libraries: Add LibDeviceTree for manipulating OpenFirmware Device Trees 2021-10-21 19:20:03 -07:00
LibDiff Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibDl Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibDNS LibDNS: Remove the 'DNS' prefix from the various type and class names 2022-04-15 16:34:26 +01:00
LibDSP LibDSP: Fix keyboard glitch in Classic 2022-05-26 10:24:43 +01:00
LibEDID LibEDID: Return "Unknown" string if failed to determine the manufacturer 2022-06-10 22:32:54 +01:00
LibELF LibELF: Check if initializers ran instead of trusting s_global_objects 2022-06-24 11:28:05 +01:00
LibFileSystemAccessClient Userland: Rename WindowServerConnection=>ConnectionToWindowServer 2022-02-25 22:35:12 +01:00
LibGemini AK/ByteBuffer+Everywhere: Handle errors in ByteBuffer::slice() 2022-06-13 15:38:51 +01:00
LibGfx LibGfx: Slap an -O3 optimization #pragma on FastBoxBlurFilter 2022-06-23 19:13:24 +01:00
LibGL LibGL: Add ability to retrieve current clear values from GLContext 2022-06-13 21:45:27 +01:00
LibGPU LibGPU: Do not load LibSoftGPU via symlink inside Serenity 2022-06-13 21:45:27 +01:00
LibGUI LibGUI: Prevent CenterWithinParent Dialogs from appearing offscreen 2022-06-20 16:50:25 +01:00
LibHTTP LibHTTP+LibWeb: Accept Brotli encoded responses 2022-05-21 22:41:40 +02:00
LibImageDecoderClient Userland: Rename IPC::ServerConnection=>IPC::ConnectionToServer 2022-02-25 22:35:12 +01:00
LibIMAP Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibIPC LibIPC: Make noise when shutting down because of an error 2022-06-10 16:35:05 +01:00
LibJS LibJS: Implement stage 3 proposal FinalizationRegistry changes 2022-06-23 10:57:52 +03:00
LibKeyboard Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibLine LibLine: Use the real shown line count around in cleanup() 2022-06-22 15:45:27 +02:00
LibM LibM: Delegate rounding to fully to the FRNDINT instruction 2022-05-07 20:27:05 +02:00
LibMain LibMain: Statically link LibMain 2022-03-24 03:04:57 +01:00
LibMarkdown LibMarkdown: Add strike-through text support to markdown 2022-04-28 22:15:08 +02:00
LibPCIDB Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibPDF Everywhere: Fix a bunch of typos 2022-05-29 15:22:00 +02:00
LibProtocol LibCore+Everywhere: Make Core::Stream::read() return Bytes 2022-04-16 13:27:51 -04:00
LibPthread LibPthread: Set errno in sem_trywait() 2022-06-12 00:28:26 +01:00
LibRegex LibRegex: Check inverse_matched after every op, not just at the end 2022-04-22 10:02:39 +02:00
LibSanitizer Meta+Userland: Add ENABLE_USERSPACE_COVERAGE_COLLECTION CMake option 2022-05-02 01:46:18 +02:00
LibSoftGPU Everywhere: Fix a bunch of typos 2022-05-29 15:22:00 +02:00
LibSQL AK/ByteBuffer+Everywhere: Handle errors in ByteBuffer::slice() 2022-06-13 15:38:51 +01:00
LibSymbolication Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibSyntax Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibSystem Meta+Userland: Add ENABLE_USERSPACE_COVERAGE_COLLECTION CMake option 2022-05-02 01:46:18 +02:00
LibTest Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibTextCodec Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibThreading Libraries: Use default constructors/destructors in LibThreading 2022-03-13 22:34:38 +01:00
LibTimeZone Meta+Userland: Add ENABLE_USERSPACE_COVERAGE_COLLECTION CMake option 2022-05-02 01:46:18 +02:00
LibTLS AK/ByteBuffer+Everywhere: Handle errors in ByteBuffer::slice() 2022-06-13 15:38:51 +01:00
LibUnicode LibUnicode: Upgrade to CLDR version 41.0.0 2022-04-07 08:29:10 -04:00
LibUSBDB Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibVideo Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LibVT LibVT+Kernel: Separate the caret shapes and its steadiness 2022-06-22 12:12:00 +01:00
LibWasm LibWasm: Simplify the return instruction execution code a bit 2022-04-22 21:12:47 +04:30
LibWeb LibWeb: Fix unsafe capture of ref-to-local when setting up load timeout 2022-06-23 20:37:29 +02:00
LibWebSocket LibCore+Everywhere: Make Core::Stream read_line() return StringView 2022-04-16 13:27:51 -04:00
LibWebView LibWeb+LibWebView+WebContent: Get doubleclick events from LibGUI 2022-06-20 12:55:50 +01:00
LibX86 LibX86+disasm: Use an output format closer to objdump 2022-04-07 16:50:34 +02:00
LibXML LibXML+Tests: Consume > in the character data ending ]]> and test it 2022-05-30 00:16:17 +01:00
CMakeLists.txt LibCodeComprehension: Re-organize code comprehension related code 2022-05-21 18:15:58 +02:00