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;