1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Stop testing MJIT on s390x

It didn't work either.
http://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20220905T080003Z.fail.html.gz
This commit is contained in:
Takashi Kokubun 2022-09-05 02:02:13 -07:00
parent fb769aaa14
commit 915cbdb226
No known key found for this signature in database
GPG key ID: 6FFC433B12EE23DD
2 changed files with 10 additions and 16 deletions

View file

@ -14,7 +14,7 @@ The following platforms are either tested on CI or assumed to work.
The MJIT support for the following platforms is no longer maintained. The MJIT support for the following platforms is no longer maintained.
* OS: Windows (mswin, MinGW), Solaris * OS: Windows (mswin, MinGW), Solaris
* Arch: SPARC * Arch: SPARC, s390x
### Architectures ### Architectures

View file

@ -9,6 +9,10 @@ module JITSupport
%r[\A.*/bin/intel64/icc\b], %r[\A.*/bin/intel64/icc\b],
%r[\A/opt/developerstudio\d+\.\d+/bin/cc\z], %r[\A/opt/developerstudio\d+\.\d+/bin/cc\z],
] ]
UNSUPPORTED_ARCHITECTURES = [
's390x',
'sparc',
]
# debian-riscv64: "gcc: internal compiler error: Segmentation fault signal terminated program cc1" https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian-riscv64/ruby-master/log/20200420T083601Z.fail.html.gz # debian-riscv64: "gcc: internal compiler error: Segmentation fault signal terminated program cc1" https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian-riscv64/ruby-master/log/20200420T083601Z.fail.html.gz
# freebsd12: cc1 internal failure https://rubyci.org/logs/rubyci.s3.amazonaws.com/freebsd12/ruby-master/log/20200306T103003Z.fail.html.gz # freebsd12: cc1 internal failure https://rubyci.org/logs/rubyci.s3.amazonaws.com/freebsd12/ruby-master/log/20200306T103003Z.fail.html.gz
# rhel8: one or more PCH files were found, but they were invalid https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel8/ruby-master/log/20200306T153003Z.fail.html.gz # rhel8: one or more PCH files were found, but they were invalid https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel8/ruby-master/log/20200306T153003Z.fail.html.gz
@ -55,11 +59,13 @@ module JITSupport
) )
end end
# For MJIT
def supported? def supported?
return @supported if defined?(@supported) return @supported if defined?(@supported)
@supported = RbConfig::CONFIG["MJIT_SUPPORT"] != 'no' && UNSUPPORTED_COMPILERS.all? do |regexp| @supported = RbConfig::CONFIG["MJIT_SUPPORT"] != 'no' &&
!regexp.match?(RbConfig::CONFIG['MJIT_CC']) UNSUPPORTED_COMPILERS.all? { |regexp| !regexp.match?(RbConfig::CONFIG['MJIT_CC']) } &&
end && !appveyor_pdb_corrupted? && !PENDING_RUBYCI_NICKNAMES.include?(ENV['RUBYCI_NICKNAME']) !PENDING_RUBYCI_NICKNAMES.include?(ENV['RUBYCI_NICKNAME']) &&
!UNSUPPORTED_ARCHITECTURES.include?(RUBY_PLATFORM.split('-', 2).first)
end end
def yjit_supported? def yjit_supported?
@ -67,18 +73,6 @@ module JITSupport
RUBY_PLATFORM.match?(/^(x86_64|x64|arm64|aarch64)-/) RUBY_PLATFORM.match?(/^(x86_64|x64|arm64|aarch64)-/)
end end
# AppVeyor's Visual Studio 2013 / 2015 are known to spuriously generate broken pch / pdb, like:
# error C2859: c:\projects\ruby\x64-mswin_120\include\ruby-2.8.0\x64-mswin64_120\rb_mjit_header-2.8.0.pdb
# is not the pdb file that was used when this precompiled header was created, recreate the precompiled header.
# https://ci.appveyor.com/project/ruby/ruby/builds/32159878/job/l2p38snw8yxxpp8h
#
# Until we figure out why, this allows us to skip testing JIT when it happens.
def appveyor_pdb_corrupted?
return false unless ENV.key?('APPVEYOR')
stdout, _stderr, _status = eval_with_jit_without_retry('proc {}.call', verbose: 2, min_calls: 1)
stdout.include?('.pdb is not the pdb file that was used when this precompiled header was created, recreate the precompiled header.')
end
def remove_mjit_logs(stderr) def remove_mjit_logs(stderr)
if defined?(RubyVM::MJIT) && RubyVM::MJIT.enabled? # utility for -DFORCE_MJIT_ENABLE if defined?(RubyVM::MJIT) && RubyVM::MJIT.enabled? # utility for -DFORCE_MJIT_ENABLE
stderr.gsub(/^MJIT warning: Skipped to compile unsupported instruction: \w+\n/m, '') stderr.gsub(/^MJIT warning: Skipped to compile unsupported instruction: \w+\n/m, '')