void-packages/srcpkgs/mame/patches/ppc64-fixes.patch

36 lines
771 B
Diff

--- 3rdparty/bx/include/bx/platform.h
+++ 3rdparty/bx/include/bx/platform.h
@@ -133,8 +133,14 @@
#endif //
#if BX_CPU_PPC
-# undef BX_CPU_ENDIAN_BIG
-# define BX_CPU_ENDIAN_BIG 1
+// _LITTLE_ENDIAN exists on ppc64le.
+# if _LITTLE_ENDIAN
+# undef BX_CPU_ENDIAN_LITTLE
+# define BX_CPU_ENDIAN_LITTLE 1
+# else
+# undef BX_CPU_ENDIAN_BIG
+# define BX_CPU_ENDIAN_BIG 1
+# endif
#else
# undef BX_CPU_ENDIAN_LITTLE
# define BX_CPU_ENDIAN_LITTLE 1
--- makefile
+++ makefile
@@ -394,6 +394,12 @@ BIGENDIAN := 1
endif
endif # BIGENDIAN
+# Work around an issue with long doubles on ppc64 (#3157)
+ifneq (,$(findstring ppc64,$(UNAME)))
+ARCHOPTS_C += -mlong-double-64
+ARCHOPTS_CXX += -mlong-double-64
+endif
+
ifndef PYTHON_EXECUTABLE
PYTHON := python
else