From da6881a43500c8ff9ab232b263f0ad1b2867e446 Mon Sep 17 00:00:00 2001 From: jas0n098 Date: Fri, 12 Jul 2024 15:08:46 +0000 Subject: [PATCH] Replace deprecated pthread functions pthread_attr_(set,get)stackaddr are deprecated and don't exist anymore on musl libc --- src/core/libraries/kernel/thread_management.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/core/libraries/kernel/thread_management.cpp b/src/core/libraries/kernel/thread_management.cpp index b31e777d2..0838a4d59 100644 --- a/src/core/libraries/kernel/thread_management.cpp +++ b/src/core/libraries/kernel/thread_management.cpp @@ -318,7 +318,8 @@ int PS4_SYSV_ABI scePthreadAttrGetstackaddr(const ScePthreadAttr* attr, void** s return SCE_KERNEL_ERROR_EINVAL; } - int result = pthread_attr_getstackaddr(&(*attr)->pth_attr, stack_addr); + size_t stack_size = 0; + int result = pthread_attr_getstack(&(*attr)->pth_attr, stack_addr, &stack_size); return result == 0 ? SCE_OK : SCE_KERNEL_ERROR_EINVAL; } @@ -340,7 +341,10 @@ int PS4_SYSV_ABI scePthreadAttrSetstackaddr(ScePthreadAttr* attr, void* addr) { return SCE_KERNEL_ERROR_EINVAL; } - int result = pthread_attr_setstackaddr(&(*attr)->pth_attr, addr); + size_t stack_size = 0; + pthread_attr_getstacksize(&(*attr)->pth_attr, &stack_size); + + int result = pthread_attr_setstack(&(*attr)->pth_attr, addr, stack_size); return result == 0 ? SCE_OK : SCE_KERNEL_ERROR_EINVAL; }