Adapt around qemu-arm placement of ET_DYN and stack.
modified: stub/src/arm.v4a-linux.elf-entry.S modified: ../.github/travis_testsuite_1.sh plus arm*.elf-entry.h, arm*.elf-entry.bin.dump
This commit is contained in:
+642
-640
File diff suppressed because it is too large
Load Diff
+641
-640
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -146,13 +146,21 @@ unfold: // in: r11= &f_exp; lr= &O_BINFO
|
||||
addeq r9,r9,r7 @ brk(0)
|
||||
add r9,r9,#PAGE_SIZE
|
||||
sub r9,r9,#1
|
||||
mov r9,r9,lsr #PAGE_SHIFT
|
||||
mov r9,r9,lsl #PAGE_SHIFT @ ADRU
|
||||
ldr r8,[lr] @ {fold_begin}.sz_unc
|
||||
add r6,r6,r9 @ ADRX= O_BINFO + new_base
|
||||
sub r0,lr,r7 @ &eof - &Elf_Ehdr
|
||||
add r10,r8,r0 @ .sz_unc + sizeof(this_stub) == LENU
|
||||
add r10,r10,#2*4 @ 2-instr subr for mflg
|
||||
|
||||
sub r0,sp,#8<<20 @ allow 8MB stack (qemu ET_DYN puts below Elf_Ehdr)
|
||||
cmp r0,#0xf7<<24 @ qemu wants for itself 0xf7000000 and above
|
||||
movhs r0,#0xf7<<24 @ min(0xf7000000, sp - 8M)
|
||||
sub r0,r0,r10 @ LENU must fit
|
||||
cmp r9,r0
|
||||
movhs r9,r0 @ move below
|
||||
|
||||
mov r9,r9,lsr #PAGE_SHIFT @ round down
|
||||
mov r9,r9,lsl #PAGE_SHIFT @ new ADRU
|
||||
add r6,r6,r9 @ ADRX= O_BINFO + new_base(==ADRU)
|
||||
ldr r3,[r11, #mflg - f_exp] // MAP_{PRIVATE|ANON}
|
||||
sub r11,r11,r7 @ offset(f_exp)
|
||||
add r11,r11,r9 @ new f_exp
|
||||
|
||||
@@ -13,7 +13,7 @@ Idx Name Size VMA LMA File off Algn Flags
|
||||
8 LZMA_DEC10 00000478 00000000 00000000 00000d48 2**0 CONTENTS, RELOC, READONLY
|
||||
9 LZMA_DEC30 00000000 00000000 00000000 000011c0 2**0 CONTENTS, READONLY
|
||||
10 ELFMAINY 00000036 00000000 00000000 000011c0 2**0 CONTENTS, READONLY
|
||||
11 ELFMAINZ 000000ec 00000000 00000000 000011f6 2**0 CONTENTS, RELOC, READONLY
|
||||
11 ELFMAINZ 00000104 00000000 00000000 000011f6 2**0 CONTENTS, RELOC, READONLY
|
||||
SYMBOL TABLE:
|
||||
00000000 l d NRV2E 00000000 NRV2E
|
||||
00000000 l d NRV2D 00000000 NRV2D
|
||||
@@ -38,7 +38,7 @@ SYMBOL TABLE:
|
||||
00000000 g LZMA_DEC10 00000000 LzmaDecode
|
||||
00000000 g ELFMAINY 00000000 end_decompress
|
||||
00000000 *UND* 00000000 O_BINFO
|
||||
000000ec g ELFMAINZ 00000000 cpr0
|
||||
00000104 g ELFMAINZ 00000000 cpr0
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINX]:
|
||||
OFFSET TYPE VALUE
|
||||
@@ -255,7 +255,7 @@ OFFSET TYPE VALUE
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINZ]:
|
||||
OFFSET TYPE VALUE
|
||||
00000074 R_ARM_PC24 ELFMAINY
|
||||
00000094 R_ARM_PC24 ELFMAINZ
|
||||
000000e4 R_ARM_PC24 ELFMAINZ
|
||||
000000e8 R_ARM_ABS32 O_BINFO
|
||||
0000008c R_ARM_PC24 ELFMAINY
|
||||
000000ac R_ARM_PC24 ELFMAINZ
|
||||
000000fc R_ARM_PC24 ELFMAINZ
|
||||
00000100 R_ARM_ABS32 O_BINFO
|
||||
|
||||
@@ -13,7 +13,7 @@ Idx Name Size VMA LMA File off Algn Flags
|
||||
8 LZMA_DEC10 00000478 00000000 00000000 00000d88 2**0 CONTENTS, RELOC, READONLY
|
||||
9 LZMA_DEC30 00000000 00000000 00000000 00001200 2**0 CONTENTS, READONLY
|
||||
10 ELFMAINY 0000003e 00000000 00000000 00001200 2**0 CONTENTS, READONLY
|
||||
11 ELFMAINZ 000000f0 00000000 00000000 0000123e 2**0 CONTENTS, RELOC, READONLY
|
||||
11 ELFMAINZ 00000108 00000000 00000000 0000123e 2**0 CONTENTS, RELOC, READONLY
|
||||
SYMBOL TABLE:
|
||||
00000000 l d NRV2E 00000000 NRV2E
|
||||
00000000 l d NRV2D 00000000 NRV2D
|
||||
@@ -38,7 +38,7 @@ SYMBOL TABLE:
|
||||
00000000 g LZMA_DEC10 00000000 LzmaDecode
|
||||
00000000 g ELFMAINY 00000000 end_decompress
|
||||
00000000 *UND* 00000000 O_BINFO
|
||||
000000f0 g ELFMAINZ 00000000 cpr0
|
||||
00000108 g ELFMAINZ 00000000 cpr0
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINX]:
|
||||
OFFSET TYPE VALUE
|
||||
@@ -255,7 +255,7 @@ OFFSET TYPE VALUE
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINZ]:
|
||||
OFFSET TYPE VALUE
|
||||
00000078 R_ARM_PC24 ELFMAINY
|
||||
00000098 R_ARM_PC24 ELFMAINZ
|
||||
000000e8 R_ARM_PC24 ELFMAINZ
|
||||
000000ec R_ARM_ABS32 O_BINFO
|
||||
00000090 R_ARM_PC24 ELFMAINY
|
||||
000000b0 R_ARM_PC24 ELFMAINZ
|
||||
00000100 R_ARM_PC24 ELFMAINZ
|
||||
00000104 R_ARM_ABS32 O_BINFO
|
||||
|
||||
@@ -13,7 +13,7 @@ Idx Name Size VMA LMA File off Algn Flags
|
||||
8 LZMA_DEC10 00000478 00000000 00000000 00000d48 2**0 CONTENTS, RELOC, READONLY
|
||||
9 LZMA_DEC30 00000000 00000000 00000000 000011c0 2**0 CONTENTS, READONLY
|
||||
10 ELFMAINY 00000036 00000000 00000000 000011c0 2**0 CONTENTS, READONLY
|
||||
11 ELFMAINZ 000000ec 00000000 00000000 000011f6 2**0 CONTENTS, RELOC, READONLY
|
||||
11 ELFMAINZ 00000104 00000000 00000000 000011f6 2**0 CONTENTS, RELOC, READONLY
|
||||
SYMBOL TABLE:
|
||||
00000000 l d NRV2E 00000000 NRV2E
|
||||
00000000 l d NRV2D 00000000 NRV2D
|
||||
@@ -38,7 +38,7 @@ SYMBOL TABLE:
|
||||
00000000 g LZMA_DEC10 00000000 LzmaDecode
|
||||
00000000 g ELFMAINY 00000000 end_decompress
|
||||
00000000 *UND* 00000000 O_BINFO
|
||||
000000ec g ELFMAINZ 00000000 cpr0
|
||||
00000104 g ELFMAINZ 00000000 cpr0
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINX]:
|
||||
OFFSET TYPE VALUE
|
||||
@@ -255,7 +255,7 @@ OFFSET TYPE VALUE
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINZ]:
|
||||
OFFSET TYPE VALUE
|
||||
00000074 R_ARM_PC24 ELFMAINY
|
||||
00000094 R_ARM_PC24 ELFMAINZ
|
||||
000000e4 R_ARM_PC24 ELFMAINZ
|
||||
000000e8 R_ARM_ABS32 O_BINFO
|
||||
0000008c R_ARM_PC24 ELFMAINY
|
||||
000000ac R_ARM_PC24 ELFMAINZ
|
||||
000000fc R_ARM_PC24 ELFMAINZ
|
||||
00000100 R_ARM_ABS32 O_BINFO
|
||||
|
||||
Reference in New Issue
Block a user