From a48ee529a256611676884262ced218ad6c05f961 Mon Sep 17 00:00:00 2001 From: Marc Dietrich Date: Mon, 31 Aug 2009 08:56:33 -0700 Subject: 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 deletion(-) diff --git a/configure.ac b/configure.ac index 8607ff17a3..63cc27eec9 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 aa49a9134a..69122c114b 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 -- cgit v1.2.3