From: Marco Costalba Date: Sun, 1 Sep 2013 16:16:55 +0000 (-0700) Subject: Improve ARM compatibility X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=aee404f53269c79ec42eb4d54b0bc6e2d8b1c340;hp=0915f85895733ff8ed8e480fa9c83c25c296ea1d Improve ARM compatibility STANDALONE-TOOLCHAIN.html in Android NDK says: It is recommended to use the -mthumb compiler flag to force the generation of 16-bit Thumb-1 instructions (the default being 32-bit ARM ones). If you want to target the 'armeabi-v7a' ABI, you will need ensure that the following two flags are being used: CFLAGS='-march=armv7-a -mfloat-abi=softfp' Note: The first flag enables Thumb-2 instructions, and the second one enables H/W FPU instructions while ensuring that floating-point parameters are passed in core registers, which is critical for ABI compatibility. Do *not* use these flags separately! Thanks to Peter Osterlund for pointout this doc and for showing me an example Makefile to follow. No functional change. --- diff --git a/src/Makefile b/src/Makefile index f8d65ccb..67cd382a 100644 --- a/src/Makefile +++ b/src/Makefile @@ -296,7 +296,7 @@ ifeq ($(optimize),yes) endif ifeq ($(arch),armv7) - CXXFLAGS += -fno-gcse + CXXFLAGS += -fno-gcse -mthumb -march=armv7-a -mfloat-abi=softfp endif endif