fix gp2x regression
authorkub <derkub@gmail.com>
Thu, 17 Oct 2019 22:16:54 +0000 (00:16 +0200)
committerkub <derkub@gmail.com>
Thu, 17 Oct 2019 22:16:54 +0000 (00:16 +0200)
cpu/sh2/compiler.c
cpu/sh2/sh2.h
tools/mkoffsets.sh

index 1acc721..b2306cf 100644 (file)
@@ -1248,7 +1248,7 @@ static void dr_activate_block(struct block_desc *bd, int tcache_id, int is_slave
   bd->active = 1;
 }
 
-static void REGPARM(3) ALIGNED(32) *dr_lookup_block(u32 pc, SH2 *sh2, int *tcache_id)
+static void REGPARM(3) *dr_lookup_block(u32 pc, SH2 *sh2, int *tcache_id)
 {
   struct block_entry *be = NULL;
   void *block = NULL;
index 57693ac..05ae705 100644 (file)
@@ -13,7 +13,7 @@ typedef enum {
 typedef struct SH2_\r
 {\r
        // registers. this MUST correlate with enum sh2_reg_e.\r
-       unsigned int    r[16];          // 00\r
+       unsigned int    r[16] ALIGNED(32);\r
        unsigned int    pc;             // 40\r
        unsigned int    ppc;\r
        unsigned int    pr;\r
@@ -80,7 +80,7 @@ typedef struct SH2_
 \r
        unsigned char   data_array[0x1000]; // cache (can be used as RAM)\r
        unsigned int    peri_regs[0x200/4]; // periphereal regs\r
-} SH2 ALIGNED(32);\r
+} SH2;\r
 \r
 #define CYCLE_MULT_SHIFT 10\r
 #define C_M68K_TO_SH2(xsh2, c) \\r
index 2223b80..8a0557c 100755 (executable)
@@ -48,7 +48,7 @@ get_define () # prefix struct member member...
        line=$(printf "#define %-20s 0x%04x" $prefix$name $rodata)
 }
 
-CFLAGS="$CFLAGS -fno-lto"
+if echo $CFLAGS | grep -qe -flto; then CFLAGS="$CFLAGS -fno-lto"; fi
 # determine endianess
 echo "const int val = 1;" >/tmp/getoffs.c
 compile_rodata