Fix ARM and ARM64 build errors.

This commit is contained in:
SarahW 2019-02-13 21:11:27 +00:00
commit a73081f0bd
4 changed files with 12 additions and 12 deletions

View file

@ -77,7 +77,7 @@ static void build_load_routine(codeblock_t *block, int size, int is_float)
MOV R1, #0
MOV PC, LR
* STR LR, [SP, -4]!
BL readmemb386l
BL readmembl
LDRB R1, cpu_state.abrt
LDR PC, [SP], #4
*/
@ -116,7 +116,7 @@ static void build_load_routine(codeblock_t *block, int size, int is_float)
*misaligned_offset |= ((((uintptr_t)&block_write_data[block_pos] - (uintptr_t)misaligned_offset) - 8) & 0x3fffffc) >> 2;
host_arm_STR_IMM_WB(block, REG_LR, REG_HOST_SP, -4);
if (size == 1)
host_arm_BL(block, (uintptr_t)readmemb386l);
host_arm_BL(block, (uintptr_t)readmembl);
else if (size == 2)
host_arm_BL(block, (uintptr_t)readmemwl);
else if (size == 4)
@ -149,7 +149,7 @@ static void build_store_routine(codeblock_t *block, int size, int is_float)
MOV R1, #0
MOV PC, LR
* STR LR, [SP, -4]!
BL readmemb386l
BL readmembl
LDRB R1, cpu_state.abrt
LDR PC, [SP], #4
*/
@ -192,7 +192,7 @@ static void build_store_routine(codeblock_t *block, int size, int is_float)
else if (size == 8)
host_arm_VMOV_64_D(block, REG_R2, REG_R3, REG_D_TEMP);
if (size == 1)
host_arm_BL(block, (uintptr_t)writememb386l);
host_arm_BL(block, (uintptr_t)writemembl);
else if (size == 2)
host_arm_BL(block, (uintptr_t)writememwl);
else if (size == 4)
@ -304,7 +304,7 @@ void codegen_backend_init()
block_current = 0;
block_pos = 0;
block = &codeblock[block_current];
block->head_mem_block = codegen_allocator_allocate(NULL);
block->head_mem_block = codegen_allocator_allocate(NULL, block_current);
block->data = codeblock_allocator_get_ptr(block->head_mem_block);
block_write_data = block->data;
build_loadstore_routines(&codeblock[block_current]);