Fix varying page size on arm64
https://github.com/upx/upx/issues/734 modified: stub/src/amd64-linux.elf-fold.S modified: stub/src/amd64-linux.elf-main.c modified: stub/src/arm64-linux.elf-entry.S modified: stub/src/arm64-linux.elf-fold.S modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh ... plus associated stub/*.h etc
This commit is contained in:
+37
-36
@@ -8,62 +8,63 @@ Linker script and memory map
|
||||
|
||||
0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
|
||||
|
||||
.text 0x00000000001000bc 0x8b4
|
||||
.text 0x00000000001000bc 0x8b8
|
||||
*(.text)
|
||||
.text 0x00000000001000bc 0x1b7 tmp/amd64-linux.elf-fold.o
|
||||
.text 0x00000000001000bc 0x1b9 tmp/amd64-linux.elf-fold.o
|
||||
0x0000000000100263 munmap
|
||||
0x000000000010022a mmap
|
||||
0x000000000010026b write
|
||||
0x000000000010026f read
|
||||
0x0000000000100273 my_bkpt
|
||||
0x0000000000100241 Pprotect
|
||||
0x0000000000100253 exit
|
||||
0x0000000000100257 brk
|
||||
0x000000000010025f open
|
||||
0x0000000000100267 mprotect
|
||||
0x000000000010025b close
|
||||
*fill* 0x0000000000100273 0x1 00
|
||||
.text 0x0000000000100274 0x6fa tmp/amd64-linux.elf-main.o
|
||||
0x0000000000100826 upx_main
|
||||
*fill* 0x000000000010096e 0x2 00
|
||||
.text 0x0000000000100970 0x0 tmp/amd64-expand.o
|
||||
*fill* 0x0000000000100275 0x3 00
|
||||
.text 0x0000000000100278 0x6fa tmp/amd64-linux.elf-main.o
|
||||
0x000000000010082a upx_main
|
||||
*fill* 0x0000000000100972 0x2 00
|
||||
.text 0x0000000000100974 0x0 tmp/amd64-expand.o
|
||||
*(.data)
|
||||
.data 0x0000000000100970 0x0 tmp/amd64-linux.elf-fold.o
|
||||
.data 0x0000000000100970 0x0 tmp/amd64-linux.elf-main.o
|
||||
.data 0x0000000000100970 0x0 tmp/amd64-expand.o
|
||||
0x0000000000100970 . = ALIGN (0x1)
|
||||
0x0000000000100970 __start_EXP_HEAD = .
|
||||
.data 0x0000000000100974 0x0 tmp/amd64-linux.elf-fold.o
|
||||
.data 0x0000000000100974 0x0 tmp/amd64-linux.elf-main.o
|
||||
.data 0x0000000000100974 0x0 tmp/amd64-expand.o
|
||||
0x0000000000100974 . = ALIGN (0x1)
|
||||
0x0000000000100974 __start_EXP_HEAD = .
|
||||
|
||||
EXP_HEAD 0x0000000000100970 0xe0
|
||||
EXP_HEAD 0x0000000000100970 0xe0 tmp/amd64-expand.o
|
||||
0x0000000000100970 f_expand
|
||||
0x0000000000100a50 __stop_EXP_HEAD = .
|
||||
0x0000000000100a50 . = ALIGN (0x1)
|
||||
0x0000000000100a50 __start_NRV2E = .
|
||||
EXP_HEAD 0x0000000000100974 0xe0
|
||||
EXP_HEAD 0x0000000000100974 0xe0 tmp/amd64-expand.o
|
||||
0x0000000000100974 f_expand
|
||||
0x0000000000100a54 __stop_EXP_HEAD = .
|
||||
0x0000000000100a54 . = ALIGN (0x1)
|
||||
0x0000000000100a54 __start_NRV2E = .
|
||||
|
||||
NRV2E 0x0000000000100a50 0xe5
|
||||
NRV2E 0x0000000000100a50 0xe5 tmp/amd64-expand.o
|
||||
0x0000000000100b35 __stop_NRV2E = .
|
||||
0x0000000000100b35 . = ALIGN (0x1)
|
||||
0x0000000000100b35 __start_NRV2D = .
|
||||
NRV2E 0x0000000000100a54 0xe5
|
||||
NRV2E 0x0000000000100a54 0xe5 tmp/amd64-expand.o
|
||||
0x0000000000100b39 __stop_NRV2E = .
|
||||
0x0000000000100b39 . = ALIGN (0x1)
|
||||
0x0000000000100b39 __start_NRV2D = .
|
||||
|
||||
NRV2D 0x0000000000100b35 0xd7
|
||||
NRV2D 0x0000000000100b35 0xd7 tmp/amd64-expand.o
|
||||
0x0000000000100c0c __stop_NRV2D = .
|
||||
0x0000000000100c0c . = ALIGN (0x1)
|
||||
0x0000000000100c0c __start_NRV2B = .
|
||||
NRV2D 0x0000000000100b39 0xd7
|
||||
NRV2D 0x0000000000100b39 0xd7 tmp/amd64-expand.o
|
||||
0x0000000000100c10 __stop_NRV2D = .
|
||||
0x0000000000100c10 . = ALIGN (0x1)
|
||||
0x0000000000100c10 __start_NRV2B = .
|
||||
|
||||
NRV2B 0x0000000000100c0c 0xc1
|
||||
NRV2B 0x0000000000100c0c 0xc1 tmp/amd64-expand.o
|
||||
0x0000000000100ccd __stop_NRV2B = .
|
||||
NRV2B 0x0000000000100c10 0xc1
|
||||
NRV2B 0x0000000000100c10 0xc1 tmp/amd64-expand.o
|
||||
0x0000000000100cd1 __stop_NRV2B = .
|
||||
|
||||
.data
|
||||
|
||||
.bss 0x0000000000100cd0 0x0
|
||||
.bss 0x0000000000100cd0 0x0 tmp/amd64-linux.elf-fold.o
|
||||
.bss 0x0000000000100cd0 0x0 tmp/amd64-linux.elf-main.o
|
||||
.bss 0x0000000000100cd0 0x0 tmp/amd64-expand.o
|
||||
.bss 0x0000000000100cd4 0x0
|
||||
.bss 0x0000000000100cd4 0x0 tmp/amd64-linux.elf-fold.o
|
||||
.bss 0x0000000000100cd4 0x0 tmp/amd64-linux.elf-main.o
|
||||
.bss 0x0000000000100cd4 0x0 tmp/amd64-expand.o
|
||||
|
||||
.rela.dyn 0x0000000000100cd0 0x0
|
||||
.rela.dyn 0x0000000000100cd8 0x0
|
||||
.rela.text 0x0000000000000000 0x0 tmp/amd64-linux.elf-fold.o
|
||||
LOAD tmp/amd64-linux.elf-fold.o
|
||||
LOAD tmp/amd64-linux.elf-main.o
|
||||
|
||||
+14
-14
@@ -2,18 +2,18 @@ file format elf64-littleaarch64
|
||||
|
||||
Sections:
|
||||
Idx Name Size VMA LMA File off Algn Flags
|
||||
0 ELFMAINX 08 0 0 040 2**0 CONTENTS
|
||||
1 NRV_HEAD 0 0 0 048 2**0 CONTENTS
|
||||
2 NRV_TAIL 0 0 0 048 2**0 CONTENTS
|
||||
3 NRV2E 017c 0 0 048 2**0 CONTENTS
|
||||
4 NRV2D 0170 0 0 01c4 2**0 CONTENTS
|
||||
5 NRV2B 0144 0 0 0334 2**0 CONTENTS
|
||||
6 LZMA_ELF00 010c 0 0 0478 2**0 CONTENTS
|
||||
7 LZMA_DEC20 0968 0 0 0584 2**0 CONTENTS
|
||||
8 LZMA_DEC10 04a0 0 0 0eec 2**0 CONTENTS
|
||||
9 LZMA_DEC30 0 0 0 0138c 2**0 CONTENTS
|
||||
10 ELFMAINY 03e 0 0 0138c 2**0 CONTENTS
|
||||
11 ELFMAINZ 0110 0 0 013cc 2**2 CONTENTS
|
||||
0 ELFMAINX 0c 0 0 040 2**0 CONTENTS
|
||||
1 NRV_HEAD 0 0 0 04c 2**0 CONTENTS
|
||||
2 NRV_TAIL 0 0 0 04c 2**0 CONTENTS
|
||||
3 NRV2E 017c 0 0 04c 2**0 CONTENTS
|
||||
4 NRV2D 0170 0 0 01c8 2**0 CONTENTS
|
||||
5 NRV2B 0144 0 0 0338 2**0 CONTENTS
|
||||
6 LZMA_ELF00 010c 0 0 047c 2**0 CONTENTS
|
||||
7 LZMA_DEC20 0968 0 0 0588 2**0 CONTENTS
|
||||
8 LZMA_DEC10 04a0 0 0 0ef0 2**0 CONTENTS
|
||||
9 LZMA_DEC30 0 0 0 01390 2**0 CONTENTS
|
||||
10 ELFMAINY 03e 0 0 01390 2**0 CONTENTS
|
||||
11 ELFMAINZ 0fc 0 0 013d0 2**2 CONTENTS
|
||||
SYMBOL TABLE:
|
||||
0000000000000000 l d LZMA_DEC30 0 LZMA_DEC30
|
||||
0000000000000000 l d ELFMAINZ 0 ELFMAINZ
|
||||
@@ -39,7 +39,7 @@ SYMBOL TABLE:
|
||||
RELOCATION RECORDS FOR [ELFMAINX]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000000000000 R_AARCH64_ABS32 MFLG
|
||||
0000000000000004 R_AARCH64_CALL26 ELFMAINZ+0x00000000000000c4
|
||||
0000000000000008 R_AARCH64_CALL26 ELFMAINZ+0x00000000000000b0
|
||||
|
||||
RELOCATION RECORDS FOR [LZMA_ELF00]:
|
||||
OFFSET TYPE VALUE
|
||||
@@ -47,4 +47,4 @@ OFFSET TYPE VALUE
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINZ]:
|
||||
OFFSET TYPE VALUE
|
||||
000000000000010c R_AARCH64_ABS32 O_BINFO
|
||||
00000000000000f8 R_AARCH64_ABS32 O_BINFO
|
||||
|
||||
+32
-31
@@ -8,45 +8,46 @@ Linker script and memory map
|
||||
|
||||
0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
|
||||
|
||||
.text 0x00000000001000bc 0xa58
|
||||
.text 0x00000000001000bc 0xa68
|
||||
*(.text)
|
||||
.text 0x00000000001000bc 0x29c tmp/arm64-linux.elf-fold.o
|
||||
0x0000000000100274 my_bkpt
|
||||
0x000000000010027c exit
|
||||
0x0000000000100284 read
|
||||
0x0000000000100290 write
|
||||
0x000000000010029c close
|
||||
0x00000000001002a8 getpid
|
||||
0x00000000001002b4 brk
|
||||
0x00000000001002c0 munmap
|
||||
0x00000000001002cc Pprotect
|
||||
0x00000000001002cc mprotect
|
||||
0x00000000001002e4 mmap_privanon
|
||||
0x00000000001002f4 mmap
|
||||
0x000000000010030c unlink
|
||||
0x0000000000100320 readlink
|
||||
0x0000000000100328 open
|
||||
0x0000000000100344 __clear_cache
|
||||
.text 0x0000000000100358 0x7bc tmp/arm64-linux.elf-main.o
|
||||
0x00000000001009ac upx_main
|
||||
.text 0x00000000001000bc 0x2ac tmp/arm64-linux.elf-fold.o
|
||||
0x00000000001000c4 get_page_mask
|
||||
0x00000000001000d4 mmap_privanon
|
||||
0x00000000001000e4 mmap
|
||||
0x0000000000100100 Pprotect
|
||||
0x0000000000100100 mprotect
|
||||
0x00000000001002c4 my_bkpt
|
||||
0x00000000001002cc exit
|
||||
0x00000000001002d4 read
|
||||
0x00000000001002e0 write
|
||||
0x00000000001002ec close
|
||||
0x00000000001002f8 getpid
|
||||
0x0000000000100304 brk
|
||||
0x0000000000100310 munmap
|
||||
0x000000000010031c unlink
|
||||
0x0000000000100330 readlink
|
||||
0x0000000000100338 open
|
||||
0x0000000000100354 __clear_cache
|
||||
.text 0x0000000000100368 0x7bc tmp/arm64-linux.elf-main.o
|
||||
0x00000000001009bc upx_main
|
||||
*(.data)
|
||||
.data 0x0000000000100b14 0x0 tmp/arm64-linux.elf-fold.o
|
||||
.data 0x0000000000100b14 0x0 tmp/arm64-linux.elf-main.o
|
||||
.data 0x0000000000100b24 0x0 tmp/arm64-linux.elf-fold.o
|
||||
.data 0x0000000000100b24 0x0 tmp/arm64-linux.elf-main.o
|
||||
|
||||
.iplt 0x0000000000100b14 0x0
|
||||
.iplt 0x0000000000100b14 0x0 tmp/arm64-linux.elf-fold.o
|
||||
.iplt 0x0000000000100b24 0x0
|
||||
.iplt 0x0000000000100b24 0x0 tmp/arm64-linux.elf-fold.o
|
||||
|
||||
.rela.dyn 0x0000000000100b18 0x0
|
||||
.rela.iplt 0x0000000000100b18 0x0 tmp/arm64-linux.elf-fold.o
|
||||
.rela.dyn 0x0000000000100b28 0x0
|
||||
.rela.iplt 0x0000000000100b28 0x0 tmp/arm64-linux.elf-fold.o
|
||||
|
||||
.data
|
||||
LOAD tmp/arm64-linux.elf-fold.o
|
||||
LOAD tmp/arm64-linux.elf-main.o
|
||||
OUTPUT(tmp/arm64-linux.elf-fold.bin elf64-littleaarch64)
|
||||
|
||||
.igot.plt 0x0000000000100b18 0x0
|
||||
.igot.plt 0x0000000000100b18 0x0 tmp/arm64-linux.elf-fold.o
|
||||
.igot.plt 0x0000000000100b28 0x0
|
||||
.igot.plt 0x0000000000100b28 0x0 tmp/arm64-linux.elf-fold.o
|
||||
|
||||
.bss 0x0000000000100b14 0x0
|
||||
.bss 0x0000000000100b14 0x0 tmp/arm64-linux.elf-fold.o
|
||||
.bss 0x0000000000100b14 0x0 tmp/arm64-linux.elf-main.o
|
||||
.bss 0x0000000000100b24 0x0
|
||||
.bss 0x0000000000100b24 0x0 tmp/arm64-linux.elf-fold.o
|
||||
.bss 0x0000000000100b24 0x0 tmp/arm64-linux.elf-main.o
|
||||
|
||||
Reference in New Issue
Block a user