Fixes to ARM objc_msgSend().

Submitted by:	David Hunt
main
theraven 12 years ago
parent 55bbcd8748
commit 9bb46919f6

@ -46,11 +46,11 @@
and r6, r5, #0xff0000 and r6, r5, #0xff0000
ldr r4, [r4, r6, asr#14] ldr r4, [r4, r6, asr#14]
ldr r4, [r4, #DTABLE_OFFSET] ldr r4, [r4, #DATA_OFFSET]
1: // dtable16 1: // dtable16
and r6, r5, #0xff00 and r6, r5, #0xff00
ldr r4, [r4, r6, asr#6] ldr r4, [r4, r6, asr#6]
ldr r4, [r4, #DTABLE_OFFSET] ldr r4, [r4, #DATA_OFFSET]
2: // dtable8 2: // dtable8
and r6, r5, #0xff and r6, r5, #0xff
ldr ip, [r4, r6, asl#2] ldr ip, [r4, r6, asl#2]
@ -75,6 +75,7 @@
push {\receiver} // &self, _cmd in arguments push {\receiver} // &self, _cmd in arguments
.save {\receiver} .save {\receiver}
mov r0, sp
mov r1, \sel mov r1, \sel
bl CDECL(slowMsgLookup)(PLT) // This is the only place where the CFI directives have to be accurate... bl CDECL(slowMsgLookup)(PLT) // This is the only place where the CFI directives have to be accurate...

Loading…
Cancel
Save