[all-commits] [llvm/llvm-project] 92f1f9: [libunwind][cmake] Compile _Unwind* routines with ...

Paul Kirth via All-commits all-commits at lists.llvm.org
Thu Jan 16 13:45:18 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 92f1f99d2ee9ff0f928741fef4fcb58e994302df
      https://github.com/llvm/llvm-project/commit/92f1f99d2ee9ff0f928741fef4fcb58e994302df
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M libunwind/src/CMakeLists.txt

  Log Message:
  -----------
  [libunwind][cmake] Compile _Unwind* routines with -fexceptions (#121819)

When building libunwind with LTO, we found that routines, like
_Unwind_RaiseException were marked `nounwind`. This causes problems when
libunwind is then used with exception throwing code, since many of the
routines are marked `nounwind` and the compiler infers that something
like a try/catch block cannot throw resulting in a miscompile
(see #120657). Similarly, in #56825, it was pointed out that marking
_Unwind_Resume as `nounwind` causes bad exception table generation.

This patch adds the `-fexceptions` flag to the build of the C files that
define these routines, as proposed in #56825.

Fixes #56825 #120657

---------

Co-authored-by: Petr Hosek <phosek at google.com>



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list