libretro, build fixes for ios
authorkub <derkub@gmail.com>
Mon, 13 Jul 2020 05:20:04 +0000 (07:20 +0200)
committerkub <derkub@gmail.com>
Mon, 13 Jul 2020 07:22:56 +0000 (09:22 +0200)
Makefile
Makefile.libretro
pico/carthw/svp/compiler.c
tools/Makefile
tools/offsets/generic32-offsets.h [new file with mode: 0644]
tools/offsets/generic64-offsets.h [new file with mode: 0644]
tools/offsets/genericn32-offsets.h [new file with mode: 0644]
tools/offsets/ios9-offsets.h [new symlink]

index 466e5d3..d5953be 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -228,7 +228,7 @@ pprof: platform/linux/pprof.c
        $(CC) $(CFLAGS) -O2 -ggdb -DPPROF -DPPROF_TOOL -I../../ -I. $^ -o $@ $(LDFLAGS) $(LDLIBS)
 
 pico/pico_int_offs.h: tools/mkoffsets.sh
-       make -C tools/ XCC="$(CC)" XCFLAGS="$(CFLAGS)"
+       make -C tools/ XCC="$(CC)" XCFLAGS="$(CFLAGS)" XPLATFORM="$(platform)"
 
 .s.o:
        $(CC) $(CFLAGS) -c $< -o $@
index d288087..6c63dba 100644 (file)
@@ -111,7 +111,6 @@ else
        CXX    += -miphoneos-version-min=5.0
        CC_AS  += -miphoneos-version-min=5.0
        CFLAGS += -miphoneos-version-min=5.0
-       use_svpdrc = 0
 endif
 
 # PS3
@@ -303,6 +302,7 @@ use_cyclone = 0
 use_fame ?= 1
 use_drz80 = 0
 use_cz80 ?= 1
+use_svpdrc = 0
 
 asm_memory = 0
 asm_render = 0
index df051e4..65d1a19 100644 (file)
@@ -693,9 +693,9 @@ static int tr_aop_ssp2arm(int op)
 /* spacial version of call for calling C needed on ios, since we use r9.. */
 static void emith_call_c_func(void *target)
 {
-       EOP_STMFD_SP(A_R7M|A_R9M);
+       EOP_STMFD_SP(M2(7,9));
        emith_call(target);
-       EOP_LDMFD_SP(A_R7M|A_R9M);
+       EOP_LDMFD_SP(M2(7,9));
 }
 #else
 #define emith_call_c_func emith_call
index f8e9388..b20bc20 100644 (file)
@@ -2,7 +2,11 @@ TARGETS = amalgamate textfilter
 HOSTCC ?= cc
 
 all:
-       CC="$(XCC)" CFLAGS="$(XCFLAGS)" sh ./mkoffsets.sh ../pico
+       if [ -f "offsets/$(XPLATFORM)-offsets.h" ]; then \
+               ln -sf "../tools/offsets/$(XPLATFORM)-offsets.h" ../pico/pico_int_offs.h; \
+       else \
+               CC="$(XCC)" CFLAGS="$(XCFLAGS)" sh ./mkoffsets.sh ../pico; \
+       fi
 
 $(TARGETS): $(addsuffix .c,$(TARGETS))
        $(HOSTCC) -o $@ -O $@.c
