Port-arm archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: [PATCH] thumb fixes
On Fri, Sep 05, 2008 at 08:49:07AM +0300, Mikko Rapeli wrote:
> > Note that PLT sequences rely on the target
> > being either an ARM instruction or that the CPU running the code is v5t
> > or later (since ldr pc does not interwork correctly on v4t).
>
> I suppose netbsd defaults to v4t, so I hope -march=arm5t will fix this.
Nope, -march=armv5t didn't help.
SIGSEGV comes after this branch in main:
0x00008de0 <main+24>: bl 0x8928 <warnx+12>
And the destination 0x8928 is the undefined instruction in the plt
section.
gdb shows:
(gdb) disassemble 0x8928
No function contains specified address.
(gdb) x 0x8928
0x8928 <warnx+12>: 0x46c04778
objdump -D shows:
00008908 <.plt>:
8908: e52de004 str lr, [sp, #-4]!
890c: e59fe004 ldr lr, [pc, #4] ; 8918 <.plt+0x10>
8910: e08fe00e add lr, pc, lr
8914: e5bef008 ldr pc, [lr, #8]!
8918: 000091b0 streqh r9, [r0], -r0
891c: e28fc600 add ip, pc, #0 ; 0x0
8920: e28cca09 add ip, ip, #36864 ; 0x9000
8924: e5bcf1b0 ldr pc, [ip, #432]!
8928: 46c04778 undefined
892c: e28fc600 add ip, pc, #0 ; 0x0
8930: e28cca09 add ip, ip, #36864 ; 0x9000
8934: e5bcf1a4 ldr pc, [ip, #420]!
8938: 46c04778 undefined
...
If there only was a way to force the plt section to be in ARM mode...
-Mikko
Home |
Main Index |
Thread Index |
Old Index