arm64 filter, relocation, defineSymbols
modified: Makefile modified: bele.h modified: filter/ct.h modified: filteri.cpp modified: linker.cpp modified: miniacc.h modified: p_lx_elf.cpp modified: stub/arm64-linux.elf-entry.h modified: stub/src/arm64-linux.elf-entry.S
This commit is contained in:
@@ -32,8 +32,8 @@
|
||||
|
||||
|
||||
#define STUB_ARM64_LINUX_ELF_ENTRY_SIZE 5317
|
||||
#define STUB_ARM64_LINUX_ELF_ENTRY_ADLER32 0x85fe782d
|
||||
#define STUB_ARM64_LINUX_ELF_ENTRY_CRC32 0x6307b5a0
|
||||
#define STUB_ARM64_LINUX_ELF_ENTRY_ADLER32 0x69217770
|
||||
#define STUB_ARM64_LINUX_ELF_ENTRY_CRC32 0xb10ced92
|
||||
|
||||
unsigned char stub_arm64_linux_elf_entry[5317] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
@@ -41,9 +41,9 @@ unsigned char stub_arm64_linux_elf_entry[5317] = {
|
||||
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 8, 13, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 17, 0, 14, 0,
|
||||
/* 0x0040 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0050 */ 0, 0, 0, 0, 76,255,255, 16,129, 41, 64, 41,139, 53, 65, 41,
|
||||
/* 0x0060 */ 130, 9, 64,249,107, 1, 12,139, 74, 1, 12,139, 99, 1, 64,185,
|
||||
/* 0x0070 */ 137, 1, 1,203, 33, 0, 3, 11,224, 3, 2,170, 33, 4, 64,145,
|
||||
/* 0x0050 */ 0, 0, 0, 0, 0, 0, 32,212, 44,255,255, 16,129, 41, 64, 41,
|
||||
/* 0x0060 */ 139, 53, 65, 41,107, 1, 12,139, 74, 1, 12,139, 99, 1, 64,185,
|
||||
/* 0x0070 */ 137, 1, 1,203, 33, 0, 3, 11,128, 9, 64,249, 33, 4, 64,145,
|
||||
/* 0x0080 */ 3, 0,128, 82, 3, 0,130, 82,224,135,189,169,226, 15, 1,169,
|
||||
/* 0x0090 */ 237, 19, 0,249,226, 0,128, 82,163, 1, 28, 50, 5, 0,128,210,
|
||||
/* 0x00a0 */ 4, 0,128, 18,200, 27,128, 82, 1, 0, 0,212,192, 3, 95,214,
|
||||
|
||||
@@ -70,7 +70,7 @@ mflg:
|
||||
.long MFLG // MAP_{PRIVATE|ANONYMOUS} // QNX vs linux
|
||||
.xword ADRM // dst for map
|
||||
_start: .globl _start
|
||||
//// nop; bkpt
|
||||
brk #0
|
||||
/* Get some pages: enough
|
||||
to duplicate the entire compressed PT_LOAD, plus 1 page, located just after
|
||||
the brk() of the _un_compressed program. The address is pre-calculated
|
||||
@@ -89,13 +89,12 @@ _start: .globl _start
|
||||
adr x12,start_params -4 // &sz_pack2
|
||||
ldp w1,w10,[x12] // w1= sz_pack2; w10= LENF
|
||||
ldp w11,w13,[x12,#2*4] // w11= CPRO; w13= MFLG
|
||||
ldr x2,[x12,#4*4] // x2= ADRM
|
||||
add x11,x11,x12 // cpr0
|
||||
add x10,x10,x12 // end_decompress
|
||||
ldr w3,[x11,# sz_unc]
|
||||
sub x9,x12,x1 // &our_Elf64_Ehdr
|
||||
add w1,w1,w3 // sz_pack2 + cpr0.sz_unc
|
||||
mov x0,x2 // ADRM
|
||||
ldr x0,[x12,#4*4] // ADRM
|
||||
add x1,x1,# PAGE_SIZE
|
||||
section LUNMP000
|
||||
mov w3,#0<<12 // 0-page crumb
|
||||
|
||||
Reference in New Issue
Block a user