Ticket #2569 (closed bug: fixed)
[PATCH] vregs does not store EBX
| Reported by: | andreasf | Owned by: | axeld |
|---|---|---|---|
| Priority: | normal | Milestone: | R1 |
| Component: | - General | Version: | R1/pre-alpha1 |
| Keywords: | Cc: | ||
| Blocked By: | Has a Patch: | no | |
| Platform: | x86 | Blocking: |
Description
The x86 vregs structure passed to sigaction signal handlers does not store EBP in the ebp field but in _reserved_2[2]. EBX is not stored at all.
Attachments
Change History
Changed 2 years ago by andreasf
-
attachment
arch_thread.cpp-EBP+EBX.diff
added
comment:1 Changed 2 years ago by andreasf
The attached patch changes arch_setup_signal_frame and arch_restore_signal_frame to store EBP in the ebp field and EBX in _reserved_2[2], EBP's previous field.
This was checked against real-world applications (make, sleep, vim, ftp) and helped with the ongoing port of Mono's JIT.
Note: See
TracTickets for help on using
tickets.

Proposed patch