libretro / desmume2015

Port of Desmume to libretro based on Desmume SVN circa 2015.
29 stars 44 forks source link

Broken ARM build #39

Closed sergiobenrocha2 closed 9 years ago

sergiobenrocha2 commented 9 years ago

Last commit (6643e63) broke ARM build:

clang++ -DUSE_POSIX_MEMALIGN -D__RETRO_ARM__ -marm -mfloat-abi=hard -DARM -DHAVE_JIT -DNDEBUG -O3 -D__LIBRETRO__ -fPIC -iquote src -iquote src/libretro  -D_FORTIFY_SOURCE=2  -c -o src/libretro/arm_arm/arm_jit.o src/libretro/arm_arm/arm_jit.cpp
In file included from src/libretro/arm_arm/arm_jit.cpp:28:
src/libretro/arm_arm/reg_manager.h:19:10: error: use of undeclared identifier 'memset'; did you mean 'wmemset'?
         memset(mapping, 0xFF, sizeof(mapping));
         ^~~~~~
         wmemset
/usr/include/arm-linux-gnueabihf/bits/wchar2.h:129:8: note: 'wmemset' declared here
__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
       ^
/usr/include/arm-linux-gnueabihf/sys/cdefs.h:62:35: note: expanded from macro '__NTH'
#   define __NTH(fct)   __LEAF_ATTR fct throw ()
                                    ^
In file included from src/libretro/arm_arm/arm_jit.cpp:28:
src/libretro/arm_arm/reg_manager.h:19:17: error: cannot initialize a parameter of type 'wchar_t *' with an lvalue of type 'uint32_t [16]'
         memset(mapping, 0xFF, sizeof(mapping));
                ^~~~~~~
/usr/include/arm-linux-gnueabihf/bits/wchar2.h:129:26: note: passing argument to parameter '__s' here
__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
                         ^
/usr/include/arm-linux-gnueabihf/sys/cdefs.h:62:35: note: expanded from macro '__NTH'
#   define __NTH(fct)   __LEAF_ATTR fct throw ()
                                    ^
In file included from src/libretro/arm_arm/arm_jit.cpp:28:
src/libretro/arm_arm/reg_manager.h:20:10: error: use of undeclared identifier 'memset'; did you mean 'wmemset'?
         memset(usage_tag, 0, sizeof(usage_tag));
         ^~~~~~
         wmemset
/usr/include/arm-linux-gnueabihf/bits/wchar2.h:129:8: note: 'wmemset' declared here
__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
       ^
/usr/include/arm-linux-gnueabihf/sys/cdefs.h:62:35: note: expanded from macro '__NTH'
#   define __NTH(fct)   __LEAF_ATTR fct throw ()
                                    ^
In file included from src/libretro/arm_arm/arm_jit.cpp:28:
src/libretro/arm_arm/reg_manager.h:20:17: error: cannot initialize a parameter of type 'wchar_t *' with an lvalue of type 'uint32_t [16]'
         memset(usage_tag, 0, sizeof(usage_tag));
                ^~~~~~~~~
/usr/include/arm-linux-gnueabihf/bits/wchar2.h:129:26: note: passing argument to parameter '__s' here
__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
                         ^
/usr/include/arm-linux-gnueabihf/sys/cdefs.h:62:35: note: expanded from macro '__NTH'
#   define __NTH(fct)   __LEAF_ATTR fct throw ()
                                    ^
In file included from src/libretro/arm_arm/arm_jit.cpp:28:
src/libretro/arm_arm/reg_manager.h:21:10: error: use of undeclared identifier 'memset'; did you mean 'wmemset'?
         memset(dirty, 0, sizeof(dirty));
         ^~~~~~
         wmemset
/usr/include/arm-linux-gnueabihf/bits/wchar2.h:129:8: note: 'wmemset' declared here
__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
       ^
/usr/include/arm-linux-gnueabihf/sys/cdefs.h:62:35: note: expanded from macro '__NTH'
#   define __NTH(fct)   __LEAF_ATTR fct throw ()
                                    ^
In file included from src/libretro/arm_arm/arm_jit.cpp:28:
src/libretro/arm_arm/reg_manager.h:21:17: error: cannot initialize a parameter of type 'wchar_t *' with an lvalue of type 'bool [16]'
         memset(dirty, 0, sizeof(dirty));
                ^~~~~
/usr/include/arm-linux-gnueabihf/bits/wchar2.h:129:26: note: passing argument to parameter '__s' here
__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
                         ^
/usr/include/arm-linux-gnueabihf/sys/cdefs.h:62:35: note: expanded from macro '__NTH'
#   define __NTH(fct)   __LEAF_ATTR fct throw ()
                                    ^
In file included from src/libretro/arm_arm/arm_jit.cpp:28:
src/libretro/arm_arm/reg_manager.h:22:10: error: use of undeclared identifier 'memset'; did you mean 'wmemset'?
         memset(weak, 0, sizeof(weak));
         ^~~~~~
         wmemset
/usr/include/arm-linux-gnueabihf/bits/wchar2.h:129:8: note: 'wmemset' declared here
__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
       ^
/usr/include/arm-linux-gnueabihf/sys/cdefs.h:62:35: note: expanded from macro '__NTH'
#   define __NTH(fct)   __LEAF_ATTR fct throw ()
                                    ^
In file included from src/libretro/arm_arm/arm_jit.cpp:28:
src/libretro/arm_arm/reg_manager.h:22:17: error: cannot initialize a parameter of type 'wchar_t *' with an lvalue of type 'bool [16]'
         memset(weak, 0, sizeof(weak));
                ^~~~
/usr/include/arm-linux-gnueabihf/bits/wchar2.h:129:26: note: passing argument to parameter '__s' here
__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
                         ^
/usr/include/arm-linux-gnueabihf/sys/cdefs.h:62:35: note: expanded from macro '__NTH'
#   define __NTH(fct)   __LEAF_ATTR fct throw ()
                                    ^
8 errors generated.
make[2]: *** [src/libretro/arm_arm/arm_jit.o] Error 1
sergiobenrocha2 commented 9 years ago

Forget to say, I build it with:

make -C desmume/ -f Makefile.libretro platform="armv hardfloat clang"

sergiobenrocha2 commented 9 years ago

Missing string.h in reg_manager.h, fixed in 237266c. This header was provided by armcpu.h, which had common.h.