Mesa (mesa_7_5_branch): mesa: fix 32bit cross compilation on a 64bit machine

Brian Paul brianp at kemper.freedesktop.org
Mon Aug 31 16:33:28 UTC 2009


Module: Mesa
Branch: mesa_7_5_branch
Commit: a48ee529a256611676884262ced218ad6c05f961
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a48ee529a256611676884262ced218ad6c05f961

Author: Marc Dietrich <marvin24 at gmx.de>
Date:   Mon Aug 31 08:56:33 2009 -0700

mesa: fix 32bit cross compilation on a 64bit machine

When cross compiling on a 64bit machine, gen_matypes.c is build
for the host machine (64bit) but must generates code for the target
machine (32bit). This causes wrong offsets all over the place and
crashes googleearth on my machine. Solution is to add -m32 when
cross compiling.

Attached patch is compatible with linux-x86-32 and autoconf based
builds.

---

 configure.ac          |    1 +
 src/mesa/x86/Makefile |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/configure.ac b/configure.ac
index 8607ff1..63cc27e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -121,6 +121,7 @@ AC_ARG_ENABLE([32-bit],
 if test "x$enable_32bit" = xyes; then
     if test "x$GCC" = xyes; then
         CFLAGS="$CFLAGS -m32"
+        ARCH_FLAGS="$ARCH_FLAGS -m32"
     fi
     if test "x$GXX" = xyes; then
         CXXFLAGS="$CXXFLAGS -m32"
diff --git a/src/mesa/x86/Makefile b/src/mesa/x86/Makefile
index aa49a91..69122c1 100644
--- a/src/mesa/x86/Makefile
+++ b/src/mesa/x86/Makefile
@@ -21,7 +21,7 @@ clean:
 
 
 gen_matypes: gen_matypes.c
-	$(HOST_CC) $(INCLUDE_DIRS) $(HOST_CFLAGS) gen_matypes.c -o gen_matypes
+	$(HOST_CC) $(ARCH_FLAGS) $(INCLUDE_DIRS) $(HOST_CFLAGS) gen_matypes.c -o gen_matypes
 
 # need some special rules here, unfortunately
 matypes.h: ../main/mtypes.h ../tnl/t_context.h gen_matypes




More information about the mesa-commit mailing list