|Main Archive Page > Month Archives > full-disclosure-uk archives|
On 15 Aug 08, at 11:20, Smiler S wrote:
> From: Andy Davis
> Date: Tue, 12 Aug 2008 22:01:37 +0100
>> Congratulations you are now debugging IOS ;-)
>> One unusual feature, which I have yet to explain is that when the
>> registers are displayed they are all offset by 1 e.g:
> If a vector variable is stored in a register, gcc writes debug
> telling gdb which register the variable is stored in. This mapping is
> changed between gcc2 & gcc3. Since there isn't anything in the debug
> to distinguish code compiled by gcc3 from code compiled by gcc2,
> there is no
> way for gdb to know the right map. gdb supports the gcc3 map.
> If vector code is compiled by gcc2 as in the case of IOS, then the
> assignment will be off by 1.
This isn't vector code, though - the whole register map is off. I'm not particularly familiar with IOS, but my guess is the debugging protocol is a little off from what GDB expects.