G'day, I am porting software from intel to ARM with linux 2.6.20.4. All goes fine. Except, I got "Unknown signal 64" signal every time I started fresh compiled software on target ARM machine. This is USB bus software. And on start it calls kernel module of a corresponding driver for the USB device. After "Unknown signal 64", software dies but kernel module stays working. What this signal anyway???? Regards, chelex
2.6.20.4 on ARM: "Unknown signal 64"????
Started by ●September 23, 2007
Reply by ●September 24, 20072007-09-24
che_lex wrote:> G'day, > > I am porting software from intel to ARM with linux 2.6.20.4. All goes > fine. Except, I got "Unknown signal 64" signal every time I started > fresh compiled software on target ARM machine. This is USB bus > software. And on start it calls kernel module of a corresponding > driver for the USB device. After "Unknown signal 64", software dies > but kernel module stays working. What this signal anyway???? > > Regards, > chelexIt could be mis-aligned 16 or 32 bit data. The 80x86 family is not fussy about alignment, but ARMs may do surprising things with mis-aligned data. I had similar problems when porting Linux code initially tested on PC's to pure RISC architectures (Sparc, ARM). -- Tauno Voipio tauno voipio (at) iki fi
Reply by ●September 26, 20072007-09-26
On Sep 24, 6:29 pm, Tauno Voipio <tauno.voi...@INVALIDiki.fi> wrote:> che_lex wrote: > > G'day, > > > I am porting software from intel to ARM with linux 2.6.20.4. All goes > > fine. Except, I got "Unknown signal 64" signal every time I started > > fresh compiled software on target ARM machine. This is USB bus > > software. And on start it calls kernel module of a corresponding > > driver for the USB device. After "Unknown signal 64", software dies > > but kernel module stays working. What this signal anyway???? > > > Regards, > > chelex > > It could be mis-aligned 16 or 32 bit data. The 80x86 family > is not fussy about alignment, but ARMs may do surprising > things with mis-aligned data. > > I had similar problems when porting Linux code initially > tested on PC's to pure RISC architectures (Sparc, ARM). > > -- > > Tauno Voipio > tauno voipio (at) iki fiThank you. Obliged for reply. Is it possible to overcome these problems with compile settings or any other way???
Reply by ●September 28, 20072007-09-28
che_lex wrote:> On Sep 24, 6:29 pm, Tauno Voipio <tauno.voi...@INVALIDiki.fi> wrote: > >>che_lex wrote: >> >>>G'day, >> >>>I am porting software from intel to ARM with linux 2.6.20.4. All goes >>>fine. Except, I got "Unknown signal 64" signal every time I started >>>fresh compiled software on target ARM machine. This is USB bus >>>software. And on start it calls kernel module of a corresponding >>>driver for the USB device. After "Unknown signal 64", software dies >>>but kernel module stays working. What this signal anyway???? >> >>>Regards, >>>chelex >> >>It could be mis-aligned 16 or 32 bit data. The 80x86 family >>is not fussy about alignment, but ARMs may do surprising >>things with mis-aligned data. >> >>I had similar problems when porting Linux code initially >>tested on PC's to pure RISC architectures (Sparc, ARM). >> >>-- >> >>Tauno Voipio >>tauno voipio (at) iki fi > > > Thank you. Obliged for reply. > > Is it possible to overcome these problems with compile settings or any > other way???No - sorry. Run the program in debug mode and check the place of the trap. You may find the cause by examining the trapped instruction and the register contents. Of course, you need the sources to find the real culprit. If it is a structure, you may get the desired results by declaring with the attribute 'packed'. Check GCC manual for details. Please not that declaring everything 'packed' may slow your program to a crawl. HTH -- Tauno Voipio