Random failures while loading iwmmxt compiled binaries

Enrico Scholz enrico.scholz at sigma-chemnitz.de
Mon Jun 28 08:17:03 EDT 2010


Enrico Scholz <enrico.scholz at sigma-chemnitz.de> writes:

> I have the problem that program loading segfaults sometimes or aborts
> ...
> * it is not a compiler bug
>
> * it is not a eglibc bug
>
> * it can be only the kernel (iwmmxt state not restored properly between
>   task switching?) or a bug in the silicon

I was able to reproduce it in a non iwmmxt environment (ld.so + libc) by
the attached program.  Unfortunately, there is still a frequent loading
of ELF binaries involved.

In error case, the complete 16 wrX registers are zeroed although they
were initialized by non-zero values.  wcgrX seems to contain valid
values.


Steps to reproduce:

$ arm-linux-gnueabi-gcc -O2  -g test.c

... create chroot in tmpfs on target ...
... cp a.out to /a in chroot ...

# while /a | /a | /a | /a | /a | /a | /a | /a | /a | /a | /a; do
      :
done


  PC is at 0x83c4
  LR is at 0x84bc
  pc : [<000083c4>]    lr : [<000084bc>]    psr: 20000010
  sp : be9b3cf4  ip : be9b3d10  fp : 00000000
  r10: 00000000  r9 : 00000000  r8 : 00000000
  r7 : 00000000  r6 : 00000012  r5 : 00000004  r4 : 00000000
  r3 : 00000005  r2 : 000052ea  r1 : 00000000  r0 : 00000012



Enrico
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: test.c
URL: <http://lists.infradead.org/pipermail/linux-arm/attachments/20100628/116c0ed5/attachment.c>


More information about the linux-arm mailing list