public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] nptl: Fix issue unwinding through sem_wait futex
@ 2020-11-11 21:46 Stafford Horne
  2020-11-12 11:38 ` Adhemerval Zanella
  0 siblings, 1 reply; 3+ messages in thread
From: Stafford Horne @ 2020-11-11 21:46 UTC (permalink / raw)
  To: libc-alpha

Calls to sem_wait may use the __futex_abstimed_wait_cancelable64
function that is built in futex-internal.  If we get a C++ exception,
i.e. thread cancel when we are waiting on a semaphore thread unwinding
fails.  Example test: nptl/tst-cancel24

Adding -fexceptions flag when building futex-internal fixes this.
---
 nptl/Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/nptl/Makefile b/nptl/Makefile
index b30d263ca4..a1ffb6258a 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -220,6 +220,7 @@ CFLAGS-pthread_cond_wait.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-sem_wait.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-sem_timedwait.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-sem_clockwait.c = -fexceptions -fasynchronous-unwind-tables
+CFLAGS-futex-internal.c += -fexceptions -fasynchronous-unwind-tables
 
 # These are the function wrappers we have to duplicate here.
 CFLAGS-fcntl.c += -fexceptions -fasynchronous-unwind-tables
-- 
2.26.2


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-11-12 23:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-11 21:46 [PATCH] nptl: Fix issue unwinding through sem_wait futex Stafford Horne
2020-11-12 11:38 ` Adhemerval Zanella
2020-11-12 23:03   ` Stafford Horne

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).