summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Dietrich <[email protected]>2009-08-31 08:56:33 -0700
committerBrian Paul <[email protected]>2009-08-31 10:32:14 -0600
commita48ee529a256611676884262ced218ad6c05f961 (patch)
tree377085003a82c25676f6ca344be269fe49726c69
parentedb117879846155632aaeb66483a3085c7a78815 (diff)
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.
-rw-r--r--configure.ac1
-rw-r--r--src/mesa/x86/Makefile2
2 files changed, 2 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 8607ff17a3c..63cc27eec91 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 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