* Invalid update to pc in instruction
@ 2006-03-28 14:34 Girish Shilamkar
2006-03-28 15:20 ` Daniel Jacobowitz
0 siblings, 1 reply; 2+ messages in thread
From: Girish Shilamkar @ 2006-03-28 14:34 UTC (permalink / raw)
To: gdb
Hi,
While running kgdb kernel I got following error:
(gdb) p/x $pc
$4 = 0xc00ef530
(gdb) n
0xc00ef530 in memcpy () at uaccess.h:363
363 in uaccess.h
Invalid update to pc in instruction
(gdb) disas $pc
Dump of assembler code for function memcpy:
0xc00ef520 <memcpy+0>: stmdb sp!, {r0, r4, lr}
0xc00ef524 <memcpy+4>: subs r2, r2, #4 ; 0x4
0xc00ef528 <memcpy+8>: blt 0xc00ef5dc <memcpy+188>
0xc00ef52c <memcpy+12>: ands r12, r0, #3 ; 0x3
0xc00ef530 <memcpy+16>: pld [r1]
0xc00ef534 <memcpy+20>: bne 0xc00ef5fc <memcpy+220>
0xc00ef538 <memcpy+24>: ands r12, r1, #3 ; 0x3
0xc00ef53c <memcpy+28>: bne 0xc00ef62c <memcpy+268>
I am using cross gdb-6.4 for Intel PXA270 (armv5l) processor.
Kindly let me know in what scenario does the error msg "Invalid update
to pc in instruction" is displayed ?
Thanks & Regards,
-Girish.
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Invalid update to pc in instruction
2006-03-28 14:34 Invalid update to pc in instruction Girish Shilamkar
@ 2006-03-28 15:20 ` Daniel Jacobowitz
0 siblings, 0 replies; 2+ messages in thread
From: Daniel Jacobowitz @ 2006-03-28 15:20 UTC (permalink / raw)
To: Girish Shilamkar; +Cc: gdb
On Tue, Mar 28, 2006 at 02:55:53PM +0530, Girish Shilamkar wrote:
> 363 in uaccess.h
> Invalid update to pc in instruction
> 0xc00ef530 <memcpy+16>: pld [r1]
> I am using cross gdb-6.4 for Intel PXA270 (armv5l) processor.
> Kindly let me know in what scenario does the error msg "Invalid update
> to pc in instruction" is displayed ?
A quick look in the source would find this message is issued in only
two places:
if (bits (this_instr, 22, 25) == 0
&& bits (this_instr, 4, 7) == 9) /* multiply */
error (_("Invalid update to pc in instruction"));
and
if (bit (this_instr, 22))
error (_("Invalid update to pc in instruction"));
The prologue analyzer thinks that pld [r1] is an instruction which sets
PC, incorrectly. It should be updated.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2006-03-28 14:34 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-03-28 14:34 Invalid update to pc in instruction Girish Shilamkar
2006-03-28 15:20 ` Daniel Jacobowitz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox