This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Mingw-w64 exception handling configuration


On 05/13/2016 08:22 PM, Sandra Loosemore wrote:
On 05/12/2016 09:27 AM, Sandra Loosemore wrote:
I see that the default EH behavior for a biarch mingw-w64 target GCC is
to use SJLJ for the 32-bit multilib and SEH for the 64-bit one, but that
there are #errors in cygming.h and mingw32.h that prevent you from
configuring a biarch build with --disable-sjlj-exceptions to use DWARF-2
and SEH, respectively.  Is there a deep reason for this, or is this just
a case where nobody updated the configuration logic after SEH was
implemented?  I understand that before that, you had to use SJLJ for
64-bit targets because the DWARF-2 support is restricted to 32-bit
targets, so it was completely reasonable to error out.

Following up my own post....

I did some experimentation, and it looks like this is indeed just a
result of bit-rotten configuration logic.  I hacked up the attached
patch against our local GCC 5.2 branch and built and tested it as a
cross-compiler (C and C++ front ends only).  Test results for the
--disable-sjlj-exceptions case have a few differences compared to
--enable-sjlj-exceptions but they're not particularly better or worse.

Maintainers, any guidance on getting this into trunk?  E.g. I am not
particularly interested in Cygwin target and have not tried to build
that, but this affects code common to both Cygwin and Mingw-w64.
Unfortunately our maintainer for the Windows targets (Kai Tietz) has gone silent.

The patch looks reasonable to me. I'd go with it on the trunk, then backport to the release branch at a later date.

jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]