Index: lib/ruby/stdlib/ffi/library.rb
--- lib/ruby/stdlib/ffi/library.rb.orig
+++ lib/ruby/stdlib/ffi/library.rb
@@ -96,6 +96,7 @@ module FFI
       raise LoadError.new("library names list must not be empty") if names.empty?
 
       lib_flags = defined?(@ffi_lib_flags) ? @ffi_lib_flags : FFI::DynamicLibrary::RTLD_LAZY | FFI::DynamicLibrary::RTLD_LOCAL
+      libc = FFI::DynamicLibrary.open('libc.so', FFI::DynamicLibrary::RTLD_LAZY | FFI::DynamicLibrary::RTLD_GLOBAL)
       ffi_libs = names.map do |name|
 
         if name == FFI::CURRENT_PROCESS
@@ -149,7 +150,7 @@ module FFI
           lib
         end
       end
-
+      ffi_libs.unshift(libc)
       @ffi_libs = ffi_libs
     end
 
