From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id C8954385AC29; Tue, 16 Nov 2021 16:02:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C8954385AC29 From: "martin at martin dot st" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/103274] Remaining -freorder-blocks-and-partition/ glitch with Windows SEH Date: Tue, 16 Nov 2021 16:02:49 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 10.3.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: martin at martin dot st X-Bugzilla-Status: WAITING X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Nov 2021 16:02:49 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D103274 Martin Storsj=C3=B6 changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |martin at martin dot st --- Comment #3 from Martin Storsj=C3=B6 --- (In reply to Eric Botcazou from comment #1) > > -freorder-blocks-and-partition sometimes causes a function to end right= in a > > (non-returning) call, but SEH needs at least one more instruction on x8= 6_64. > > Seen in GCC 10.3, 11.2 and git master. Maybe [1] did not cover all the = cases? >=20 > SEH means "Structured Exception Handling" but there is no exception handl= ing > in this chunk of program since it's written in C and compiled without > -fexceptions, so I'm not quite sure what you're expecting here. Even if it doesn't have explicit exception handling, there's still unwind information generated, and the needed "nop" instruction between the trailing "call" instruction and ".seh_endproc" is missing.=