From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jonathan Larmour To: "amassa@cts.com" Cc: ecos-discuss@sourceware.cygnus.com Subject: [ECOS] Re: Date: Mon, 12 Jun 2000 10:05:00 -0000 Message-id: <39451871.9429C368@redhat.co.uk> References: <200006121700.KAA15361@batman.cts.com> X-SW-Source: 2000-06/msg00121.html "amassa@cts.com" wrote: > I all of the tests from the ecos configuration program and found that the > intr0.exe was the only one that would consistently fail. Do you know what > could cause this? > > Occasionally, I would get a message: > > Program received signal SIGILL, Illegal instruction. > > What does this message mean? It means the CPU tried to run an instruction that isn't a real instruction. Is it repeatable? It may indicate a hardware memory corruption problem if it is random. > Then I ran the twothreads example on my MBX target board and it seems like > it ran through the two threads once and then tried to exit the program. The > output is below. I can't seem to get the example programs to run properly. > Do you know why the threads may be descheduling and the program exiting? > > Entering twothreads' cyg_user_start() function > Beginning execution; thread data is 0 > Beginning execution; thread data is 1 > > Breakpoint 1, __libc_exit (status=286326805) at > //D/PROGRA~1/REDHAT~1/eCos/packages/language/c/libc/v1_3_1/src/stdlib/exit.cxx:82 > Current language: auto; currently c++ You have a breakpoint set on "exit", but since the twothreads program doesn't have a "main", the default libc-defined main is run instead, and that just calls exit straight away. Simply don't set a breakpoint on exit and forget about it :-). Jifl -- Red Hat, 35 Cambridge Place, Cambridge, UK. CB2 1NS Tel: +44 (1223) 728762 "Plan to be spontaneous tomorrow." || These opinions are all my own fault