After some extended research and trials with a fresh OpenSSL master clone openssl32_trial this seems to be a problem of the cygwin ports of GCC. I've added some information about this - maybe one of the developers listening in on the OpenSSL project could have a closer look.
Wrt OpenSSL development this is not a serious problem, merely annoying as this requires separate 32-bit and 64-bit cygwin installations to maintain. The 'cygcheck -p' seg fault is also not serious, merely similarly annoying as the 32-bit installation is required to find out which package contains a specific binary. Any useful advice will be greatly appreciated to get away from having to maintain two separate development environments again. Cheers Lakhsa P.S.: Trial for the interested: OpenSSL build configs 'Cygwin' and 'debug-Cygwin' with gcc options '-m32 -march=i686' to build 32-bit code. Problem is present in the cygwin64 packages for gcc-core 4.8.3-2 as well as gcc-core 4.8.2-3. Error occurs very early in the build process when building crypto/objects: make[2]: Entering directory '/cygdrive/d/dev/openssl/openssl32_trial/crypto/objects' gcc [...] -c -o obj_dat.o obj_dat.c obj_dat.c: In function ‘OBJ_create_objects’: obj_dat.c:781:2: error: unrecognizable insn: } ^ (insn 30 29 31 6 (set (reg/f:SI 122) (symbol_ref:SI ("__ctype_ptr__") [flags 0x440] <var_decl 0x6ffffd28630 __ctype_ptr__>)) obj_dat.c:747 -1 (nil)) obj_dat.c:781:2: internal compiler error: in extract_insn, at recog.c:2154 This problem crops up on a regular basis in the gcc.gnu.org bug tracker, e.g. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57099. It is not present in cygwin64 package gcc-core-4.9.0-1, but that version results in a linker error very late in the build process when compiling/linking apps code. That's may be due to inconsistent/incomplete installation, so another problem. /usr/bin/ld: cannot find -lgcc_s /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.0//libgcc.a when searching for -lgcc /usr/bin/ld: cannot find -lgcc /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.0/../../../libcygwin.a when searching for -lcygwin /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.0/../../../libcygwin.a when searching for -lcygwin /usr/bin/ld: cannot find -lcygwin /usr/bin/ld: cannot find -ladvapi32 /usr/bin/ld: cannot find -lshell32 /usr/bin/ld: cannot find -luser32 /usr/bin/ld: cannot find -lkernel32 /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.0//libgcc_s.dll.a when searching for -lgcc_s /usr/bin/ld: cannot find -lgcc_s /usr/bin/ld: cannot find -lgcc collect2: error: ld returned 1 exit status On 05/07/2014 22:15, Lakhsa wrote: > G'Day, > > after having updated my cygwin64 installation (Win7-64) for OpenSSL > development I have encountered 2 problems: > > * compiling for 32-bit with '-m32 -i686' now fails with internal > compiler error: in extract_insn, at recog.c:2154 > * cygcheck -p [any_binary] produces a seg fault > > Both used to work until last update of the cygwin64-only setup end of > June 2014 from FTP server at Uni Erlangen.Both problems seem to have > occurred in the past and seem to have been fixed in due course, so I > wonder how they could crop up again. > > I've installed a completely fresh copy of cygwin64 (using > cygwin_setup-x86_64_2.850.exe) and also a new copy of cygwin32 (using > setup-x86_2.850.exe) via FTP. The cygwin64 gcc is 4.8.3-2 whereas the > cygwin32 version is 4.3.8-1, but the 32-bit problem for the cygwin64 gcc > version persists. > > Any idea what could be the cause of this and how to track it down viz. > correct it would be enormously appreciated. > > Thanx for your attention, > > -- > Lakhsa > > > -- > Problem reports: http://cygwin.com/problems.html > FAQ: http://cygwin.com/faq/ > Documentation: http://cygwin.com/docs.html > Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple > > > -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple