[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/27954] New: Exception handling info garbled on x86_64-w64-mingw3
From: |
dominik_strasser at mentor dot com |
Subject: |
[Bug ld/27954] New: Exception handling info garbled on x86_64-w64-mingw32 |
Date: |
Fri, 04 Jun 2021 08:40:44 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=27954
Bug ID: 27954
Summary: Exception handling info garbled on x86_64-w64-mingw32
Product: binutils
Version: 2.35.2
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: ld
Assignee: unassigned at sourceware dot org
Reporter: dominik_strasser at mentor dot com
Target Milestone: ---
I am having a long standing issue with exception handling on
x86_64-w64-mingw32.
The symptom is that I am getting a crash in ntdll!RtlUnwindEx when unwinding
the stack between a thrown assertion and the catch handler.
I am suspecting an issue in binutils(ld) because the crash vanishes when I bind
a different program with the identical objects.
I ran my program through wine which gives some additional information, namely
an illegal EH information:
020c:fixme:seh:RtlVirtualUnwind unknown unwind info version 4 at
00000000080E350C
020c:fixme:seh:dump_unwind_info **** func 4cc6d40-4cc712f
020c:fixme:seh:dump_unwind_info unwind info at 00000000080E350C flags 0 prolog
0xd0 bytes function 00000000050C6D40-00000000050C712F
020c:fixme:seh:dump_unwind_info 0x1: PUSH_MACHFRAME 0
020c:fixme:seh:dump_unwind_info 0x6: pushq %rax
020c:fixme:seh:dump_unwind_info CHANIN 0
According to all documentation I found, only version 1 and 2 are legal values.
Additionally wine prints:
020c:fixme:seh:PUSH_MACHFRAME is not the last opcode.
I cannot provide an example as a lot of source code is involved, but I can
compile binutils myself, and do any experiment you like.
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug ld/27954] New: Exception handling info garbled on x86_64-w64-mingw32,
dominik_strasser at mentor dot com <=