From: Siva Chandra Reddy Date: Thu, 9 Jun 2022 06:40:55 +0000 (+0000) Subject: [libc] Add compile options to pthread_create target. X-Git-Tag: upstream/15.0.7~5323 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=214be9d1cd1601a5b4f8c1b598c3264affdbcc0a;p=platform%2Fupstream%2Fllvm.git [libc] Add compile options to pthread_create target. The compile options now match that of thrd_create. Two compile options are of importance: 1. -O3 - This is required so that stack is not used between the clone syscall and the start function in the child thread. 2. -fno-omit-frame-pointer - This is required so that we can sniff out the thread start args from the child thread's stack memory. Without these two options, pthread_create will exhibit flaky behavior. Reviewed By: lntue, michaelrj Differential Revision: https://reviews.llvm.org/D127381 --- diff --git a/libc/src/pthread/CMakeLists.txt b/libc/src/pthread/CMakeLists.txt index 828fee2..d44eef0 100644 --- a/libc/src/pthread/CMakeLists.txt +++ b/libc/src/pthread/CMakeLists.txt @@ -253,6 +253,9 @@ add_entrypoint_object( libc.include.errno libc.include.pthread libc.src.__support.threads.thread + COMPILE_OPTIONS + -O3 + -fno-omit-frame-pointer ) add_entrypoint_object(