arm-linux.shlib allow thumb interworking for DT_INIT

This commit is contained in:
John Reiser 2009-10-21 08:13:09 -07:00
parent 9f6cb5de4c
commit d8ed259bce
5 changed files with 1356 additions and 1356 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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

View File

@ -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

View File

@ -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