From: Marc Dietrich Date: Mon, 31 Aug 2009 15:56:33 +0000 (-0700) Subject: mesa: fix 32bit cross compilation on a 64bit machine X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c705e7238292d6c534d18dddcc03ecc6a24a5d66;p=mesa.git 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. --- diff --git a/configure.ac b/configure.ac index 9d318b3fc20..c5ef676e2e5 100644 --- a/configure.ac +++ b/configure.ac @@ -126,6 +126,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 aa49a9134aa..69122c114b0 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