Unverified Commit 49ddfce5 authored by ganyao114's avatar ganyao114 Committed by GitHub

Merge pull request #24 from ganyao114/short_method

[BugFix]Fix ADRP
parents 09517e01 21f15732
...@@ -58,8 +58,8 @@ Off A64_ADR_ADRP::GetImmPCOffset() { ...@@ -58,8 +58,8 @@ Off A64_ADR_ADRP::GetImmPCOffset() {
} }
Addr A64_ADR_ADRP::GetImmPCOffsetTarget() { Addr A64_ADR_ADRP::GetImmPCOffsetTarget() {
void* base = AlignDown(GetPC(), P_SIZE); Addr base = AlignDown((Addr) GetPC(), PAGE_SIZE);
return offset + reinterpret_cast<Addr>(base); return offset + base;
} }
void A64_ADR_ADRP::Assemble() { void A64_ADR_ADRP::Assemble() {
......
...@@ -27,7 +27,7 @@ void *AndroidCodeBuffer::GetBuffer(U32 size) { ...@@ -27,7 +27,7 @@ void *AndroidCodeBuffer::GetBuffer(U32 size) {
return reinterpret_cast<void *>(retSpace); return reinterpret_cast<void *>(retSpace);
} }
label_alloc_new_space: label_alloc_new_space:
current_execute_page_size = static_cast<U32>(FIT(size, P_SIZE)); current_execute_page_size = static_cast<U32>(FIT(size, PAGE_SIZE));
mmapRes = mmap(NULL, current_execute_page_size, PROT_READ | PROT_WRITE | PROT_EXEC, mmapRes = mmap(NULL, current_execute_page_size, PROT_READ | PROT_WRITE | PROT_EXEC,
MAP_ANON | MAP_PRIVATE, -1, 0); MAP_ANON | MAP_PRIVATE, -1, 0);
if (mmapRes == MAP_FAILED) { if (mmapRes == MAP_FAILED) {
......
...@@ -35,7 +35,7 @@ typedef S64 Off; ...@@ -35,7 +35,7 @@ typedef S64 Off;
const int BITS_OF_BYTE = 8; const int BITS_OF_BYTE = 8;
const Addr P_SIZE = 2 << PAGE_OFFSET; #define P_SIZE PAGE_SIZE
enum Arch { enum Arch {
arm32, arm32,
......
...@@ -22,7 +22,7 @@ bool FlushCache(Addr addr, Off len) { ...@@ -22,7 +22,7 @@ bool FlushCache(Addr addr, Off len) {
extern "C" bool MemUnprotect(Addr addr, Addr len) { extern "C" bool MemUnprotect(Addr addr, Addr len) {
long pagesize = P_SIZE; long pagesize = PAGE_SIZE;
unsigned alignment = (unsigned)((unsigned long long)addr % pagesize); unsigned alignment = (unsigned)((unsigned long long)addr % pagesize);
int i = mprotect((void *) (addr - alignment), (size_t) (alignment + len), int i = mprotect((void *) (addr - alignment), (size_t) (alignment + len),
PROT_READ | PROT_WRITE | PROT_EXEC); PROT_READ | PROT_WRITE | PROT_EXEC);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment