summaryrefslogtreecommitdiffstats
path: root/abs/extra/libmikmod/libmikmod-3.1.12-64bit-fix.diff
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra/libmikmod/libmikmod-3.1.12-64bit-fix.diff')
-rw-r--r--abs/extra/libmikmod/libmikmod-3.1.12-64bit-fix.diff47
1 files changed, 47 insertions, 0 deletions
diff --git a/abs/extra/libmikmod/libmikmod-3.1.12-64bit-fix.diff b/abs/extra/libmikmod/libmikmod-3.1.12-64bit-fix.diff
new file mode 100644
index 0000000..cd78008
--- /dev/null
+++ b/abs/extra/libmikmod/libmikmod-3.1.12-64bit-fix.diff
@@ -0,0 +1,47 @@
+Date: Sun, 04 Jul 2004 11:53:23 +0200
+From: Josselin Mouette
+Subject: Re: sdl 64bit problem [PATCH]
+
+Le sam, 03/07/2004 � 18:20 +0200, Hans-Frieder Vogt a �crit :
+> Hi list,
+>
+> I found the problem that lead to the distorted sound in tuxracer on AMD64. It
+> may have also been the cause for the other reported sound problems with SDL.
+> The problem is not in SDL, but in SDL-mixer.
+> There, music files (*.it, and probably others as well) are incorrectly read on
+> all 64 bit architectures but Alpha, due to an incorrect data type definition.
+> The attached patch should solve the problem for all 64 bit architectures on
+> Linux, since at least cpp defines _LP64 and __LP64__ for them.
+> _LP64 indicates that long ints and pointers are 64 bits, but integers are 32
+> bits.
+> I am not sure whether the usage of _LP64 is also standard for the commercial
+> compilers, and for other Unixes, but at least Solaris 9 defines _LP64 in the
+> 64 bit environment as well.
+>
+> Josselin,
+> could you include this patch into your next debian packages?
+
+diff -ru libmikmod-3.1.12.orig/include/mikmod.h.in libmikmod-3.1.12/include/mikmod.h.in
+--- libmikmod-3.1.12.orig/include/mikmod.h.in 2007-12-15 01:24:19.000000000 -0800
++++ libmikmod-3.1.12/include/mikmod.h.in 2009-10-05 00:18:56.000000000 -0700
+@@ -85,7 +85,7 @@
+
+ @DOES_NOT_HAVE_SIGNED@
+
+-#if defined(__arch64__) || defined(__alpha) || defined(__x86_64)
++#if defined(__arch64__) || defined(__alpha) || defined(__x86_64) || defined(_LP64)
+ /* 64 bit architectures */
+
+ typedef signed char SBYTE; /* 1 byte, signed */
+diff -ru libmikmod-3.1.12.orig/include/mikmod_internals.h libmikmod-3.1.12/include/mikmod_internals.h
+--- libmikmod-3.1.12.orig/include/mikmod_internals.h 2007-12-15 04:24:51.000000000 -0800
++++ libmikmod-3.1.12/include/mikmod_internals.h 2009-10-05 00:19:15.000000000 -0700
+@@ -50,7 +50,7 @@
+ /*========== More type definitions */
+
+ /* SLONGLONG: 64bit, signed */
+-#if defined (__arch64__) || defined(__alpha)
++#if defined(__arch64__) || defined(__alpha) || defined(__x86_64) || defined(_LP64)
+ typedef long SLONGLONG;
+ #define NATIVE_64BIT_INT
+ #elif defined(__WATCOMC__)