makelib/config-linux.make
changeset 126 9cd66b79ca54
parent 122 6fcb351d23a7
child 135 0325651d2b43
--- a/makelib/config-linux.make	Mon Mar 06 21:21:07 2017 +0000
+++ b/makelib/config-linux.make	Tue Mar 21 13:00:49 2017 +0000
@@ -31,11 +31,27 @@
 
 CC=gcc
 
-STC_LEXLIB=
-STC_OPT=-O -fno-stack-protector
+#
+# * `-fno-strict-aliasing` since it's almost impossible to write a memory
+#   manager without breaking C's aliasing rules. Better be on a safe side.
+#   Nice post about these things: http://blog.regehr.org/archives/1307
+#
+# * `-Wno-strict-aliasing` to turn of warnings about breaking aliasing rules. 
+#   While one would think these wanings should be turned off when 
+#   `-fno-strict-aliasing` is passed, apparently some GCCs bark anyway. 
+#
+# * `-fno-stack-protector` is (was) required on Ubuntu brands where it's 
+#   by default on. Smalltalk/X green thread implementation does not wotk
+#   well with it. 
+#
+# * `-U_FORTIFY_SOURCE` is (was) required on Gentoo as a workaround for failing 
+#   longjmp check when _FORTIFY_SOURCE is defined (which is enabled by default 
+#   on Gentoo. Remove when fixed.
+#
+OPT=-fPIC -O2 -fno-strict-aliasing -Wno-strict-aliasing -fno-stack-protector -ggdb3 -pipe -U_FORTIFY_SOURCE
 
-# There are problems with -O3 in gcc3.0, gcc3.3, gcc3.3.1
-LIBRUN_OPT=-O2 -fPIC -fomit-frame-pointer -fno-stack-protector
+STC_LEXLIB=
+
 OS=-DLINUX
 
 FFI_ARCH=x86