Actions
Bug #9710
closed__builtin_setjmp/longjmp causes SEGV with mingw
    Bug #9710:
    __builtin_setjmp/longjmp causes SEGV with mingw
  
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.2.0dev (2014-04-07 trunk 45529) [x64-mingw32]
Backport:
Description
Now __builtin_setjmp/__builtin_longjmp are used with x64-mingw.
ruby 2.2.0dev (2014-04-07 trunk 45529) [x64-mingw32]
gcc version 4.8.2 20130712 (prerelease) (Built by MinGW-builds project)
.ext/include/x64-mingw32/ruby/config.h
#define RUBY_SETJMP(env) __builtin_setjmp((env))
#define RUBY_LONGJMP(env,val) __builtin_longjmp((env),val)
But this casues SEGV with callcc.
ruby -rcontinuation -e "callcc{|c|c.call}"
Instead using setjmpex/longjmp seems to work fine.
#define RUBY_SETJMP(env) setjmpex((env))
#define RUBY_LONGJMP(env,val) longjmp((env),val)
  
        
          
          Updated by nobu (Nobuyoshi Nakada) over 11 years ago
          
          
        
        
      
      - Status changed from Open to Closed
 - % Done changed from 0 to 100
 
Applied in changeset r45537.
configure.in: no __builtin_setjmp on x64-mingw
- configure.in: get rid of __builtin_setjmp/__builtin_longjmp on
x64-mingw, which causes SEGV with callcc.
[ruby-core:61887] [Bug #9710] 
        
          
          Updated by wanabe (_ wanabe) over 11 years ago
          
          
        
        
      
      - Related to Bug #9692: __builtin_longjmp is called with a value greater than 1 (GCC compilation error) added
 
        
          
          Updated by wanabe (_ wanabe) over 11 years ago
          
          
        
        
      
      - Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN to 2.0.0: REQUIRED, 2.1: REQUIRED
 
I guess it should be backported with #9692.
        
          
          Updated by nagachika (Tomoyuki Chikanaga) about 11 years ago
          
          
        
        
      
      - Backport changed from 2.0.0: REQUIRED, 2.1: REQUIRED to 2.0.0: REQUIRED, 2.1: DONE
 
Backported into ruby_2_1 branch at r47278.
        
          
          Updated by wanabe (_ wanabe) over 7 years ago
          
          
        
        
      
      - Related to Bug #14480: miniruby crashing when compiled with -O2 or -O1 on aarch64 added
 
Actions