Kai Tietz <ktiet...@googlemail.com> writes:

>>> mingw part is not ok, as it breaks 32-bit defaulted multilib version
>>> compiler.
>>
>> Can you explain what is going on here?  Could it be fixed by wrapping
>> w32-unwind.h in a #ifdef __x86_64__?
>
> To wrap it into __x86_64__ won't help. The issue is that in
> combination of 32-bit and 64-bit we need to default here to SjLj, as
> 64-bit doesn't support dw2 unwinding stuff and uses here internally
> instead SEH. So if target is 32-bit default, but a multilib version is
> used, we can't use w32-unwind.h.

Wouldn't it work to use DWARF-2 EH in the 32-bit multilib, but SjLj/SEH
for 64-bit?  If so, wrapping i386/w32-unwind.h in #ifdef __x86_64__
would have exactly this effect, irrespective of multilib use.

> Well, wrapping header with __x64_64__ might helper partial. . But this
> might be worth a try. Nevertheless I assume that then at least
> produced DLL names for libgcc could get confused for their extensions.
> Rainer: It would be helpful, if you could try this.

Unfortunately, I cannot: I don't have any access to windows systems, so
I'm relying on the target maintainers or other interested parties to
test.

Thanks.
        Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

Reply via email to