X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=platform%2Flibretro%2Flibretro.c;h=9111048f512294df0f1fb52d1e12f496eb6ccf52;hb=95a46e3f961ec21561b7d79273d4ee3feae535b6;hp=2bdd07d2ebbc96cb0653a71d564e58bfd4c3c31e;hpb=6311a3baf533d4a034e51dfe38e8cb213a1bf442;p=picodrive.git diff --git a/platform/libretro/libretro.c b/platform/libretro/libretro.c index 2bdd07d..9111048 100644 --- a/platform/libretro/libretro.c +++ b/platform/libretro/libretro.c @@ -79,11 +79,7 @@ static void *vout_buf; static int vout_width, vout_height, vout_offset; static float user_vout_width = 0.0; -#ifdef _MSC_VER -static short sndBuffer[2*44100/50]; -#else -static short __attribute__((aligned(4))) sndBuffer[2*44100/50]; -#endif +static short ALIGNED(4) sndBuffer[2*44100/50]; static void snd_write(int len); @@ -375,7 +371,7 @@ void *plat_mmap(unsigned long addr, size_t size, int need_exec, int is_fixed) int flags = MAP_PRIVATE | MAP_ANONYMOUS; void *req, *ret; - req = (void *)addr; + req = (void *)(uintptr_t)addr; ret = mmap(req, size, PROT_READ | PROT_WRITE, flags, -1, 0); if (ret == MAP_FAILED) { if (log_cb) @@ -383,7 +379,7 @@ void *plat_mmap(unsigned long addr, size_t size, int need_exec, int is_fixed) return NULL; } - if (addr != 0 && ret != (void *)addr) { + if (addr != 0 && ret != (void *)(uintptr_t)addr) { if (log_cb) log_cb(RETRO_LOG_WARN, "warning: wanted to map @%08lx, got %p\n", addr, ret); @@ -451,7 +447,8 @@ int plat_mem_set_exec(void *ptr, size_t size) { int ret = -1; #ifdef _WIN32 - ret = VirtualProtect(ptr, size, PAGE_EXECUTE_READWRITE, 0); + DWORD oldProtect = 0; + ret = VirtualProtect(ptr, size, PAGE_EXECUTE_READWRITE, &oldProtect); if (ret == 0 && log_cb) log_cb(RETRO_LOG_ERROR, "VirtualProtect(%p, %d) failed: %d\n", ptr, (int)size, GetLastError());