Blame SOURCES/ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch

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