ARM64: move Psync closer to PAGE_MASK
and use 'bic' instead of 'and' modified: stub/arm64-linux.elf-so_fold.h modified: stub/src/arm64-linux.elf-so_fold.S
This commit is contained in:
parent
aee970e80b
commit
d41ceb0d31
1208
src/stub/arm64-linux.elf-so_fold.h
generated
1208
src/stub/arm64-linux.elf-so_fold.h
generated
File diff suppressed because it is too large
Load Diff
@ -56,7 +56,7 @@ get_page_mask: .globl get_page_mask
|
||||
|
||||
Punmap: .globl Punmap
|
||||
ldr x8,PAGE_MASK
|
||||
and x8,x0,x8
|
||||
bic x8,x0,x8
|
||||
sub x0,x0,x8
|
||||
add x1,x1,x8
|
||||
munmap: .globl munmap
|
||||
@ -66,7 +66,7 @@ munmap: .globl munmap
|
||||
Pprotect: .globl Pprotect
|
||||
mprotect: .globl mprotect
|
||||
ldr x8,PAGE_MASK
|
||||
and x8,x0,x8
|
||||
bic x8,x0,x8
|
||||
sub x0,x0,x8
|
||||
add x1,x1,x8
|
||||
do_sys __NR_mprotect; ret
|
||||
@ -80,12 +80,19 @@ mmap_privanon: .globl mmap_privanon
|
||||
|
||||
Pmap: .globl Pmap
|
||||
ldr x8,PAGE_MASK
|
||||
and x8,x0,x8
|
||||
bic x8,x0,x8
|
||||
sub x0,x0,x8
|
||||
add x1,x1,x8
|
||||
mmap: .globl mmap
|
||||
do_sys __NR_mmap; ret
|
||||
|
||||
Psync: .globl Psync
|
||||
ldr x8,PAGE_MASK
|
||||
bic x8,x0,x8
|
||||
sub x0,x0,x8
|
||||
add x1,x1,x8
|
||||
do_sys __NR_msync; ret
|
||||
|
||||
fold: // enter here (x0= &so_info; x1= &{argc,argv,envp,lr}
|
||||
//%esp:
|
||||
// MATCH_04 ptr unfolded_code
|
||||
@ -199,13 +206,6 @@ brk:
|
||||
readlink:
|
||||
do_sys __NR_readlink; ret
|
||||
|
||||
Psync: .globl Psync
|
||||
ldr x8,PAGE_MASK
|
||||
bic x8,x0,x8
|
||||
sub x0,x0,x8
|
||||
add x1,x1,x8
|
||||
do_sys __NR_msync; ret
|
||||
|
||||
.globl __sync_cache_range
|
||||
__sync_cache_range: // (void *lo, void *hi)
|
||||
#include "arm64-sync-cache-range.S"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user