arm-linux.shlib allow thumb interworking for DT_INIT
This commit is contained in:
parent
9f6cb5de4c
commit
d8ed259bce
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -86,12 +86,8 @@ __ARM_NR_cacheflush = 2 + __ARM_NR_BASE
|
||||
|
||||
_start: .globl _start
|
||||
|
||||
stmdb sp!,{arg1,arg2,arg3, eax,ecx,r6,r7, fp,lr,pc}
|
||||
o_uinit= (3+4+2)*4
|
||||
|
||||
//hatch:
|
||||
// syscall // munmap
|
||||
// ldmia sp!,{arg1,arg2,arg3, eax,ecx,r6,r7, fp,lr,pc}
|
||||
stmdb sp!,{arg1,arg2,arg3, eax,ecx,r6,r7, fp,ip,lr}
|
||||
o_uinit= (3+4+1)*4 // ip
|
||||
|
||||
mov fp,sp
|
||||
sub sp,sp,#4
|
||||
@ -311,10 +307,13 @@ supervise:
|
||||
do_sys7t __NR_mprotect
|
||||
|
||||
//p_unmap
|
||||
//ldmia sp!,{arg1,arg2, pc}
|
||||
add sp,sp,#-p_unmap
|
||||
|
||||
ldmia sp!,{arg1,arg2,arg3, eax,ecx,r6,r7, fp,lr,pc}
|
||||
ldmia sp!,{arg1,arg2, r3} // r3= &hatch
|
||||
// Eventually:
|
||||
// bx r3
|
||||
//hatch:
|
||||
// do_sys7t __NR_munmap
|
||||
ldmia sp!,{arg1,arg2,arg3, eax,ecx,r6,r7, fp,ip,lr}
|
||||
bx ip // allows thumb interworking
|
||||
|
||||
movsl_subr:
|
||||
ldr ecx,[esi,#-4] // 'bl <over>' instruction word
|
||||
|
||||
@ -13,7 +13,7 @@ Idx Name Size VMA LMA File off Algn Flags
|
||||
8 LZMA_DEC10 00000478 00000000 00000000 00000d44 2**0 CONTENTS, RELOC, READONLY
|
||||
9 LZMA_DEC30 00000000 00000000 00000000 000011bc 2**0 CONTENTS, READONLY
|
||||
10 ELFMAINY 00000036 00000000 00000000 000011bc 2**0 CONTENTS, READONLY
|
||||
11 ELFMAINZ 000002a4 00000000 00000000 000011f2 2**0 CONTENTS, RELOC, READONLY
|
||||
11 ELFMAINZ 000002a8 00000000 00000000 000011f2 2**0 CONTENTS, RELOC, READONLY
|
||||
SYMBOL TABLE:
|
||||
00000000 l d NRV2E 00000000 NRV2E
|
||||
00000000 l d NRV2D 00000000 NRV2D
|
||||
@ -257,11 +257,11 @@ OFFSET TYPE VALUE
|
||||
0000014c R_ARM_PC24 ELFMAINZ
|
||||
0000015c R_ARM_PC24 ELFMAINZ
|
||||
00000174 R_ARM_PC24 ELFMAINZ
|
||||
000001c0 R_ARM_PC24 ELFMAINZ
|
||||
000001d0 R_ARM_PC24 ELFMAINZ
|
||||
000001f4 R_ARM_PC24 ELFMAINZ
|
||||
00000208 R_ARM_PC24 ELFMAINZ
|
||||
00000230 R_ARM_PC24 ELFMAINZ
|
||||
00000240 R_ARM_PC24 ELFMAINZ
|
||||
0000024c R_ARM_PC24 ELFMAINZ
|
||||
00000258 R_ARM_PC24 ELFMAINZ
|
||||
000001c4 R_ARM_PC24 ELFMAINZ
|
||||
000001d4 R_ARM_PC24 ELFMAINZ
|
||||
000001f8 R_ARM_PC24 ELFMAINZ
|
||||
0000020c R_ARM_PC24 ELFMAINZ
|
||||
00000234 R_ARM_PC24 ELFMAINZ
|
||||
00000244 R_ARM_PC24 ELFMAINZ
|
||||
00000250 R_ARM_PC24 ELFMAINZ
|
||||
0000025c R_ARM_PC24 ELFMAINZ
|
||||
|
||||
@ -13,7 +13,7 @@ Idx Name Size VMA LMA File off Algn Flags
|
||||
8 LZMA_DEC10 00000478 00000000 00000000 00000d84 2**0 CONTENTS, RELOC, READONLY
|
||||
9 LZMA_DEC30 00000000 00000000 00000000 000011fc 2**0 CONTENTS, READONLY
|
||||
10 ELFMAINY 0000003e 00000000 00000000 000011fc 2**0 CONTENTS, READONLY
|
||||
11 ELFMAINZ 000002c0 00000000 00000000 0000123a 2**0 CONTENTS, RELOC, READONLY
|
||||
11 ELFMAINZ 000002c4 00000000 00000000 0000123a 2**0 CONTENTS, RELOC, READONLY
|
||||
SYMBOL TABLE:
|
||||
00000000 l d NRV2E 00000000 NRV2E
|
||||
00000000 l d NRV2D 00000000 NRV2D
|
||||
@ -257,11 +257,11 @@ OFFSET TYPE VALUE
|
||||
00000150 R_ARM_PC24 ELFMAINZ
|
||||
00000160 R_ARM_PC24 ELFMAINZ
|
||||
00000178 R_ARM_PC24 ELFMAINZ
|
||||
000001d0 R_ARM_PC24 ELFMAINZ
|
||||
000001e0 R_ARM_PC24 ELFMAINZ
|
||||
00000208 R_ARM_PC24 ELFMAINZ
|
||||
0000021c R_ARM_PC24 ELFMAINZ
|
||||
00000244 R_ARM_PC24 ELFMAINZ
|
||||
00000254 R_ARM_PC24 ELFMAINZ
|
||||
00000260 R_ARM_PC24 ELFMAINZ
|
||||
0000026c R_ARM_PC24 ELFMAINZ
|
||||
000001d4 R_ARM_PC24 ELFMAINZ
|
||||
000001e4 R_ARM_PC24 ELFMAINZ
|
||||
0000020c R_ARM_PC24 ELFMAINZ
|
||||
00000220 R_ARM_PC24 ELFMAINZ
|
||||
00000248 R_ARM_PC24 ELFMAINZ
|
||||
00000258 R_ARM_PC24 ELFMAINZ
|
||||
00000264 R_ARM_PC24 ELFMAINZ
|
||||
00000270 R_ARM_PC24 ELFMAINZ
|
||||
|
||||
Loading…
Reference in New Issue
Block a user