f8d165
From 346e147ba6480839b87046e9a9efab0bf6ed3660 Mon Sep 17 00:00:00 2001
f8d165
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
f8d165
Date: Wed, 10 Aug 2016 17:35:48 +0200
f8d165
Subject: [PATCH] Rely on ldd to detect glibc.
f8d165
f8d165
This is just workaround, since we know we are quite sure this will be successful
f8d165
on Red Hat platforms.
f8d165
f8d165
This workaround rhbz#1361037
f8d165
---
f8d165
 test/fiddle/helper.rb | 92 ---------------------------------------------------
f8d165
 1 file changed, 92 deletions(-)
f8d165
f8d165
diff --git a/test/fiddle/helper.rb b/test/fiddle/helper.rb
f8d165
index 1da3d93..65148a1 100644
f8d165
--- a/test/fiddle/helper.rb
f8d165
+++ b/test/fiddle/helper.rb
f8d165
@@ -6,95 +6,6 @@
f8d165
 
f8d165
 libc_so = libm_so = nil
f8d165
 
f8d165
-case RUBY_PLATFORM
f8d165
-when /cygwin/
f8d165
-  libc_so = "cygwin1.dll"
f8d165
-  libm_so = "cygwin1.dll"
f8d165
-when /linux/
f8d165
-  libdir = '/lib'
f8d165
-  case [0].pack('L!').size
f8d165
-  when 4
f8d165
-    # 32-bit ruby
f8d165
-    libdir = '/lib32' if File.directory? '/lib32'
f8d165
-  when 8
f8d165
-    # 64-bit ruby
f8d165
-    libdir = '/lib64' if File.directory? '/lib64'
f8d165
-  end
f8d165
-  libc_so = File.join(libdir, "libc.so.6")
f8d165
-  libm_so = File.join(libdir, "libm.so.6")
f8d165
-when /mingw/, /mswin/
f8d165
-  require "rbconfig"
f8d165
-  crtname = RbConfig::CONFIG["RUBY_SO_NAME"][/msvc\w+/] || 'ucrtbase'
f8d165
-  libc_so = libm_so = "#{crtname}.dll"
f8d165
-when /darwin/
f8d165
-  libc_so = "/usr/lib/libc.dylib"
f8d165
-  libm_so = "/usr/lib/libm.dylib"
f8d165
-when /kfreebsd/
f8d165
-  libc_so = "/lib/libc.so.0.1"
f8d165
-  libm_so = "/lib/libm.so.1"
f8d165
-when /gnu/	#GNU/Hurd
f8d165
-  libc_so = "/lib/libc.so.0.3"
f8d165
-  libm_so = "/lib/libm.so.6"
f8d165
-when /mirbsd/
f8d165
-  libc_so = "/usr/lib/libc.so.41.10"
f8d165
-  libm_so = "/usr/lib/libm.so.7.0"
f8d165
-when /freebsd/
f8d165
-  libc_so = "/lib/libc.so.7"
f8d165
-  libm_so = "/lib/libm.so.5"
f8d165
-when /bsd|dragonfly/
f8d165
-  libc_so = "/usr/lib/libc.so"
f8d165
-  libm_so = "/usr/lib/libm.so"
f8d165
-when /solaris/
f8d165
-  libdir = '/lib'
f8d165
-  case [0].pack('L!').size
f8d165
-  when 4
f8d165
-    # 32-bit ruby
f8d165
-    libdir = '/lib' if File.directory? '/lib'
f8d165
-  when 8
f8d165
-    # 64-bit ruby
f8d165
-    libdir = '/lib/64' if File.directory? '/lib/64'
f8d165
-  end
f8d165
-  libc_so = File.join(libdir, "libc.so")
f8d165
-  libm_so = File.join(libdir, "libm.so")
f8d165
-when /aix/
f8d165
-  pwd=Dir.pwd
f8d165
-  libc_so = libm_so = "#{pwd}/libaixdltest.so"
f8d165
-  unless File.exist? libc_so
f8d165
-    cobjs=%w!strcpy.o!
f8d165
-    mobjs=%w!floats.o sin.o!
f8d165
-    funcs=%w!sin sinf strcpy strncpy!
f8d165
-    expfile='dltest.exp'
f8d165
-    require 'tmpdir'
f8d165
-    Dir.mktmpdir do |dir|
f8d165
-      begin
f8d165
-        Dir.chdir dir
f8d165
-        %x!/usr/bin/ar x /usr/lib/libc.a #{cobjs.join(' ')}!
f8d165
-        %x!/usr/bin/ar x /usr/lib/libm.a #{mobjs.join(' ')}!
f8d165
-        %x!echo "#{funcs.join("\n")}\n" > #{expfile}!
f8d165
-        require 'rbconfig'
f8d165
-        if RbConfig::CONFIG["GCC"] = 'yes'
f8d165
-          lflag='-Wl,'
f8d165
-        else
f8d165
-          lflag=''
f8d165
-        end
f8d165
-        flags="#{lflag}-bE:#{expfile} #{lflag}-bnoentry -lm"
f8d165
-        %x!#{RbConfig::CONFIG["LDSHARED"]} -o #{libc_so} #{(cobjs+mobjs).join(' ')} #{flags}!
f8d165
-      ensure
f8d165
-        Dir.chdir pwd
f8d165
-      end
f8d165
-    end
f8d165
-  end
f8d165
-else
f8d165
-  libc_so = ARGV[0] if ARGV[0] && ARGV[0][0] == ?/
f8d165
-  libm_so = ARGV[1] if ARGV[1] && ARGV[1][0] == ?/
f8d165
-  if( !(libc_so && libm_so) )
f8d165
-    $stderr.puts("libc and libm not found: #{$0} <libc> <libm>")
f8d165
-  end
f8d165
-end
f8d165
-
f8d165
-libc_so = nil if !libc_so || (libc_so[0] == ?/ && !File.file?(libc_so))
f8d165
-libm_so = nil if !libm_so || (libm_so[0] == ?/ && !File.file?(libm_so))
f8d165
-
f8d165
 if !libc_so || !libm_so
f8d165
   ruby = EnvUtil.rubybin
f8d165
   ldd = `ldd #{ruby}`
f8d165
-- 
f8d165
2.9.2
f8d165