[coldfire-gnu-discuss] Illegal Operand in libc-2.3.6.so

Nathan Sidwell nathan at codesourcery.com
Thu May 3 14:28:53 UTC 2007


Mouawad, Tony wrote:
> Hi,
> 
> We are currently experiencing Illegal Operand errors intermittently when
> a call is made to printf() or vfprintf().  In either case, the Illegal
> Operand occurs at the following line:
> 
> 0x404391f4 <_IO_new_file_xsputn+110>: 034   /* Illegal Operand */   
> 0x404391f6 <_IO_new_file_xsputn+112>: moveq  #127,%d1
> 0x404391f8 <_IO_new_file_xsputn+114>: cmpl   %d0,%d1
> 0x404391fa <_IO_new_file_xsputn+116>: bcsw   0x404392c8
> <_IO_new_file_xsputn+322>
> 0x404391fe <_IO_new_file_xsputn+120>: clrb   %d1
> 0x40439200 <_IO_new_file_xsputn+122>: movel  %d2,%d4
> 0x40439202 <_IO_new_file_xsputn+124>: subl   %d1,%d4
> 0x40439204 <_IO_new_file_xsputn+126>: bnew   0x404392d6
> <_IO_new_file_xsputn+336>
> 0x40439208 <_IO_new_file_xsputn+130>: tstl   %d2
> 0x4043920a <_IO_new_file_xsputn+132>: beqs   0x404391ca
> <_IO_new_file_xsputn+68>
> 0x4043920c <_IO_new_file_xsputn+134>: movel  %d2,%sp at -
> 0x4043920e <_IO_new_file_xsputn+136>: pea    %a4@(00000000,%d4:l)

If I understand what you're showing here, it's that somehow you're trying to 
execute an instruction at 0x404391f4, which as the disassembler is showing, is 
invalid.  do you know how you arrived there (a jump from somewhere else entirely?)

Has the text image become corrupted somehow?  What is the disassembly of that 
region before your program starts?

The text image should be read only, so if it is becoming corrupted, that would 
imply a kernel fault.

nathan

-- 
Nathan Sidwell    ::   http://www.codesourcery.com   ::         CodeSourcery
nathan at codesourcery.com    ::     http://www.planetfall.pwp.blueyonder.co.uk




More information about the coldfire-gnu-discuss mailing list