From faf543cebe3f5e93d39f1fdb7e209ce32c954e56 Mon Sep 17 00:00:00 2001 From: notaz Date: Mon, 1 Jul 2013 00:36:38 +0200 Subject: [PATCH] better workaround for ios --- Makefile.libretro | 6 ------ pico/memory.c | 10 ++++++++++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Makefile.libretro b/Makefile.libretro index f6cf55cd..ac9c0e92 100644 --- a/Makefile.libretro +++ b/Makefile.libretro @@ -128,9 +128,3 @@ PLATFORM = libretro NO_CONFIG_MAK = yes include Makefile - -# workaround another breakage on; -# Apple LLVM version 4.2 (clang-425.0.27) (based on LLVM 3.2svn) -ifeq ($(platform), ios) -pico/memory.o: CFLAGS += -O0 -endif diff --git a/pico/memory.c b/pico/memory.c index 0e4a624e..88d43f0e 100644 --- a/pico/memory.c +++ b/pico/memory.c @@ -23,6 +23,11 @@ uptr m68k_write16_map[0x1000000 >> M68K_MEM_SHIFT]; static void xmap_set(uptr *map, int shift, int start_addr, int end_addr, const void *func_or_mh, int is_func) { +#ifdef __clang__ + // workaround bug (segfault) in + // Apple LLVM version 4.2 (clang-425.0.27) (based on LLVM 3.2svn) + volatile +#endif uptr addr = (uptr)func_or_mh; int mask = (1 << shift) - 1; int i; @@ -110,6 +115,11 @@ static void m68k_unmapped_write16(u32 a, u32 d) void m68k_map_unmap(int start_addr, int end_addr) { +#ifdef __clang__ + // workaround bug (segfault) in + // Apple LLVM version 4.2 (clang-425.0.27) (based on LLVM 3.2svn) + volatile +#endif uptr addr; int shift = M68K_MEM_SHIFT; int i; -- 2.39.5