--- 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