This is the mail archive of the
ecos-discuss@sourceware.cygnus.com
mailing list for the eCos project.
Re:
- To: "amassa at cts dot com" <amassa at cts dot com>
- Subject: [ECOS] Re:
- From: Jonathan Larmour <jlarmour at redhat dot co dot uk>
- Date: Mon, 12 Jun 2000 18:05:53 +0100
- CC: ecos-discuss at sourceware dot cygnus dot com
- Organization: Red Hat UK Ltd.
- References: <200006121700.KAA15361@batman.cts.com>
"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