[PATCH] vcruntime140_1: Pass frame to unwind handler.
Piotr Caban
piotr.caban at gmail.com
Fri May 29 04:34:42 CDT 2020
I don't see anything wrong in current code when ui->flags == 1. Probably
ui->flags == 3 case only needs the frame.
Thanks,
Piotr
On 5/28/20 10:59 PM, Daniel Lehman wrote:
>> Do you have code that depends on that change?
>
> all unwind handlers i see do. but i realized i can't demonstrate it
> without another change to how the flags in read_unwind_info are
> treated (was trying to send some smaller, hopefully independent
> commits out of order from my working tree first...)
>
> a simple sample that demonstrates it requires a member variable:
> class test {
> public:
> test(int d) : id(d) { printf("ctor %x\n", id); }
> ~test() { printf("dtor %x\n", id); }
> int id;
> };
>
> try
> {
> test t(0x42);
> throw 1;
> }
> catch (int i)
> {
> printf("catch %d\n", i);
> }
>
> the 'return FALSE' for flag 0x2 in read_unwind_info has to be
> commented out. but with that change and this commit for the frame,
> you should see "ctor 0x42" and "dtor 0x42". it crashes or outputs
> garbage values without the frame
>
> thanks
> daniel
>
More information about the wine-devel
mailing list