From 1e02ad6bbd8938b39e1761f20a8ab7392e3ee7b7 Mon Sep 17 00:00:00 2001 From: notaz Date: Tue, 6 Sep 2011 18:22:09 +0300 Subject: mask off arguments for write hadlers newer gcc wants this --- arm/arm_stub.S | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'arm/arm_stub.S') diff --git a/arm/arm_stub.S b/arm/arm_stub.S index cc38dd2..6a9fb6d 100644 --- a/arm/arm_stub.S +++ b/arm/arm_stub.S @@ -104,6 +104,15 @@ #define MODE_SUPERVISOR 3 +#ifdef __ARM_ARCH_7A__ + #define extract_u16(rd, rs) \ + uxth rd, rs +#else + #define extract_u16(rd, rs) \ + bic rd, rs, #0xff000000 ;\ + bic rd, rd, #0x00ff0000 +#endif + @ Will load the register set from memory into the appropriate cached registers. @ See arm_emit.h for listing explanation. @@ -535,9 +544,11 @@ execute_arm_translate: #define store_align_8() ;\ + and r1, r1, #0xff ;\ #define store_align_16() ;\ bic r0, r0, #0x01 ;\ + extract_u16(r1, r1) ;\ #define store_align_32() ;\ bic r0, r0, #0x03 ;\ -- cgit v1.2.3