This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Signal hang


I am attempting to build libstdc++ 2.90.6 with the following configuration:
 
- Windows NT4 sp3
- cygwin full b20.1
- Mumit's gcc 2.95.2 installed according to instructions
 
The symptom is that when mknumeric_limits runs, it hangs in a loop (CPU is chewed-up and nothing useful happens). When I dig into things, I find that gen-num-limits.exe is where the loop is happening, and, when I dig in farther, I find that the loop is in exception handling code. gen-num-limits is trying to generate divide-by-zero and overflow errors for various intrinsic types; this is where the problem is occurring.
If I run gen-num-limits interactively (so it spews to the terminal), I see that the behavior is not consistent; sometimes it chokes on divide-by-zero for one type and sometimes for another.
 
Here is a small program with which I can reproduce the problem simply (built with no special options):
 
------------------------------ cut here ----------------------------
#include <signal.h>
#include <setjmp.h>
#include <stdio.h>
 

jmp_buf env;
 
void signal_handler(int sig)
{
   fprintf(stderr, "caught a signal\n");
   longjmp(env, sig);
}
 
typedef char   tested_type;
 
int main(int argc, char **argv)
{
   signal(SIGFPE, signal_handler);
   if (setjmp(env) == 0)
   {
      fprintf(stderr, "set the jump return location\n");
 
      tested_type     zero = tested_type();
      tested_type     one = tested_type(1);
      tested_type     junk = one / zero;
   }
 
   fprintf(stderr, "Done!\n");
   return 0;
}
------------------------------ cut here ----------------------------
 
This is essentially the flow of processing that occurrs in gen-num-limits. With tested_type set to an integral type (including bool), sometimes it works, sometimes it loops. Sometimes it just exits.
 
Does anyone know of an issue here?
 
Vadim Egorov posted a message about this a few months ago, but there are no replies on this list.
 
Thanks for any help.
 
-- Matthew Brown
BEGIN:VCARD
VERSION:2.1
N:Brown;Matthew
FN:Matthew Brown
ORG:Concord Software, Inc.
TITLE:Senior Programmer
TEL;WORK;VOICE:(603) 880-8151
TEL;WORK;FAX:(603) 886-1780
ADR;WORK:;;4 John Tyler Street;Merrimack;New Hampshire;03054;USA
LABEL;WORK;ENCODING=QUOTED-PRINTABLE:4 John Tyler Street=0D=0AMerrimack, New Hampshire 03054=0D=0AUSA
X-WAB-GENDER:2
URL:
URL:http://www.concordsw.com
EMAIL;PREF;INTERNET:mbrown@mediadb.net
REV:19991221T225006Z
END:VCARD

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]