Bladeren bron

ARM tweaks

Adam Ierymenko 8 jaren geleden
bovenliggende
commit
c467c3b7e4
2 gewijzigde bestanden met toevoegingen van 15 en 0 verwijderingen
  1. 7 0
      make-linux.mk
  2. 8 0
      node/Packet.cpp

+ 7 - 0
make-linux.mk

@@ -96,6 +96,12 @@ endif
 ifeq ($(CC_MACH),arm)
         ZT_ARCHITECTURE=3
 endif
+ifeq ($(CC_MACH),armel)
+        ZT_ARCHITECTURE=3
+endif
+ifeq ($(CC_MACH),armhf)
+        ZT_ARCHITECTURE=3
+endif
 ifeq ($(CC_MACH),armv6)
         ZT_ARCHITECTURE=3
 endif
@@ -114,6 +120,7 @@ DEFS+=-DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=$(ZT_ARCHITECTURE) -DZT_SOFT
 ifeq ($(ZT_ARCHITECTURE),3)
 				override CFLAGS+=-march=armv6zk -mcpu=arm1176jzf-s -mfloat-abi=hard -mfpu=vfp
 				override CXXFLAGS+=-march=armv6zk -mcpu=arm1176jzf-s -mfloat-abi=hard -mfpu=vfp
+				override DEFS+=-DZT_NO_TYPE_PUNNING
 endif
 
 # Define this to build a static binary, which is needed to make this runnable on a few ancient Linux distros

+ 8 - 0
node/Packet.cpp

@@ -520,6 +520,7 @@ union LZ4_streamDecode_u {
  * See https://fastcompression.blogspot.fr/2015/08/accessing-unaligned-memory.html for details.
  * Prefer these methods in priority order (0 > 1 > 2)
  */
+#if 0
 #ifndef LZ4_FORCE_MEMORY_ACCESS   /* can be defined externally, on command line for example */
 #  if defined(__GNUC__) && ( defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) )
 #    define LZ4_FORCE_MEMORY_ACCESS 2
@@ -528,6 +529,13 @@ union LZ4_streamDecode_u {
 #    define LZ4_FORCE_MEMORY_ACCESS 1
 #  endif
 #endif
+#endif
+
+#ifdef ZT_NO_TYPE_PUNNING
+#define LZ4_FORCE_MEMORY_ACCESS 0
+#else
+#define LZ4_FORCE_MEMORY_ACCESS 2
+#endif
 
 /*
  * LZ4_FORCE_SW_BITCOUNT