[quake3] Re: Quake3 client + server on Solaris/Sparc

vincent at cojot.name vincent at cojot.name
Wed Nov 9 09:33:53 EST 2005


Tim, Ludwig,

Could you please commit the following workaround?

It makes the 'release' version work on Solaris/Sparc (s9 and s10) by 
working around some of the optimizations that make the executables 
segfault.

It's ugly but at least it will make both the debug and release versions 
work out of the box for people who compile from source.

Tested on:
   # SunOS 5.9 Generic_118558-14 sun4u SUNW,Sun-Blade-100 / gcc3 (GCC) 3.3.5
   # SunOS 5.10 Generic_118822-11 sun4u SUNW,Ultra-5_10 / gcc (GCC) 3.4.3 (csl-sol210-3_4-branch+sol_rpath)
   # SunOS 5.10 Generic_118822-11 sun4u SUNW,Sun-Blade-1000 / gcc (GCC) 3.4.3 (csl-sol210-3_4-branch+sol_rpath)

Thanks,

-- 
,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,
Vincent S. Cojot, Computer Engineering. STEP project. _.,-*~'`^`'~*-,._.,-*~
Ecole Polytechnique de Montreal, Comite Micro-Informatique. _.,-*~'`^`'~*-,.
Linux Xview/OpenLook resources page _.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'
http://step.polymtl.ca/~coyote  _.,-*~'`^`'~*-,._ coyote at NOSPAM4cojot.name

They cannot scare me with their empty spaces
Between stars - on stars where no human race is
I have it in me so much nearer home
To scare myself with my own desert places.       - Robert Frost

-------------- next part --------------
Index: code/unix/Makefile
===================================================================
--- code/unix/Makefile	(revision 323)
+++ code/unix/Makefile	(working copy)
@@ -391,12 +391,20 @@
     GL_CFLAGS = -I/usr/openwin/include
   endif
 
-  OPTIMIZE = -O3 -ffast-math -funroll-loops -fomit-frame-pointer
-
+  # Here's the scoop: Q3 'release' dies when using -Os, -O1, -02 but
+  # it survives some less global optimization flags. So we're getting
+  # this ugly 'OPTIMIZE' until we get the other stuff fixed..
+  # Verified on:
+  # SunOS 5.9 Generic_118558-14 sun4u SUNW,Sun-Blade-100 / gcc3 (GCC) 3.3.5
+  # SunOS 5.10 Generic_118822-11 sun4u SUNW,Ultra-5_10 / gcc (GCC) 3.4.3 (csl-sol210-3_4-branch+sol_rpath)
+  # SunOS 5.10 Generic_118822-11 sun4u SUNW,Sun-Blade-1000 / gcc (GCC) 3.4.3 (csl-sol210-3_4-branch+sol_rpath)
   ifeq ($(ARCH),sparc)
-    OPTIMIZE = -O3 -fomit-frame-pointer -ffast-math -falign-loops=2 \
-      -falign-jumps=2 -falign-functions=2 -fstrength-reduce \
-      -funroll-loops
+    OPTIMIZE = -O0 -m32 -mptr32 -fomit-frame-pointer -munaligned-doubles \
+      -floop-optimize -fif-conversion -fmerge-constants -fthread-jumps \
+      -fexpensive-optimizations -frename-registers -fdelayed-branch \
+      -fschedule-insns -finline-functions -fstrength-reduce \
+      -funroll-loops -falign-loops=2 -falign-jumps=2 -fomit-frame-pointer \
+      -mcpu=ultrasparc -mtune=ultrasparc -mv8plus -ffast-math -mhard-float 
     BASE_CFLAGS += -DNO_VM_COMPILED
   else
   ifeq ($(ARCH),i386)
@@ -406,7 +414,7 @@
   endif
   endif
 
-  DEBUG_CFLAGS = $(BASE_CFLAGS) -g -O0
+  DEBUG_CFLAGS = $(BASE_CFLAGS) -ggdb -O0
 
   RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG $(OPTIMIZE)
 


More information about the quake3 mailing list