From: kub <derkub@gmail.com>
Date: Mon, 13 Jul 2020 05:20:04 +0000 (+0200)
Subject: libretro, build fixes for ios
X-Git-Tag: v2.00~712
X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=35984c2198084b4e6566f3f0a732928d47962a6e;p=picodrive.git

libretro, build fixes for ios
---

diff --git a/Makefile b/Makefile
index 466e5d3d..d5953bef 100644
--- 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 $@
diff --git a/Makefile.libretro b/Makefile.libretro
index d288087d..6c63dba2 100644
--- a/Makefile.libretro
+++ b/Makefile.libretro
@@ -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
diff --git a/pico/carthw/svp/compiler.c b/pico/carthw/svp/compiler.c
index df051e47..65d1a194 100644
--- a/pico/carthw/svp/compiler.c
+++ b/pico/carthw/svp/compiler.c
@@ -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
diff --git a/tools/Makefile b/tools/Makefile
index f8e93881..b20bc20f 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -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
index 00000000..d0a33a66
--- /dev/null
+++ b/tools/offsets/generic32-offsets.h
@@ -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
index 00000000..8f56be03
--- /dev/null
+++ b/tools/offsets/generic64-offsets.h
@@ -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
index 00000000..2ea64190
--- /dev/null
+++ b/tools/offsets/genericn32-offsets.h
@@ -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
index 00000000..5ac5765f
--- /dev/null
+++ b/tools/offsets/ios9-offsets.h
@@ -0,0 +1 @@
+generic32-offsets.h
\ No newline at end of file