Follow @Openwall on Twitter for new release announcements and other news
[<prev] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20260626142253.GT27423@brightrain.aerifal.cx>
Date: Fri, 26 Jun 2026 10:22:53 -0400
From: Rich Felker <dalias@...c.org>
To: Martin Wilck <mwilck@...e.com>
Cc: musl@...ts.openwall.com, Benjamin Marzinski <bmarzins@...hat.com>,
	Martin Wilck <martin.wilck@...e.com>
Subject: Re: Use of -fexceptions and __attribute__((cleanup)) in a
 multithreaded application

On Fri, Jun 26, 2026 at 11:23:21AM +0200, Martin Wilck wrote:
> Hello musl experts,
> 
> (please cc me on replies, I'm not subscribed to the musl mailing list)
> 
> we have encountered a problem in the unit tests of the multipath-tools
> package which occurs only with musl libc.
> 
> TL;DR: it appears that a cleanup routine declared with
> __attribute__((cleanup)), using the compiler's -fexceptions switch, is
> not reliably called before exiting a thread.

This is known and intended behavior. pthread_exit is not specified to
do any unwinding, and we very intentionally don't, because it was what
led to the whole recursive dependency and dynamic loading of libgcc_s
mess in glibc and does not admit a light implementation that does not
pull in either dynamic linking machinery or an unwinder.

Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.