linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* 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).