------- Comment #4 from davek at gcc dot gnu dot org 2010-03-23 03:52 ------- (In reply to comment #3)
> There is a bug in gcc-4_2 in that it won't let you make a new ABI (with a > three > stage build). So how can you switch ABIs? No, there is/was not a bug. Switching ABIs isn't just a matter of changing --enable-sjlj-exceptions to --disable-sjlj-exceptions (or vice-versa); you also have to make sure the backend supports the exception model you're switching to. This was taken care of when Danny added the cygming-crt{begin,end}.c files, some time after 4.2. It's a weakness that there's no way for configure to know whether or not the option is supported and warn you at configure time, but apart from that it's not surprising or a bug that using invalid options to configure GCC produces a compiler that crashes or has bugs. > I was able to convert Cygwin from "coff-pe" object file format to "elf" object > file format (so I can use TLS and other superior elf features). That is > similar > to an ABI conversion but was more of a binutils issue (and then recompiling > gcc > over the new "as" and "ld"). That so doesn't work. As you discovered. > There is a similar problem with using all those fancy options (EG: > --enable-java-awt=gtk,xlib --enable-gtk-cairo --enable-qt-peer --enable-xmlj > --enable-gconf-peer _AND_ also using --enable-multilib) that involves gcc > looking for 64 bit libraries (that don't even exist) in /usr/lib when it > should > look in /lib64. Nope, that was just a problem with there not being any such thing as a /lib64 directory in Cygwin and ELF just fundamentally not working or supported on Windows in any way at all. Closing to tidy up BZ. -- davek at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31761