Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sun, 07 Nov 2021 19:20:21 +0100
From: Florian Weimer <>
To: James Y Knight <>
Subject: Re: add noexcept to all functions please

* James Y. Knight:

> Glibc defines macros for this purpose, which expand into "throw()" in
> C++ and "__attribute__((__nothrow__))" in GCC-C. The latter is only
> useful in conjunction with an extremely-rarely-used feature, C code
> built with -fexceptions enabled, and is thus probably ignorable.

We build our distributions with -fexceptions
-fasynchronous-unwind-tables.  These features have real uses out there
(although -fasynchronous-unwind-tables is probably more important for
performance analysis and diagnostics).  With glibc, -fexceptions is
desirable to avoid unprotected function pointers on the stack in
conjunction with POSIX cancellation handlers (which can be relevant even
if unwinding does not happen).

I believe the musl cancellation implementation does not use DWARF
unwinding.  I do not know if it cancellation handlers have the same
hardening gap as glibc's with setjmp-based unwinding.


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.