--- Danny Smith <danny_r_smith_2001@...> wrote: > This is a followup
on this message:
> Re: c++/3099: cygwin: Many g++ EH failures
> rth suggested a simple patch to pe.sc as part of one possible solution. That
> didn't work for me on mingw, but this one does (marking the .eh_frame section
> end with LONG(0) rather than LONG(-1)) :
Testsuite with DW2 EH passes with no new regressions.
The "other" way (using crtbegin/end) also works. In the case of mingw, this is
my crtbegin.S (the same as rth patch:)
and this is all I need for crtend.c, since mingw uses the __main, dtor and ctor
code straight from libgcc.a and everything gets registered with atexit.
/* just an empty label to mark the section end */
static int eh_frame_end __attribute__((section(".eh_frame"))) = 0;
This is perhaps simpler to implement _now_ since it doesn't depend on binutils
patch. In either case, to maintain -mno-cygwin functionality,, it will mean
that a libmingw32.a for cygwin -mno-cygwin will have to contain the version 3.1
__main from libgcc.a.
http://messenger.yahoo.com.au - Yahoo! Messenger
- A great way to communicate long-distance for FREE!