diff --git a/tools/offsets/generic32-offsets.h b/tools/offsets/generic32-offsets.h
new file mode 100644 (file)
index 0000000..d0a33a6
--- /dev/null
@@ -0,0 +1,39 @@
+/* autogenerated by mkoffset.sh, do not edit */
+/* target endianess: le, compiled with: mipsel-linux-gnu-gcc -mabi=32 */
+#define OFS_Pico_video_reg   0x0000
+#define OFS_Pico_m_rotate    0x0040
+#define OFS_Pico_m_z80Run    0x0041
+#define OFS_Pico_m_dirtyPal  0x0046
+#define OFS_Pico_m_hardware  0x0047
+#define OFS_Pico_m_z80_reset 0x004f
+#define OFS_Pico_m_sram_reg  0x0049
+#define OFS_Pico_sv          0x008c
+#define OFS_Pico_sv_data     0x008c
+#define OFS_Pico_sv_start    0x0090
+#define OFS_Pico_sv_end      0x0094
+#define OFS_Pico_sv_flags    0x0098
+#define OFS_Pico_rom         0x0554
+#define OFS_Pico_romsize     0x0558
+#define OFS_Pico_est         0x00c8
+#define OFS_EST_DrawScanline 0x0000
+#define OFS_EST_rendstatus   0x0004
+#define OFS_EST_DrawLineDest 0x0008
+#define OFS_EST_HighCol      0x000c
+#define OFS_EST_HighPreSpr   0x0010
+#define OFS_EST_Pico         0x0014
+#define OFS_EST_PicoMem_vram 0x0018
+#define OFS_EST_PicoMem_cram 0x001c
+#define OFS_EST_PicoOpt      0x0020
+#define OFS_EST_Draw2FB      0x0024
+#define OFS_EST_HighPal      0x0028
+#define OFS_PMEM_vram        0x10000
+#define OFS_PMEM_vsram       0x22100
+#define OFS_PMEM32x_pal_native 0x90e00
+#define OFS_SH2_is_slave     0x055c
+#define OFS_SH2_p_bios       0x0080
+#define OFS_SH2_p_da         0x0084
+#define OFS_SH2_p_sdram      0x0088
+#define OFS_SH2_p_rom        0x008c
+#define OFS_SH2_p_dram       0x0090
+#define OFS_SH2_p_drcblk_da  0x0094
+#define OFS_SH2_p_drcblk_ram 0x0098
diff --git a/tools/offsets/generic64-offsets.h b/tools/offsets/generic64-offsets.h
new file mode 100644 (file)
index 0000000..8f56be0
--- /dev/null
@@ -0,0 +1,39 @@
+/* autogenerated by mkoffset.sh, do not edit */
+/* target endianess: le, compiled with: mipsel-linux-gnu-gcc -mabi=64 */
+#define OFS_Pico_video_reg   0x0000
+#define OFS_Pico_m_rotate    0x0040
+#define OFS_Pico_m_z80Run    0x0041
+#define OFS_Pico_m_dirtyPal  0x0046
+#define OFS_Pico_m_hardware  0x0047
+#define OFS_Pico_m_z80_reset 0x004f
+#define OFS_Pico_m_sram_reg  0x0049
+#define OFS_Pico_sv          0x0090
+#define OFS_Pico_sv_data     0x0090
+#define OFS_Pico_sv_start    0x0098
+#define OFS_Pico_sv_end      0x009c
+#define OFS_Pico_sv_flags    0x00a0
+#define OFS_Pico_rom         0x0588
+#define OFS_Pico_romsize     0x0590
+#define OFS_Pico_est         0x00d8
+#define OFS_EST_DrawScanline 0x0000
+#define OFS_EST_rendstatus   0x0004
+#define OFS_EST_DrawLineDest 0x0008
+#define OFS_EST_HighCol      0x0010
+#define OFS_EST_HighPreSpr   0x0018
+#define OFS_EST_Pico         0x0020
+#define OFS_EST_PicoMem_vram 0x0028
+#define OFS_EST_PicoMem_cram 0x0030
+#define OFS_EST_PicoOpt      0x0038
+#define OFS_EST_Draw2FB      0x0040
+#define OFS_EST_HighPal      0x0048
+#define OFS_PMEM_vram        0x10000
+#define OFS_PMEM_vsram       0x22100
+#define OFS_PMEM32x_pal_native 0x90e00
+#define OFS_SH2_is_slave     0x0a18
+#define OFS_SH2_p_bios       0x0098
+#define OFS_SH2_p_da         0x00a0
+#define OFS_SH2_p_sdram      0x00a8
+#define OFS_SH2_p_rom        0x00b0
+#define OFS_SH2_p_dram       0x00b8
+#define OFS_SH2_p_drcblk_da  0x00c0
+#define OFS_SH2_p_drcblk_ram 0x00c8
diff --git a/tools/offsets/genericn32-offsets.h b/tools/offsets/genericn32-offsets.h
new file mode 100644 (file)
index 0000000..2ea6419
--- /dev/null
@@ -0,0 +1,39 @@
+/* autogenerated by mkoffset.sh, do not edit */
+/* target endianess: le, compiled with: mipsel-linux-gnu-gcc -mabi=n32 */
+#define OFS_Pico_video_reg   0x0000
+#define OFS_Pico_m_rotate    0x0040
+#define OFS_Pico_m_z80Run    0x0041
+#define OFS_Pico_m_dirtyPal  0x0046
+#define OFS_Pico_m_hardware  0x0047
+#define OFS_Pico_m_z80_reset 0x004f
+#define OFS_Pico_m_sram_reg  0x0049
+#define OFS_Pico_sv          0x008c
+#define OFS_Pico_sv_data     0x008c
+#define OFS_Pico_sv_start    0x0090
+#define OFS_Pico_sv_end      0x0094
+#define OFS_Pico_sv_flags    0x0098
+#define OFS_Pico_rom         0x0554
+#define OFS_Pico_romsize     0x0558
+#define OFS_Pico_est         0x00c8
+#define OFS_EST_DrawScanline 0x0000
+#define OFS_EST_rendstatus   0x0004
+#define OFS_EST_DrawLineDest 0x0008
+#define OFS_EST_HighCol      0x000c
+#define OFS_EST_HighPreSpr   0x0010
+#define OFS_EST_Pico         0x0014
+#define OFS_EST_PicoMem_vram 0x0018
+#define OFS_EST_PicoMem_cram 0x001c
+#define OFS_EST_PicoOpt      0x0020
+#define OFS_EST_Draw2FB      0x0024
+#define OFS_EST_HighPal      0x0028
+#define OFS_PMEM_vram        0x10000
+#define OFS_PMEM_vsram       0x22100
+#define OFS_PMEM32x_pal_native 0x90e00
+#define OFS_SH2_is_slave     0x055c
+#define OFS_SH2_p_bios       0x0080
+#define OFS_SH2_p_da         0x0084
+#define OFS_SH2_p_sdram      0x0088
+#define OFS_SH2_p_rom        0x008c
+#define OFS_SH2_p_dram       0x0090
+#define OFS_SH2_p_drcblk_da  0x0094
+#define OFS_SH2_p_drcblk_ram 0x0098
diff --git a/tools/offsets/ios9-offsets.h b/tools/offsets/ios9-offsets.h
new file mode 120000 (symlink)
index 0000000..5ac5765
--- /dev/null
@@ -0,0 +1 @@
+generic32-offsets.h
\ No newline at end of file