mirror of
https://github.com/skeeto/w64devkit.git
synced 2025-11-04 13:11:39 +03:00
GCC 14 seh_cfa_offset regression fix (#138)
This commit is contained in:
19
src/gcc-seh_cfa_offset.patch
Normal file
19
src/gcc-seh_cfa_offset.patch
Normal file
@@ -0,0 +1,19 @@
|
||||
commit 2f0e0862406a17bb8bf4ad948ae22916bae092a0
|
||||
Author: Eric Botcazou <ebotcazou@adacore.com>
|
||||
Date: Wed May 22 18:10:39 2024 +0200
|
||||
|
||||
Fix internal error in seh_cfa_offset with -O2 -fno-omit-frame-pointer
|
||||
|
||||
The problem directly comes from the -ffold-mem-offsets pass messing up with
|
||||
the prologue and the frame-related instructions, which is a no-no with SEH,
|
||||
so the fix simply disconnects the pass in these circumstances.
|
||||
|
||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115038
|
||||
|
||||
--- a/gcc/fold-mem-offsets.cc
|
||||
+++ b/gcc/fold-mem-offsets.cc
|
||||
@@ -493,3 +493,3 @@ fold_offsets (rtx_insn *insn, rtx reg, bool analyze, bitmap foldable_insns)
|
||||
|
||||
- if (!def || GET_CODE (PATTERN (def)) != SET)
|
||||
+ if (!def || RTX_FRAME_RELATED_P (def) || GET_CODE (PATTERN (def)) != SET)
|
||||
return 0;
|
||||
Reference in New Issue
Block a user