* Software Emulation error
@ 2000-12-21 2:20 Kyle Harris
2000-12-21 12:48 ` Jerry Van Baren
0 siblings, 1 reply; 5+ messages in thread
From: Kyle Harris @ 2000-12-21 2:20 UTC (permalink / raw)
To: linuxppc-embedded
Hi,
I've encountered the following error several times while running various
programs. This one comes from a process attempting to call the times()
function.
Software Emulation memcp/44 NIP: 18424a0 *NIP: 0x398c8d88 code: ffffffda
Illegal Instruction
Can anyone give me a clue as to why this happens?
Thanks, Kyle.
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Software Emulation error
2000-12-21 2:20 Software Emulation error Kyle Harris
@ 2000-12-21 12:48 ` Jerry Van Baren
2000-12-21 13:28 ` Kyle Harris
0 siblings, 1 reply; 5+ messages in thread
From: Jerry Van Baren @ 2000-12-21 12:48 UTC (permalink / raw)
To: linuxppc-embedded
Scrogged memory, bad code. You are trying to execute a floating point
instruction and your processor doesn't support floating point (or it is
disabled). Memories like to go to 0xFFs and that is a floating point
instruction. Most floating point instructions are 0xFE and the 'D'
field supplies the remaining '1' bit. I don't see any valid
instructions for 0xFFFFFFDA (they all have a reserved field of '0's in
them), but the op-code causes a floating point trap if you don't have
floating point available/enabled.
I assume memcp/44 is line 44 in memcp. I would check the parameters to
the memcp() call to make sure you aren't copying garbage over
yourself. If you can look at the assembly code and registers, make
sure the destination wasn't 0x398c8d84 (next instruction pointer - 4).
How was my guess? Did I win $1,000,000 :-)? It would be easier if you
tell us the processor and more about your system.
gvb
At 09:20 PM 12/20/00 -0500, Kyle Harris wrote:
>Hi,
>
>I've encountered the following error several times while running various
>programs. This one comes from a process attempting to call the times()
>function.
>
>Software Emulation memcp/44 NIP: 18424a0 *NIP: 0x398c8d88 code: ffffffda
>Illegal Instruction
>
>Can anyone give me a clue as to why this happens?
>
>Thanks, Kyle.
>
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Software Emulation error
2000-12-21 12:48 ` Jerry Van Baren
@ 2000-12-21 13:28 ` Kyle Harris
2000-12-21 15:48 ` Wolfgang Denk
0 siblings, 1 reply; 5+ messages in thread
From: Kyle Harris @ 2000-12-21 13:28 UTC (permalink / raw)
To: Jerry Van Baren; +Cc: linuxppc-embedded
Jerry Van Baren wrote:
>
> Scrogged memory, bad code. You are trying to execute a floating point
> instruction and your processor doesn't support floating point (or it is
> disabled). Memories like to go to 0xFFs and that is a floating point
> instruction. Most floating point instructions are 0xFE and the 'D'
> field supplies the remaining '1' bit. I don't see any valid
> instructions for 0xFFFFFFDA (they all have a reserved field of '0's in
> them), but the op-code causes a floating point trap if you don't have
> floating point available/enabled.
>
> I assume memcp/44 is line 44 in memcp. I would check the parameters to
> the memcp() call to make sure you aren't copying garbage over
> yourself. If you can look at the assembly code and registers, make
> sure the destination wasn't 0x398c8d84 (next instruction pointer - 4).
>
> How was my guess? Did I win $1,000,000 :-)? It would be easier if you
> tell us the processor and more about your system.
Sorry, I guess more detailed info would be helpful. I'm running a 2.2.13
kernel on a TQM823 board. I have seen this error when using dd to write
to flash. But it's not consistent (sometimes dd works, sometimes it
doesn't). Then I wrote a program using the times() function and it
always fails. I went back and tried this with the original kernel and it
works! I recompiled with and without MATH_EMULATION, but essentially get
the same error. I've tried rebuilding the kernel to what I think are
default settings, but still no luck. What other kernel configs are
relevant?
I'll put your name in the drawing for the $1M. :)
Thanks, Kyle.
> At 09:20 PM 12/20/00 -0500, Kyle Harris wrote:
>
> >Hi,
> >
> >I've encountered the following error several times while running various
> >programs. This one comes from a process attempting to call the times()
> >function.
> >
> >Software Emulation memcp/44 NIP: 18424a0 *NIP: 0x398c8d88 code: ffffffda
> >Illegal Instruction
> >
> >Can anyone give me a clue as to why this happens?
> >
> >Thanks, Kyle.
> >
>
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Software Emulation error
2000-12-21 13:28 ` Kyle Harris
@ 2000-12-21 15:48 ` Wolfgang Denk
2000-12-21 16:05 ` Kyle Harris
0 siblings, 1 reply; 5+ messages in thread
From: Wolfgang Denk @ 2000-12-21 15:48 UTC (permalink / raw)
To: Kyle Harris; +Cc: Jerry Van Baren, linuxppc-embedded
Dear Kyle,
in message <3A42057C.6449819F@nexus-tech.net> you wrote:
>
> Sorry, I guess more detailed info would be helpful. I'm running a 2.2.13
> kernel on a TQM823 board. I have seen this error when using dd to write
> to flash. But it's not consistent (sometimes dd works, sometimes it
> doesn't). Then I wrote a program using the times() function and it
> always fails. I went back and tried this with the original kernel and it
> works! I recompiled with and without MATH_EMULATION, but essentially get
Be careful what your running where - if you use the old glibc-1.99
based tools which assume to have a FPU, you MUST run a kernel with
MATH_EMULATION. If you use the CDK to compile you own stuff with
glibc-2.x you MUST use -msoft-float (in fact that's enabled by
default in the CDK).
I have seen similar problem with the old glibc-1.99 tools; they go
away when you use a "clean" soft-float-only environment.
> the same error. I've tried rebuilding the kernel to what I think are
> default settings, but still no luck. What other kernel configs are
> relevant?
It's not the kernel, it's the application / library (except that the
FP emulation code in 2.2.13 had several problems of it's own).
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd@denx.de
panic: kernel trap (ignored)
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Software Emulation error
2000-12-21 15:48 ` Wolfgang Denk
@ 2000-12-21 16:05 ` Kyle Harris
0 siblings, 0 replies; 5+ messages in thread
From: Kyle Harris @ 2000-12-21 16:05 UTC (permalink / raw)
To: linuxppc-embedded
Wolfgang Denk wrote:
>
> Dear Kyle,
>
> in message <3A42057C.6449819F@nexus-tech.net> you wrote:
> >
> > Sorry, I guess more detailed info would be helpful. I'm running a 2.2.13
> > kernel on a TQM823 board. I have seen this error when using dd to write
> > to flash. But it's not consistent (sometimes dd works, sometimes it
> > doesn't). Then I wrote a program using the times() function and it
> > always fails. I went back and tried this with the original kernel and it
> > works! I recompiled with and without MATH_EMULATION, but essentially get
>
> Be careful what your running where - if you use the old glibc-1.99
> based tools which assume to have a FPU, you MUST run a kernel with
> MATH_EMULATION. If you use the CDK to compile you own stuff with
> glibc-2.x you MUST use -msoft-float (in fact that's enabled by
> default in the CDK).
>
This is a little too wierd. I recompiled with -msoft-float and sure
enough the application runs. I then recompiled w/o -msoft-float and
guess what? It still runs. I had also discovered earlier that it would
run under gdb, but not from the shell. I wonder if I might be having a
hardware problem.
Thanks for you help. Kyle.
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2000-12-21 16:05 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2000-12-21 2:20 Software Emulation error Kyle Harris
2000-12-21 12:48 ` Jerry Van Baren
2000-12-21 13:28 ` Kyle Harris
2000-12-21 15:48 ` Wolfgang Denk
2000-12-21 16:05 ` Kyle Harris
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).