On 2/22/2013 15:00, Yaakov (Cygwin/X) wrote: > On Thu, 21 Feb 2013 17:59:07 +0100, Corinna Vinschen wrote: >> Exactly. The question is then, what patches from the 4.5.3 gcc were >> not applied upstream and still make sense today. > > I have a copy of the patchset here with a few additions of my own: > > http://cygwin-ports.git.sourceforge.net/git/gitweb.cgi?p=cygwin-ports/gcc4;a=tree > > classpath-0.98-*.patch: patches carried over from my port of GNU > Classpath; these are required. > Only classpath-0.98-build.patch applies. > config-rpath.patch: IIUC can be avoided with > --without-libiconv-prefix --without-libintl-prefix configure flags. > Still applies. > gcc45-ada.diff: switches Cygwin GNAT from a Windows hybrid to pure *NIX > code, and enable shared libgnat. Last time I tried it, code linked with > the libgnat DLL didn't exit properly, so this may need more work. > > gcc45-ehdebug.diff: just some debugging printf()s AFAICS. > > gcc45-java-FIONREAD.diff: important fix a bug in NIO; this is a must. > > gcc45-libffi.diff: makes FFI lib and header install in GCC dirs instead > of system dirs. Perhaps this version shouldn't be installed at all > (only the convenience library is actually used in libjava) and ship the > standalone libffi-3.0.11 instead. > > gcc45-libstdc.diff: The -no-undefined hunks are required, but the > -bindir flags aren't necessary with cygport. -Wl,--enable-auto-import > is already the default, but it seems that is insufficient, hence all > the dllimport/dllexport. Honestly I'm not sure why though. > > gcc45-misc-core.diff: not sure what this is for. > Does not currently apply. > gcc45-mnocygwin.diff: obsolete. > Noted. > gcc45-peflags.diff: link only executables with --tsaware, and also use > --large-address-aware. This too is a must. > Not upstream yet. Does not apply, but simple enough to fix. > gcc45-sig-unwind.diff: explained therein; may have been upstreamed > already. > Does not apply. > gcc45-skiptest.diff: test is ELF-specific. > Still applies. > There is one more patch required from the Fedora Cygwin toolchain: > > http://fedora-cygwin.git.sourceforge.net/git/gitweb.cgi?p=fedora-cygwin/cygwin-gcc;a=tree > > gcc45-gc-win32-threads.diff: the native gcc4 was last built before > pthread_getaddr_np() was added, so this is a new requirement. > OK, I'll look into that. I have not look closely how the patches fail to apply, just took a glance at cygport prep output.