Merge feature-block-in-context
authorJan Vrany <jan.vrany@fit.cvut.cz>
Tue, 28 Mar 2017 18:37:15 +0100
branchfeature-block-in-context
changeset 162 199235cbc717
parent 161 cfc0b59da7a9 (current diff)
parent 126 9cd66b79ca54 (diff)
child 163 1590a6dbf652
child 243 eb399b2c8910
Merge
specs/stx-jv.rbspec
--- a/makelib/config-linux-i386.make	Wed Feb 01 23:19:29 2017 +0000
+++ b/makelib/config-linux-i386.make	Tue Mar 28 18:37:15 2017 +0100
@@ -17,17 +17,8 @@
 DEFS=-D__amd64_mode32__ -DELF
 DLDEFS=-DHAS_DLOPEN
 
+CCCONFOPT=-m32
 
-#
-# ATTENTION: with gcc3.2 fPIC + O6 generates wrong code in stc - sigh
-#
-CCCONFOPT=-m32
-OPT=-fPIC -O2 -fomit-frame-pointer -fno-stack-protector
-# avoid tree-loop-vectorize in librun for now as is makes librun/md5.c segfault
-# also, do not call it tree-loop-vectorize, but combine tree-vectorize 
-# and ftree-slp-vectorize for gcc version before 4.9
-# LIBRUN_OPT=$(OPT) -fno-tree-vectorize -ftree-slp-vectorize
-LIBRUN_OPT=-fPIC -O0 -fomit-frame-pointer -fno-stack-protector -fno-tree-vectorize
 AS_CC=as
 AS_CC_CFLAG=
 ASFLAGS=--32
@@ -60,8 +51,6 @@
 # END FFI kludge
 FFI_CFLAGS=$(CCCONFOPT)
 #------------------ end of linux-elf/amd64_mode32 ---------------------
-OPT?=-pipe -fno-omit-frame-pointer -fno-stack-protector -fno-strict-aliasing -fwrapv -fPIC -O -ggdb3
-LIBRUN_OPT?=$(OPT)
 O_RULE=__STANDARD_O_RULE__
 EXTRA_LIBS=-ldl -lX11 -lXext
 
--- a/makelib/config-linux-x86_64.make	Wed Feb 01 23:19:29 2017 +0000
+++ b/makelib/config-linux-x86_64.make	Tue Mar 28 18:37:15 2017 +0100
@@ -26,14 +26,6 @@
 	-Wl,-z,now,-Bsymbolic,-rpath,'$$ORIGIN',-rpath,'$$ORIGIN/lib',-rpath,'$$ORIGIN/../lib'
 EXTRA_SHARED_LIBS=-ldl
 
-#
-# ATTENTION: with gcc3.2 fPIC + O6 generates wrong code in stc - sigh
-# gcc toplevel-reorder breaks relative function offset generation (leads to SIGSEGV)
-OPT=-O2 -fno-toplevel-reorder -fno-stack-protector
-
-# workaround for failing longjmp check: undefine FORTIFY_SOURCE, which is enabled by default on Gentoo. Remove when fixed.
-LIBRUN_OPT=-g -O -fno-stack-protector -U_FORTIFY_SOURCE -Wno-comment -Wno-pointer-sign -Wno-unused-variable -Wno-unused-parameter -Wno-unused-label -Wall
-
 #OPTIONAL_DL_LIB=-ldl
 #OPTIONAL_LIBDL_TARGET=libdld
 
@@ -76,8 +68,6 @@
 #	$(LD) -shared $(LDFLAGS) -o $*.so $*.o $(LOCAL_SHARED_LIBS)
 
 #------------------ end of linux-elf/x86_64 ---------------------
-OPT?=-pipe -fno-omit-frame-pointer -fno-stack-protector -fno-strict-aliasing -fwrapv -fPIC  -ggdb3
-LIBRUN_OPT?=$(OPT)
 O_RULE=__STANDARD_O_RULE__
 EXTRA_LIBS=-ldl -lX11 -lXext
 MAKE_ZLIB_ARG= "CFLAGS=-fPIC -O3 -DUSE_MMAP"
--- a/makelib/config-linux.make	Wed Feb 01 23:19:29 2017 +0000
+++ b/makelib/config-linux.make	Tue Mar 28 18:37:15 2017 +0100
@@ -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
--- a/rakelib/hglib.rb	Wed Feb 01 23:19:29 2017 +0000
+++ b/rakelib/hglib.rb	Tue Mar 28 18:37:15 2017 +0100
@@ -458,13 +458,10 @@
     end
 
     def push(remote = 'default', user: nil, pass: nil, rev: nil, bookmarks: [])
-      hg("push", remote, ssh: sshconf(remote), config: authconf(remote, user, pass), rev: rev, bookmark: bookmarks) do | status, stdout|                
-        case status.exitstatus
-        when 0          
-          STDOUT.print stdout
-        when 1
-          puts "No new changes to push to #{remote}"          
-        else        
+      hg("push", remote, ssh: sshconf(remote), config: authconf(remote, user, pass), rev: rev, bookmark: bookmarks) do | status, stdout, stderr |                
+        STDOUT.puts stdout        
+        if status.exitstatus != 0 and status.exitstatus != 1 then
+          STDERR.puts stderr
           raise Exception.new("Failed to 'push' from #{remote} (exit code #{status.exitstatus})")
         end
       end
--- a/specs/stx-jv.rbspec	Wed Feb 01 23:19:29 2017 +0000
+++ b/specs/stx-jv.rbspec	Tue Mar 28 18:37:15 2017 +0100
@@ -14,7 +14,7 @@
   else        
     error_unsupported_platform()
   end
-  build = Jenkins::Build.new(%Q{https://swing.fit.cvut.cz/jenkins/job/stx_jv/lastSuccessfulBuild})
+  build = Jenkins::Build.new(%Q{https://swing.fit.cvut.cz/jenkins/job/stx_jv/lastStableBuild})
   platform = build_platform_id()
   build.artifacts.each do | artifact |    
     if (pattern =~ artifact.name) and (artifact.name.include? platform) then
@@ -127,9 +127,9 @@
       if PROJECT == 'stx:jv-branch' then  
         chdir BUILD_DIR / 'stx' / 'projects' / 'smalltalk' do
           if win32?
-            cmd = "smalltalk.bat -I --quick --eval \"Stdout nextPutLine:'OKay, VM runs'. Smalltalk exit: 0\""
+            cmd = "smalltalk.bat --abortOnSEGV -I --quick --eval \"Stdout nextPutLine:'OKay, VM runs'. Smalltalk exit: 0\""
           else
-            cmd = "./smalltalk -I --quick --eval \"Stdout nextPutLine:'OKay, VM runs'. Smalltalk exit: 0\""
+            cmd = "./smalltalk --abortOnSEGV -I --quick --eval \"Stdout nextPutLine:'OKay, VM runs'. Smalltalk exit: 0\""
           end
           if not system cmd
             raise Exception.new("Cannot run smalltalk!")