This is the mail archive of the
mailing list for the GDB project.
pending/2542: Re: ARM single step problem with instruction 0xa5ffffeb
- From: Daniel Jacobowitz <dan at codesourcery dot com>
- To: julien dot lincy at thomson dot net
- Cc: gdb-gnats at sources dot redhat dot com
- Date: Wed, 22 Oct 2008 09:00:10 -0400
- Subject: pending/2542: Re: ARM single step problem with instruction 0xa5ffffeb
- References: <email@example.com>
>Synopsis: Re: ARM single step problem with instruction 0xa5ffffeb
>Arrival-Date: Wed Oct 22 13:08:01 UTC 2008
On Wed, Oct 22, 2008 at 11:41:01AM -0000, firstname.lastname@example.org wrote:
> I have a problem single stepping with a simple C program on ARM, with the instruction 0xa5ffffeb.
> 8538: a5ffffeb ldrgeb pc, [pc, #4075]! ; 952b <__clz_tab+0x6b>
> GDB stops with the error "Invalid update to pc in instruction".
> The C program i'm trying to test is attached.
> The ARM I use is an ARM v1136 (a bit specific...).
I think there's something wrong with your environment. That's not a
valid instruction; PC is always aligned, so pc+4075 is unaligned.
The middle of __clz_tab doesn't have function pointers in it. And you
can't do PC-relative loads with writeback.
GDB is right to complain about that instruction.