From 85f676c30ab147c7c70d1ca463c87610cada9b82 Mon Sep 17 00:00:00 2001 From: Bananymous Date: Sat, 4 Apr 2026 22:32:08 +0300 Subject: [PATCH] DynamicLoader: Calulate max loaded file count based on dtv size dtv should be dynamic but i dont care right now :) --- userspace/libraries/LibC/include/pthread.h | 2 +- userspace/programs/DynamicLoader/main.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/userspace/libraries/LibC/include/pthread.h b/userspace/libraries/LibC/include/pthread.h index f6de8968..bef047cc 100644 --- a/userspace/libraries/LibC/include/pthread.h +++ b/userspace/libraries/LibC/include/pthread.h @@ -51,7 +51,7 @@ struct uthread int cancel_state; int canceled; // FIXME: make this dynamic - uintptr_t dtv[1 + 128]; + uintptr_t dtv[1 + 256]; }; #define PTHREAD_CANCELED (void*)1 diff --git a/userspace/programs/DynamicLoader/main.cpp b/userspace/programs/DynamicLoader/main.cpp index e0fca56d..95ba5298 100644 --- a/userspace/programs/DynamicLoader/main.cpp +++ b/userspace/programs/DynamicLoader/main.cpp @@ -207,7 +207,7 @@ struct LoadedElf const uint8_t* real_strtab_addr; }; -static constexpr size_t s_max_loaded_files = 128; +static constexpr size_t s_max_loaded_files = sizeof(uthread::dtv) / sizeof(*uthread::dtv) - 1; static LoadedElf s_loaded_files[s_max_loaded_files]; static size_t s_loaded_file_count = 0;