X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-0.8 required=5.0 tests=BAYES_20,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org MIME-Version: 1.0 Date: Sun, 5 Dec 2010 13:58:27 +0000 Message-ID: Subject: mrtd and duplicate header file loads From: bill stoddart To: cygwin AT cygwin DOT com Content-Type: text/plain; charset=ISO-8859-1 Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Problem. When compiling using gcc and the -mrtd switch, two versions of any included header library file may be loaded, and this generally results in type errors. This error was reported in a more specific form by Angel Robert Lynas back in 2007, though he only refers to time.h. Here is an example program, called c1.c say #include main() { } When compiled with gcc -mrtd c1.c the start of the error reports is In file included from /usr/include/signal.h:5, from c1.c:1: /usr/include/sys/signal.h:171: error: conflicting types for 'sigwaitinfo' /usr/include/cygwin/signal.h:265: error: previous declaration of 'sigwaitinfo' was here So it looks like /usr/include/sys/signal.h has been erroneoulsy included as well as /usr/include/cygwin/signal.h The problem, though present since approx 2007, is absent from earlier versions of Cygwin, e.g. 1.5.18, July 2005. Kind Regards Bill Stoddart w dot j dot stoddart at gmail dot com PS to give some context, this problem has blocked us from porting a virtual machine research project to Cygwin, whioch we would still very much like to do. We will take the __STDCALL route if it cannot be fixed, but we do love the -mrtd switch. -- 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