Hello community, here is the log from the commit of package rubygem-ffi for openSUSE:Factory checked in at 2019-01-21 10:53:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-ffi (Old) and /work/SRC/openSUSE:Factory/.rubygem-ffi.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-ffi" Mon Jan 21 10:53:15 2019 rev:28 rq:665961 version:1.10.0 Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-ffi/rubygem-ffi.changes 2018-06-22 13:29:30.703672426 +0200 +++ /work/SRC/openSUSE:Factory/.rubygem-ffi.new.28833/rubygem-ffi.changes 2019-01-21 10:53:31.839788290 +0100 @@ -1,0 +2,21 @@ +Mon Jan 14 08:00:29 UTC 2019 - mschnit...@suse.com + +- updated to version 1.10.0 + + Added: + * Add /opt/local/lib/ to ffi's fallback library search path. #638 + * Add binary gem support for ruby-2.6 on Windows + * Add FreeBSD on AArch64 and ARM support. #644 + * Add FFI::LastError.winapi_error on Windows native or Cygwin. #633 + + Changed: + * Update to rake-compiler-dock-0.7.0 + * Use 64-bit inodes on FreeBSD >= 12. #644 + * Switch time_t and suseconds_t types to long on FreeBSD. #627 + * Make register_t long_long on 64-bit FreeBSD. #644 + * Fix Pointer#write_array_of_type #637 + + Removed: + * Drop binary gem support for ruby-2.0 and 2.1 on Windows + +------------------------------------------------------------------- Old: ---- ffi-1.9.25.gem New: ---- ffi-1.10.0.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-ffi.spec ++++++ --- /var/tmp/diff_new_pack.d0nicL/_old 2019-01-21 10:53:32.363787657 +0100 +++ /var/tmp/diff_new_pack.d0nicL/_new 2019-01-21 10:53:32.371787647 +0100 @@ -1,7 +1,7 @@ # # spec file for package rubygem-ffi # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,7 +24,7 @@ # Name: rubygem-ffi -Version: 1.9.25 +Version: 1.10.0 Release: 0 %define mod_name ffi %define mod_full_name %{mod_name}-%{version} ++++++ ffi-1.9.25.gem -> ffi-1.10.0.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.travis.yml new/.travis.yml --- old/.travis.yml 2018-06-03 21:51:02.000000000 +0200 +++ new/.travis.yml 2019-01-06 15:30:17.000000000 +0100 @@ -11,15 +11,11 @@ - linux - osx rvm: - - 1.9.3 - - 2.0.0 - - 2.1 - - 2.2.8 - - 2.3.5 - - 2.4.3 - - 2.5.0 + - 2.3.8 + - 2.4.5 + - 2.5.3 + - 2.6.0 - ruby-head - - rbx - system env: - CC=gcc @@ -28,12 +24,7 @@ allow_failures: - rvm: system - os: osx - rvm: 2.0.0 - - os: osx rvm: ruby-head - - rvm: rbx - - rvm: rbx-head - - rvm: 1.9.3 exclude: # ruby 2.4.2 needs build with xcode9 or later on osx - os: osx rvm: 2.4.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md --- old/CHANGELOG.md 2018-06-03 21:51:02.000000000 +0200 +++ new/CHANGELOG.md 2019-01-06 15:30:17.000000000 +0100 @@ -1,3 +1,23 @@ +1.10.0 / 2019-01-06 +------------------- + +Added: +* Add /opt/local/lib/ to ffi's fallback library search path. #638 +* Add binary gem support for ruby-2.6 on Windows +* Add FreeBSD on AArch64 and ARM support. #644 +* Add FFI::LastError.winapi_error on Windows native or Cygwin. #633 + +Changed: +* Update to rake-compiler-dock-0.7.0 +* Use 64-bit inodes on FreeBSD >= 12. #644 +* Switch time_t and suseconds_t types to long on FreeBSD. #627 +* Make register_t long_long on 64-bit FreeBSD. #644 +* Fix Pointer#write_array_of_type #637 + +Removed: +* Drop binary gem support for ruby-2.0 and 2.1 on Windows + + 1.9.25 / 2018-06-03 ------------------- @@ -9,6 +29,10 @@ 1.9.24 / 2018-06-02 ------------------- +Security Note: + +This update addresses vulnerability CVE-2018-1000201: DLL loading issue which can be hijacked on Windows OS, when a Symbol is used as DLL name instead of a String. Found by Matthew Bush. + Added: * Added a CHANGELOG file * Add mips64(eb) support, and mips r6 support. (#601) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Gemfile new/Gemfile --- old/Gemfile 2018-06-03 21:51:02.000000000 +0200 +++ new/Gemfile 2019-01-06 15:30:17.000000000 +0100 @@ -3,7 +3,7 @@ group :development do gem 'rake', '~> 10.1' gem 'rake-compiler', '~> 1.0.3' - gem 'rake-compiler-dock', '~> 0.6.2' + gem 'rake-compiler-dock', '~> 0.7.0' gem 'rspec', '~> 3.0' gem 'rubygems-tasks', '~> 0.2.4', :require => 'rubygems/tasks' gem "rubysl", "~> 2.0", :platforms => 'rbx' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Rakefile new/Rakefile --- old/Rakefile 2018-06-03 21:51:02.000000000 +0200 +++ new/Rakefile 2019-01-06 15:30:17.000000000 +0100 @@ -162,7 +162,6 @@ s.summary = gem_spec.summary s.description = gem_spec.description s.files = %w(LICENSE COPYING README.md CHANGELOG.md Rakefile) - s.has_rdoc = false s.license = gem_spec.license s.platform = 'java' end @@ -199,12 +198,13 @@ sh "x86_64-w64-mingw32-strip -S build/x64-mingw32/stage/lib/#{ruby_version[/^\d+\.\d+/]}/ffi_c.so" end end +end - desc "build a windows gem without all the ceremony." - task "gem:windows" do - require "rake_compiler_dock" - RakeCompilerDock.sh "sudo apt-get update && sudo apt-get install -y libltdl-dev && bundle && rake cross native gem MAKE='nice make -j`nproc`'" - end +desc "build a windows gem without all the ceremony" +task "gem:windows" do + require "rake_compiler_dock" + sh "bundle package" + RakeCompilerDock.sh "sudo apt-get update && sudo apt-get install -y libltdl-dev && bundle --local && rake cross native gem MAKE='nice make -j`nproc`'" end directory "ext/ffi_c/libffi" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/appveyor.yml new/appveyor.yml --- old/appveyor.yml 2018-06-03 21:51:02.000000000 +0200 +++ new/appveyor.yml 2019-01-06 15:30:17.000000000 +0100 @@ -8,7 +8,7 @@ } - ridk version - gem --version - - gem install bundler --quiet --no-ri --no-rdoc + - gem install bundler --quiet --no-document - bundle install build: off build_script: Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ext/ffi_c/LastError.c new/ext/ffi_c/LastError.c --- old/ext/ffi_c/LastError.c 2018-06-03 21:51:02.000000000 +0200 +++ new/ext/ffi_c/LastError.c 2019-01-06 15:30:17.000000000 +0100 @@ -49,8 +49,17 @@ # define USE_PTHREAD_LOCAL #endif +#if defined(__CYGWIN__) +typedef uint32_t DWORD; +DWORD __stdcall GetLastError(void); +void __stdcall SetLastError(DWORD); +#endif + typedef struct ThreadData { int td_errno; +#if defined(_WIN32) || defined(__CYGWIN__) + DWORD td_winapi_errno; +#endif } ThreadData; #if defined(USE_PTHREAD_LOCAL) @@ -126,6 +135,19 @@ return INT2NUM(thread_data_get()->td_errno); } +#if defined(_WIN32) || defined(__CYGWIN__) +/* + * call-seq: winapi_error + * @return [Numeric] + * Get +GetLastError()+ value. Only Windows or Cygwin. + */ +static VALUE +get_last_winapi_error(VALUE self) +{ + return INT2NUM(thread_data_get()->td_winapi_errno); +} +#endif + /* * call-seq: error(error) @@ -146,22 +168,40 @@ return Qnil; } +#if defined(_WIN32) || defined(__CYGWIN__) +/* + * call-seq: error(error) + * @param [Numeric] error + * @return [nil] + * Set +GetLastError()+ value. Only on Windows and Cygwin. + */ +static VALUE +set_last_winapi_error(VALUE self, VALUE error) +{ + SetLastError(NUM2INT(error)); + return Qnil; +} +#endif + void rbffi_save_errno(void) { int error = 0; - #ifdef _WIN32 error = GetLastError(); #else error = errno; #endif +#if defined(_WIN32) || defined(__CYGWIN__) + DWORD winapi_error = GetLastError(); + thread_data_get()->td_winapi_errno = winapi_error; +#endif + thread_data_get()->td_errno = error; } - void rbffi_LastError_Init(VALUE moduleFFI) { @@ -175,6 +215,11 @@ rb_define_module_function(moduleError, "error", get_last_error, 0); rb_define_module_function(moduleError, "error=", set_last_error, 1); +#if defined(_WIN32) || defined(__CYGWIN__) + rb_define_module_function(moduleError, "winapi_error", get_last_winapi_error, 0); + rb_define_module_function(moduleError, "winapi_error=", set_last_winapi_error, 1); +#endif + #if defined(USE_PTHREAD_LOCAL) pthread_key_create(&threadDataKey, thread_data_free); #else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/ffi/library.rb new/lib/ffi/library.rb --- old/lib/ffi/library.rb 2018-06-03 21:51:02.000000000 +0200 +++ new/lib/ffi/library.rb 2019-01-06 15:30:17.000000000 +0100 @@ -126,7 +126,7 @@ else # TODO better library lookup logic unless libname.start_with?("/") || FFI::Platform.windows? - path = ['/usr/lib/','/usr/local/lib/'].find do |pth| + path = ['/usr/lib/','/usr/local/lib/','/opt/local/lib/'].find do |pth| File.exist?(pth + libname) end if path diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/ffi/platform/aarch64-freebsd/types.conf new/lib/ffi/platform/aarch64-freebsd/types.conf --- old/lib/ffi/platform/aarch64-freebsd/types.conf 1970-01-01 01:00:00.000000000 +0100 +++ new/lib/ffi/platform/aarch64-freebsd/types.conf 2019-01-06 15:30:17.000000000 +0100 @@ -0,0 +1,128 @@ +rbx.platform.typedef.__int8_t = char +rbx.platform.typedef.__uint8_t = uchar +rbx.platform.typedef.__int16_t = short +rbx.platform.typedef.__uint16_t = ushort +rbx.platform.typedef.__int32_t = int +rbx.platform.typedef.__uint32_t = uint +rbx.platform.typedef.__int64_t = long_long +rbx.platform.typedef.__uint64_t = ulong_long +rbx.platform.typedef.__int_least8_t = char +rbx.platform.typedef.__uint_least8_t = uchar +rbx.platform.typedef.__int_least16_t = short +rbx.platform.typedef.__uint_least16_t = ushort +rbx.platform.typedef.__int_least32_t = int +rbx.platform.typedef.__uint_least32_t = uint +rbx.platform.typedef.__int_least64_t = long_long +rbx.platform.typedef.__uint_least64_t = ulong_long +rbx.platform.typedef.__int_fast8_t = int +rbx.platform.typedef.__uint_fast8_t = uint +rbx.platform.typedef.__int_fast16_t = int +rbx.platform.typedef.__uint_fast16_t = uint +rbx.platform.typedef.__int_fast32_t = int +rbx.platform.typedef.__uint_fast32_t = uint +rbx.platform.typedef.__int_fast64_t = long_long +rbx.platform.typedef.__uint_fast64_t = ulong_long +rbx.platform.typedef.__intptr_t = long +rbx.platform.typedef.__uintptr_t = ulong +rbx.platform.typedef.__intmax_t = long_long +rbx.platform.typedef.__uintmax_t = ulong_long +rbx.platform.typedef.__register_t = long_long +rbx.platform.typedef.__vaddr_t = ulong +rbx.platform.typedef.__paddr_t = ulong +rbx.platform.typedef.__vsize_t = ulong +rbx.platform.typedef.__psize_t = ulong +rbx.platform.typedef.__clock_t = int +rbx.platform.typedef.__clockid_t = int +rbx.platform.typedef.__off_t = long_long +rbx.platform.typedef.__ptrdiff_t = long +rbx.platform.typedef.__size_t = ulong +rbx.platform.typedef.__ssize_t = long +rbx.platform.typedef.__time_t = int +rbx.platform.typedef.__timer_t = int +rbx.platform.typedef.__wchar_t = int +rbx.platform.typedef.__wint_t = int +rbx.platform.typedef.__rune_t = int +rbx.platform.typedef.__wctrans_t = pointer +rbx.platform.typedef.__wctype_t = pointer +rbx.platform.typedef.__cpuid_t = ulong +rbx.platform.typedef.__dev_t = int +rbx.platform.typedef.__fixpt_t = uint +rbx.platform.typedef.__gid_t = uint +rbx.platform.typedef.__id_t = uint +rbx.platform.typedef.__in_addr_t = uint +rbx.platform.typedef.__in_port_t = ushort +rbx.platform.typedef.__ino_t = uint +rbx.platform.typedef.__key_t = long +rbx.platform.typedef.__mode_t = uint +rbx.platform.typedef.__nlink_t = uint +rbx.platform.typedef.__pid_t = int +rbx.platform.typedef.__rlim_t = ulong_long +rbx.platform.typedef.__sa_family_t = uchar +rbx.platform.typedef.__segsz_t = int +rbx.platform.typedef.__socklen_t = uint +rbx.platform.typedef.__swblk_t = int +rbx.platform.typedef.__uid_t = uint +rbx.platform.typedef.__useconds_t = uint +rbx.platform.typedef.__suseconds_t = int +rbx.platform.typedef.u_char = uchar +rbx.platform.typedef.u_short = ushort +rbx.platform.typedef.u_int = uint +rbx.platform.typedef.u_long = ulong +rbx.platform.typedef.unchar = uchar +rbx.platform.typedef.ushort = ushort +rbx.platform.typedef.uint = uint +rbx.platform.typedef.ulong = ulong +rbx.platform.typedef.cpuid_t = ulong +rbx.platform.typedef.register_t = long_long +rbx.platform.typedef.int8_t = char +rbx.platform.typedef.uint8_t = uchar +rbx.platform.typedef.int16_t = short +rbx.platform.typedef.uint16_t = ushort +rbx.platform.typedef.int32_t = int +rbx.platform.typedef.uint32_t = uint +rbx.platform.typedef.int64_t = long_long +rbx.platform.typedef.uint64_t = ulong_long +rbx.platform.typedef.intptr_t = long +rbx.platform.typedef.uintptr_t = ulong +rbx.platform.typedef.u_int8_t = uchar +rbx.platform.typedef.u_int16_t = ushort +rbx.platform.typedef.u_int32_t = uint +rbx.platform.typedef.u_int64_t = ulong_long +rbx.platform.typedef.quad_t = long_long +rbx.platform.typedef.u_quad_t = ulong_long +rbx.platform.typedef.qaddr_t = pointer +rbx.platform.typedef.vaddr_t = ulong +rbx.platform.typedef.paddr_t = ulong +rbx.platform.typedef.vsize_t = ulong +rbx.platform.typedef.psize_t = ulong +rbx.platform.typedef.caddr_t = string +rbx.platform.typedef.daddr_t = int +rbx.platform.typedef.daddr32_t = int +rbx.platform.typedef.daddr64_t = long_long +rbx.platform.typedef.dev_t = int +rbx.platform.typedef.fixpt_t = uint +rbx.platform.typedef.gid_t = uint +rbx.platform.typedef.id_t = uint +rbx.platform.typedef.ino_t = uint +rbx.platform.typedef.key_t = long +rbx.platform.typedef.mode_t = uint +rbx.platform.typedef.nlink_t = uint +rbx.platform.typedef.pid_t = int +rbx.platform.typedef.rlim_t = ulong_long +rbx.platform.typedef.segsz_t = int +rbx.platform.typedef.swblk_t = int +rbx.platform.typedef.uid_t = uint +rbx.platform.typedef.useconds_t = uint +rbx.platform.typedef.suseconds_t = int +rbx.platform.typedef.in_addr_t = uint +rbx.platform.typedef.in_port_t = ushort +rbx.platform.typedef.sa_family_t = uchar +rbx.platform.typedef.socklen_t = uint +rbx.platform.typedef.clock_t = int +rbx.platform.typedef.clockid_t = int +rbx.platform.typedef.size_t = ulong +rbx.platform.typedef.ssize_t = long +rbx.platform.typedef.time_t = int +rbx.platform.typedef.timer_t = int +rbx.platform.typedef.off_t = long_long +rbx.platform.typedef.__fd_mask = int diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/ffi/platform/aarch64-freebsd12/types.conf new/lib/ffi/platform/aarch64-freebsd12/types.conf --- old/lib/ffi/platform/aarch64-freebsd12/types.conf 1970-01-01 01:00:00.000000000 +0100 +++ new/lib/ffi/platform/aarch64-freebsd12/types.conf 2019-01-06 15:30:17.000000000 +0100 @@ -0,0 +1,128 @@ +rbx.platform.typedef.__int8_t = char +rbx.platform.typedef.__uint8_t = uchar +rbx.platform.typedef.__int16_t = short +rbx.platform.typedef.__uint16_t = ushort +rbx.platform.typedef.__int32_t = int +rbx.platform.typedef.__uint32_t = uint +rbx.platform.typedef.__int64_t = long_long +rbx.platform.typedef.__uint64_t = ulong_long +rbx.platform.typedef.__int_least8_t = char +rbx.platform.typedef.__uint_least8_t = uchar +rbx.platform.typedef.__int_least16_t = short +rbx.platform.typedef.__uint_least16_t = ushort +rbx.platform.typedef.__int_least32_t = int +rbx.platform.typedef.__uint_least32_t = uint +rbx.platform.typedef.__int_least64_t = long_long +rbx.platform.typedef.__uint_least64_t = ulong_long +rbx.platform.typedef.__int_fast8_t = int +rbx.platform.typedef.__uint_fast8_t = uint +rbx.platform.typedef.__int_fast16_t = int +rbx.platform.typedef.__uint_fast16_t = uint +rbx.platform.typedef.__int_fast32_t = int +rbx.platform.typedef.__uint_fast32_t = uint +rbx.platform.typedef.__int_fast64_t = long_long +rbx.platform.typedef.__uint_fast64_t = ulong_long +rbx.platform.typedef.__intptr_t = long +rbx.platform.typedef.__uintptr_t = ulong +rbx.platform.typedef.__intmax_t = long_long +rbx.platform.typedef.__uintmax_t = ulong_long +rbx.platform.typedef.__register_t = long_long +rbx.platform.typedef.__vaddr_t = ulong +rbx.platform.typedef.__paddr_t = ulong +rbx.platform.typedef.__vsize_t = ulong +rbx.platform.typedef.__psize_t = ulong +rbx.platform.typedef.__clock_t = int +rbx.platform.typedef.__clockid_t = int +rbx.platform.typedef.__off_t = long_long +rbx.platform.typedef.__ptrdiff_t = long +rbx.platform.typedef.__size_t = ulong +rbx.platform.typedef.__ssize_t = long +rbx.platform.typedef.__time_t = int +rbx.platform.typedef.__timer_t = int +rbx.platform.typedef.__wchar_t = int +rbx.platform.typedef.__wint_t = int +rbx.platform.typedef.__rune_t = int +rbx.platform.typedef.__wctrans_t = pointer +rbx.platform.typedef.__wctype_t = pointer +rbx.platform.typedef.__cpuid_t = ulong +rbx.platform.typedef.__dev_t = ulong_long +rbx.platform.typedef.__fixpt_t = uint +rbx.platform.typedef.__gid_t = uint +rbx.platform.typedef.__id_t = uint +rbx.platform.typedef.__in_addr_t = uint +rbx.platform.typedef.__in_port_t = ushort +rbx.platform.typedef.__ino_t = ulong_long +rbx.platform.typedef.__key_t = long +rbx.platform.typedef.__mode_t = uint +rbx.platform.typedef.__nlink_t = ulong_long +rbx.platform.typedef.__pid_t = int +rbx.platform.typedef.__rlim_t = ulong_long +rbx.platform.typedef.__sa_family_t = uchar +rbx.platform.typedef.__segsz_t = int +rbx.platform.typedef.__socklen_t = uint +rbx.platform.typedef.__swblk_t = int +rbx.platform.typedef.__uid_t = uint +rbx.platform.typedef.__useconds_t = uint +rbx.platform.typedef.__suseconds_t = int +rbx.platform.typedef.u_char = uchar +rbx.platform.typedef.u_short = ushort +rbx.platform.typedef.u_int = uint +rbx.platform.typedef.u_long = ulong +rbx.platform.typedef.unchar = uchar +rbx.platform.typedef.ushort = ushort +rbx.platform.typedef.uint = uint +rbx.platform.typedef.ulong = ulong +rbx.platform.typedef.cpuid_t = ulong +rbx.platform.typedef.register_t = long_long +rbx.platform.typedef.int8_t = char +rbx.platform.typedef.uint8_t = uchar +rbx.platform.typedef.int16_t = short +rbx.platform.typedef.uint16_t = ushort +rbx.platform.typedef.int32_t = int +rbx.platform.typedef.uint32_t = uint +rbx.platform.typedef.int64_t = long_long +rbx.platform.typedef.uint64_t = ulong_long +rbx.platform.typedef.intptr_t = long +rbx.platform.typedef.uintptr_t = ulong +rbx.platform.typedef.u_int8_t = uchar +rbx.platform.typedef.u_int16_t = ushort +rbx.platform.typedef.u_int32_t = uint +rbx.platform.typedef.u_int64_t = ulong_long +rbx.platform.typedef.quad_t = long_long +rbx.platform.typedef.u_quad_t = ulong_long +rbx.platform.typedef.qaddr_t = pointer +rbx.platform.typedef.vaddr_t = ulong +rbx.platform.typedef.paddr_t = ulong +rbx.platform.typedef.vsize_t = ulong +rbx.platform.typedef.psize_t = ulong +rbx.platform.typedef.caddr_t = string +rbx.platform.typedef.daddr_t = int +rbx.platform.typedef.daddr32_t = int +rbx.platform.typedef.daddr64_t = long_long +rbx.platform.typedef.dev_t = ulong_long +rbx.platform.typedef.fixpt_t = uint +rbx.platform.typedef.gid_t = uint +rbx.platform.typedef.id_t = uint +rbx.platform.typedef.ino_t = ulong_long +rbx.platform.typedef.key_t = long +rbx.platform.typedef.mode_t = uint +rbx.platform.typedef.nlink_t = ulong_long +rbx.platform.typedef.pid_t = int +rbx.platform.typedef.rlim_t = ulong_long +rbx.platform.typedef.segsz_t = int +rbx.platform.typedef.swblk_t = int +rbx.platform.typedef.uid_t = uint +rbx.platform.typedef.useconds_t = uint +rbx.platform.typedef.suseconds_t = int +rbx.platform.typedef.in_addr_t = uint +rbx.platform.typedef.in_port_t = ushort +rbx.platform.typedef.sa_family_t = uchar +rbx.platform.typedef.socklen_t = uint +rbx.platform.typedef.clock_t = int +rbx.platform.typedef.clockid_t = int +rbx.platform.typedef.size_t = ulong +rbx.platform.typedef.ssize_t = long +rbx.platform.typedef.time_t = int +rbx.platform.typedef.timer_t = int +rbx.platform.typedef.off_t = long_long +rbx.platform.typedef.__fd_mask = int diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/ffi/platform/arm-freebsd/types.conf new/lib/ffi/platform/arm-freebsd/types.conf --- old/lib/ffi/platform/arm-freebsd/types.conf 1970-01-01 01:00:00.000000000 +0100 +++ new/lib/ffi/platform/arm-freebsd/types.conf 2019-01-06 15:30:17.000000000 +0100 @@ -0,0 +1,152 @@ +rbx.platform.typedef.__int8_t = char +rbx.platform.typedef.__uint8_t = uchar +rbx.platform.typedef.__int16_t = short +rbx.platform.typedef.__uint16_t = ushort +rbx.platform.typedef.__int32_t = int +rbx.platform.typedef.__uint32_t = uint +rbx.platform.typedef.__int64_t = long_long +rbx.platform.typedef.__uint64_t = ulong_long +rbx.platform.typedef.__clock_t = ulong +rbx.platform.typedef.__cpumask_t = uint +rbx.platform.typedef.__critical_t = int +rbx.platform.typedef.__intfptr_t = int +rbx.platform.typedef.__intmax_t = long_long +rbx.platform.typedef.__intptr_t = int +rbx.platform.typedef.__int_fast8_t = int +rbx.platform.typedef.__int_fast16_t = int +rbx.platform.typedef.__int_fast32_t = int +rbx.platform.typedef.__int_fast64_t = long_long +rbx.platform.typedef.__int_least8_t = char +rbx.platform.typedef.__int_least16_t = short +rbx.platform.typedef.__int_least32_t = int +rbx.platform.typedef.__int_least64_t = long_long +rbx.platform.typedef.__ptrdiff_t = int +rbx.platform.typedef.__register_t = int +rbx.platform.typedef.__segsz_t = int +rbx.platform.typedef.__size_t = uint +rbx.platform.typedef.__ssize_t = int +rbx.platform.typedef.__time_t = int +rbx.platform.typedef.__uintfptr_t = uint +rbx.platform.typedef.__uintmax_t = ulong_long +rbx.platform.typedef.__uintptr_t = uint +rbx.platform.typedef.__uint_fast8_t = uint +rbx.platform.typedef.__uint_fast16_t = uint +rbx.platform.typedef.__uint_fast32_t = uint +rbx.platform.typedef.__uint_fast64_t = ulong_long +rbx.platform.typedef.__uint_least8_t = uchar +rbx.platform.typedef.__uint_least16_t = ushort +rbx.platform.typedef.__uint_least32_t = uint +rbx.platform.typedef.__uint_least64_t = ulong_long +rbx.platform.typedef.__u_register_t = uint +rbx.platform.typedef.__vm_offset_t = uint +rbx.platform.typedef.__vm_ooffset_t = long_long +rbx.platform.typedef.__vm_paddr_t = uint +rbx.platform.typedef.__vm_pindex_t = ulong_long +rbx.platform.typedef.__vm_size_t = uint +rbx.platform.typedef.__blksize_t = uint +rbx.platform.typedef.__blkcnt_t = long_long +rbx.platform.typedef.__clockid_t = int +rbx.platform.typedef.__fflags_t = uint +rbx.platform.typedef.__fsblkcnt_t = ulong_long +rbx.platform.typedef.__fsfilcnt_t = ulong_long +rbx.platform.typedef.__gid_t = uint +rbx.platform.typedef.__id_t = long_long +rbx.platform.typedef.__ino_t = uint +rbx.platform.typedef.__key_t = long +rbx.platform.typedef.__lwpid_t = int +rbx.platform.typedef.__mode_t = ushort +rbx.platform.typedef.__accmode_t = int +rbx.platform.typedef.__nl_item = int +rbx.platform.typedef.__nlink_t = ushort +rbx.platform.typedef.__off_t = long_long +rbx.platform.typedef.__pid_t = int +rbx.platform.typedef.__rlim_t = long_long +rbx.platform.typedef.__sa_family_t = uchar +rbx.platform.typedef.__socklen_t = uint +rbx.platform.typedef.__suseconds_t = long +rbx.platform.typedef.__uid_t = uint +rbx.platform.typedef.__useconds_t = uint +rbx.platform.typedef.__cpuwhich_t = int +rbx.platform.typedef.__cpulevel_t = int +rbx.platform.typedef.__cpusetid_t = int +rbx.platform.typedef.__ct_rune_t = int +rbx.platform.typedef.__rune_t = int +rbx.platform.typedef.__wchar_t = int +rbx.platform.typedef.__wint_t = int +rbx.platform.typedef.__wint_t = int +rbx.platform.typedef.__dev_t = uint +rbx.platform.typedef.__fixpt_t = uint +rbx.platform.typedef.pthread_key_t = int +rbx.platform.typedef.*) = pointer +rbx.platform.typedef.u_char = uchar +rbx.platform.typedef.u_short = ushort +rbx.platform.typedef.u_int = uint +rbx.platform.typedef.u_long = ulong +rbx.platform.typedef.ushort = ushort +rbx.platform.typedef.uint = uint +rbx.platform.typedef.int8_t = char +rbx.platform.typedef.int16_t = short +rbx.platform.typedef.int32_t = int +rbx.platform.typedef.int64_t = long_long +rbx.platform.typedef.uint8_t = uchar +rbx.platform.typedef.uint16_t = ushort +rbx.platform.typedef.uint32_t = uint +rbx.platform.typedef.uint64_t = ulong_long +rbx.platform.typedef.intptr_t = int +rbx.platform.typedef.uintptr_t = uint +rbx.platform.typedef.u_int8_t = uchar +rbx.platform.typedef.u_int16_t = ushort +rbx.platform.typedef.u_int32_t = uint +rbx.platform.typedef.u_int64_t = ulong_long +rbx.platform.typedef.u_quad_t = ulong_long +rbx.platform.typedef.quad_t = long_long +rbx.platform.typedef.qaddr_t = pointer +rbx.platform.typedef.caddr_t = string +rbx.platform.typedef.c_caddr_t = pointer +rbx.platform.typedef.blksize_t = uint +rbx.platform.typedef.cpuwhich_t = int +rbx.platform.typedef.cpulevel_t = int +rbx.platform.typedef.cpusetid_t = int +rbx.platform.typedef.blkcnt_t = long_long +rbx.platform.typedef.clock_t = ulong +rbx.platform.typedef.clockid_t = int +rbx.platform.typedef.cpumask_t = uint +rbx.platform.typedef.critical_t = int +rbx.platform.typedef.daddr_t = long_long +rbx.platform.typedef.dev_t = uint +rbx.platform.typedef.fflags_t = uint +rbx.platform.typedef.fixpt_t = uint +rbx.platform.typedef.fsblkcnt_t = ulong_long +rbx.platform.typedef.fsfilcnt_t = ulong_long +rbx.platform.typedef.gid_t = uint +rbx.platform.typedef.in_addr_t = uint +rbx.platform.typedef.in_port_t = ushort +rbx.platform.typedef.id_t = long_long +rbx.platform.typedef.ino_t = uint +rbx.platform.typedef.key_t = long +rbx.platform.typedef.lwpid_t = int +rbx.platform.typedef.mode_t = ushort +rbx.platform.typedef.accmode_t = int +rbx.platform.typedef.nlink_t = ushort +rbx.platform.typedef.off_t = long_long +rbx.platform.typedef.pid_t = int +rbx.platform.typedef.register_t = int +rbx.platform.typedef.rlim_t = long_long +rbx.platform.typedef.segsz_t = int +rbx.platform.typedef.size_t = uint +rbx.platform.typedef.ssize_t = int +rbx.platform.typedef.suseconds_t = long +rbx.platform.typedef.time_t = int +rbx.platform.typedef.u_register_t = uint +rbx.platform.typedef.uid_t = uint +rbx.platform.typedef.useconds_t = uint +rbx.platform.typedef.vm_offset_t = uint +rbx.platform.typedef.vm_ooffset_t = long_long +rbx.platform.typedef.vm_paddr_t = uint +rbx.platform.typedef.vm_pindex_t = ulong_long +rbx.platform.typedef.vm_size_t = uint +rbx.platform.typedef.__fd_mask = ulong +rbx.platform.typedef.fd_mask = ulong +rbx.platform.typedef.sa_family_t = uchar +rbx.platform.typedef.socklen_t = uint + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/ffi/platform/arm-freebsd12/types.conf new/lib/ffi/platform/arm-freebsd12/types.conf --- old/lib/ffi/platform/arm-freebsd12/types.conf 1970-01-01 01:00:00.000000000 +0100 +++ new/lib/ffi/platform/arm-freebsd12/types.conf 2019-01-06 15:30:17.000000000 +0100 @@ -0,0 +1,152 @@ +rbx.platform.typedef.__int8_t = char +rbx.platform.typedef.__uint8_t = uchar +rbx.platform.typedef.__int16_t = short +rbx.platform.typedef.__uint16_t = ushort +rbx.platform.typedef.__int32_t = int +rbx.platform.typedef.__uint32_t = uint +rbx.platform.typedef.__int64_t = long_long +rbx.platform.typedef.__uint64_t = ulong_long +rbx.platform.typedef.__clock_t = ulong +rbx.platform.typedef.__cpumask_t = uint +rbx.platform.typedef.__critical_t = int +rbx.platform.typedef.__intfptr_t = int +rbx.platform.typedef.__intmax_t = long_long +rbx.platform.typedef.__intptr_t = int +rbx.platform.typedef.__int_fast8_t = int +rbx.platform.typedef.__int_fast16_t = int +rbx.platform.typedef.__int_fast32_t = int +rbx.platform.typedef.__int_fast64_t = long_long +rbx.platform.typedef.__int_least8_t = char +rbx.platform.typedef.__int_least16_t = short +rbx.platform.typedef.__int_least32_t = int +rbx.platform.typedef.__int_least64_t = long_long +rbx.platform.typedef.__ptrdiff_t = int +rbx.platform.typedef.__register_t = int +rbx.platform.typedef.__segsz_t = int +rbx.platform.typedef.__size_t = uint +rbx.platform.typedef.__ssize_t = int +rbx.platform.typedef.__time_t = int +rbx.platform.typedef.__uintfptr_t = uint +rbx.platform.typedef.__uintmax_t = ulong_long +rbx.platform.typedef.__uintptr_t = uint +rbx.platform.typedef.__uint_fast8_t = uint +rbx.platform.typedef.__uint_fast16_t = uint +rbx.platform.typedef.__uint_fast32_t = uint +rbx.platform.typedef.__uint_fast64_t = ulong_long +rbx.platform.typedef.__uint_least8_t = uchar +rbx.platform.typedef.__uint_least16_t = ushort +rbx.platform.typedef.__uint_least32_t = uint +rbx.platform.typedef.__uint_least64_t = ulong_long +rbx.platform.typedef.__u_register_t = uint +rbx.platform.typedef.__vm_offset_t = uint +rbx.platform.typedef.__vm_ooffset_t = long_long +rbx.platform.typedef.__vm_paddr_t = uint +rbx.platform.typedef.__vm_pindex_t = ulong_long +rbx.platform.typedef.__vm_size_t = uint +rbx.platform.typedef.__blksize_t = uint +rbx.platform.typedef.__blkcnt_t = long_long +rbx.platform.typedef.__clockid_t = int +rbx.platform.typedef.__fflags_t = uint +rbx.platform.typedef.__fsblkcnt_t = ulong_long +rbx.platform.typedef.__fsfilcnt_t = ulong_long +rbx.platform.typedef.__gid_t = uint +rbx.platform.typedef.__id_t = long_long +rbx.platform.typedef.__ino_t = ulong_long +rbx.platform.typedef.__key_t = long +rbx.platform.typedef.__lwpid_t = int +rbx.platform.typedef.__mode_t = ushort +rbx.platform.typedef.__accmode_t = int +rbx.platform.typedef.__nl_item = int +rbx.platform.typedef.__nlink_t = ulong_long +rbx.platform.typedef.__off_t = long_long +rbx.platform.typedef.__pid_t = int +rbx.platform.typedef.__rlim_t = long_long +rbx.platform.typedef.__sa_family_t = uchar +rbx.platform.typedef.__socklen_t = uint +rbx.platform.typedef.__suseconds_t = long +rbx.platform.typedef.__uid_t = uint +rbx.platform.typedef.__useconds_t = uint +rbx.platform.typedef.__cpuwhich_t = int +rbx.platform.typedef.__cpulevel_t = int +rbx.platform.typedef.__cpusetid_t = int +rbx.platform.typedef.__ct_rune_t = int +rbx.platform.typedef.__rune_t = int +rbx.platform.typedef.__wchar_t = int +rbx.platform.typedef.__wint_t = int +rbx.platform.typedef.__wint_t = int +rbx.platform.typedef.__dev_t = ulong_long +rbx.platform.typedef.__fixpt_t = uint +rbx.platform.typedef.pthread_key_t = int +rbx.platform.typedef.*) = pointer +rbx.platform.typedef.u_char = uchar +rbx.platform.typedef.u_short = ushort +rbx.platform.typedef.u_int = uint +rbx.platform.typedef.u_long = ulong +rbx.platform.typedef.ushort = ushort +rbx.platform.typedef.uint = uint +rbx.platform.typedef.int8_t = char +rbx.platform.typedef.int16_t = short +rbx.platform.typedef.int32_t = int +rbx.platform.typedef.int64_t = long_long +rbx.platform.typedef.uint8_t = uchar +rbx.platform.typedef.uint16_t = ushort +rbx.platform.typedef.uint32_t = uint +rbx.platform.typedef.uint64_t = ulong_long +rbx.platform.typedef.intptr_t = int +rbx.platform.typedef.uintptr_t = uint +rbx.platform.typedef.u_int8_t = uchar +rbx.platform.typedef.u_int16_t = ushort +rbx.platform.typedef.u_int32_t = uint +rbx.platform.typedef.u_int64_t = ulong_long +rbx.platform.typedef.u_quad_t = ulong_long +rbx.platform.typedef.quad_t = long_long +rbx.platform.typedef.qaddr_t = pointer +rbx.platform.typedef.caddr_t = string +rbx.platform.typedef.c_caddr_t = pointer +rbx.platform.typedef.blksize_t = uint +rbx.platform.typedef.cpuwhich_t = int +rbx.platform.typedef.cpulevel_t = int +rbx.platform.typedef.cpusetid_t = int +rbx.platform.typedef.blkcnt_t = long_long +rbx.platform.typedef.clock_t = ulong +rbx.platform.typedef.clockid_t = int +rbx.platform.typedef.cpumask_t = uint +rbx.platform.typedef.critical_t = int +rbx.platform.typedef.daddr_t = long_long +rbx.platform.typedef.dev_t = ulong_long +rbx.platform.typedef.fflags_t = uint +rbx.platform.typedef.fixpt_t = uint +rbx.platform.typedef.fsblkcnt_t = ulong_long +rbx.platform.typedef.fsfilcnt_t = ulong_long +rbx.platform.typedef.gid_t = uint +rbx.platform.typedef.in_addr_t = uint +rbx.platform.typedef.in_port_t = ushort +rbx.platform.typedef.id_t = long_long +rbx.platform.typedef.ino_t = ulong_long +rbx.platform.typedef.key_t = long +rbx.platform.typedef.lwpid_t = int +rbx.platform.typedef.mode_t = ushort +rbx.platform.typedef.accmode_t = int +rbx.platform.typedef.nlink_t = ulong_long +rbx.platform.typedef.off_t = long_long +rbx.platform.typedef.pid_t = int +rbx.platform.typedef.register_t = int +rbx.platform.typedef.rlim_t = long_long +rbx.platform.typedef.segsz_t = int +rbx.platform.typedef.size_t = uint +rbx.platform.typedef.ssize_t = int +rbx.platform.typedef.suseconds_t = long +rbx.platform.typedef.time_t = int +rbx.platform.typedef.u_register_t = uint +rbx.platform.typedef.uid_t = uint +rbx.platform.typedef.useconds_t = uint +rbx.platform.typedef.vm_offset_t = uint +rbx.platform.typedef.vm_ooffset_t = long_long +rbx.platform.typedef.vm_paddr_t = uint +rbx.platform.typedef.vm_pindex_t = ulong_long +rbx.platform.typedef.vm_size_t = uint +rbx.platform.typedef.__fd_mask = ulong +rbx.platform.typedef.fd_mask = ulong +rbx.platform.typedef.sa_family_t = uchar +rbx.platform.typedef.socklen_t = uint + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/ffi/platform/i386-freebsd/types.conf new/lib/ffi/platform/i386-freebsd/types.conf --- old/lib/ffi/platform/i386-freebsd/types.conf 2018-06-03 21:51:02.000000000 +0200 +++ new/lib/ffi/platform/i386-freebsd/types.conf 2019-01-06 15:30:17.000000000 +0100 @@ -25,7 +25,7 @@ rbx.platform.typedef.__segsz_t = int rbx.platform.typedef.__size_t = uint rbx.platform.typedef.__ssize_t = int -rbx.platform.typedef.__time_t = int +rbx.platform.typedef.__time_t = long rbx.platform.typedef.__uintfptr_t = uint rbx.platform.typedef.__uintmax_t = ulong_long rbx.platform.typedef.__uintptr_t = uint @@ -136,7 +136,7 @@ rbx.platform.typedef.size_t = uint rbx.platform.typedef.ssize_t = int rbx.platform.typedef.suseconds_t = long -rbx.platform.typedef.time_t = int +rbx.platform.typedef.time_t = long rbx.platform.typedef.u_register_t = uint rbx.platform.typedef.uid_t = uint rbx.platform.typedef.useconds_t = uint diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/ffi/platform/i386-freebsd12/types.conf new/lib/ffi/platform/i386-freebsd12/types.conf --- old/lib/ffi/platform/i386-freebsd12/types.conf 1970-01-01 01:00:00.000000000 +0100 +++ new/lib/ffi/platform/i386-freebsd12/types.conf 2019-01-06 15:30:17.000000000 +0100 @@ -0,0 +1,152 @@ +rbx.platform.typedef.__int8_t = char +rbx.platform.typedef.__uint8_t = uchar +rbx.platform.typedef.__int16_t = short +rbx.platform.typedef.__uint16_t = ushort +rbx.platform.typedef.__int32_t = int +rbx.platform.typedef.__uint32_t = uint +rbx.platform.typedef.__int64_t = long_long +rbx.platform.typedef.__uint64_t = ulong_long +rbx.platform.typedef.__clock_t = ulong +rbx.platform.typedef.__cpumask_t = uint +rbx.platform.typedef.__critical_t = int +rbx.platform.typedef.__intfptr_t = int +rbx.platform.typedef.__intmax_t = long_long +rbx.platform.typedef.__intptr_t = int +rbx.platform.typedef.__int_fast8_t = int +rbx.platform.typedef.__int_fast16_t = int +rbx.platform.typedef.__int_fast32_t = int +rbx.platform.typedef.__int_fast64_t = long_long +rbx.platform.typedef.__int_least8_t = char +rbx.platform.typedef.__int_least16_t = short +rbx.platform.typedef.__int_least32_t = int +rbx.platform.typedef.__int_least64_t = long_long +rbx.platform.typedef.__ptrdiff_t = int +rbx.platform.typedef.__register_t = int +rbx.platform.typedef.__segsz_t = int +rbx.platform.typedef.__size_t = uint +rbx.platform.typedef.__ssize_t = int +rbx.platform.typedef.__time_t = int +rbx.platform.typedef.__uintfptr_t = uint +rbx.platform.typedef.__uintmax_t = ulong_long +rbx.platform.typedef.__uintptr_t = uint +rbx.platform.typedef.__uint_fast8_t = uint +rbx.platform.typedef.__uint_fast16_t = uint +rbx.platform.typedef.__uint_fast32_t = uint +rbx.platform.typedef.__uint_fast64_t = ulong_long +rbx.platform.typedef.__uint_least8_t = uchar +rbx.platform.typedef.__uint_least16_t = ushort +rbx.platform.typedef.__uint_least32_t = uint +rbx.platform.typedef.__uint_least64_t = ulong_long +rbx.platform.typedef.__u_register_t = uint +rbx.platform.typedef.__vm_offset_t = uint +rbx.platform.typedef.__vm_ooffset_t = long_long +rbx.platform.typedef.__vm_paddr_t = uint +rbx.platform.typedef.__vm_pindex_t = ulong_long +rbx.platform.typedef.__vm_size_t = uint +rbx.platform.typedef.__blksize_t = uint +rbx.platform.typedef.__blkcnt_t = long_long +rbx.platform.typedef.__clockid_t = int +rbx.platform.typedef.__fflags_t = uint +rbx.platform.typedef.__fsblkcnt_t = ulong_long +rbx.platform.typedef.__fsfilcnt_t = ulong_long +rbx.platform.typedef.__gid_t = uint +rbx.platform.typedef.__id_t = long_long +rbx.platform.typedef.__ino_t = ulong_long +rbx.platform.typedef.__key_t = long +rbx.platform.typedef.__lwpid_t = int +rbx.platform.typedef.__mode_t = ushort +rbx.platform.typedef.__accmode_t = int +rbx.platform.typedef.__nl_item = int +rbx.platform.typedef.__nlink_t = ulong_long +rbx.platform.typedef.__off_t = long_long +rbx.platform.typedef.__pid_t = int +rbx.platform.typedef.__rlim_t = long_long +rbx.platform.typedef.__sa_family_t = uchar +rbx.platform.typedef.__socklen_t = uint +rbx.platform.typedef.__suseconds_t = long +rbx.platform.typedef.__uid_t = uint +rbx.platform.typedef.__useconds_t = uint +rbx.platform.typedef.__cpuwhich_t = int +rbx.platform.typedef.__cpulevel_t = int +rbx.platform.typedef.__cpusetid_t = int +rbx.platform.typedef.__ct_rune_t = int +rbx.platform.typedef.__rune_t = int +rbx.platform.typedef.__wchar_t = int +rbx.platform.typedef.__wint_t = int +rbx.platform.typedef.__wint_t = int +rbx.platform.typedef.__dev_t = ulong_long +rbx.platform.typedef.__fixpt_t = uint +rbx.platform.typedef.pthread_key_t = int +rbx.platform.typedef.*) = pointer +rbx.platform.typedef.u_char = uchar +rbx.platform.typedef.u_short = ushort +rbx.platform.typedef.u_int = uint +rbx.platform.typedef.u_long = ulong +rbx.platform.typedef.ushort = ushort +rbx.platform.typedef.uint = uint +rbx.platform.typedef.int8_t = char +rbx.platform.typedef.int16_t = short +rbx.platform.typedef.int32_t = int +rbx.platform.typedef.int64_t = long_long +rbx.platform.typedef.uint8_t = uchar +rbx.platform.typedef.uint16_t = ushort +rbx.platform.typedef.uint32_t = uint +rbx.platform.typedef.uint64_t = ulong_long +rbx.platform.typedef.intptr_t = int +rbx.platform.typedef.uintptr_t = uint +rbx.platform.typedef.u_int8_t = uchar +rbx.platform.typedef.u_int16_t = ushort +rbx.platform.typedef.u_int32_t = uint +rbx.platform.typedef.u_int64_t = ulong_long +rbx.platform.typedef.u_quad_t = ulong_long +rbx.platform.typedef.quad_t = long_long +rbx.platform.typedef.qaddr_t = pointer +rbx.platform.typedef.caddr_t = string +rbx.platform.typedef.c_caddr_t = pointer +rbx.platform.typedef.blksize_t = uint +rbx.platform.typedef.cpuwhich_t = int +rbx.platform.typedef.cpulevel_t = int +rbx.platform.typedef.cpusetid_t = int +rbx.platform.typedef.blkcnt_t = long_long +rbx.platform.typedef.clock_t = ulong +rbx.platform.typedef.clockid_t = int +rbx.platform.typedef.cpumask_t = uint +rbx.platform.typedef.critical_t = int +rbx.platform.typedef.daddr_t = long_long +rbx.platform.typedef.dev_t = ulong_long +rbx.platform.typedef.fflags_t = uint +rbx.platform.typedef.fixpt_t = uint +rbx.platform.typedef.fsblkcnt_t = ulong_long +rbx.platform.typedef.fsfilcnt_t = ulong_long +rbx.platform.typedef.gid_t = uint +rbx.platform.typedef.in_addr_t = uint +rbx.platform.typedef.in_port_t = ushort +rbx.platform.typedef.id_t = long_long +rbx.platform.typedef.ino_t = ulong_long +rbx.platform.typedef.key_t = long +rbx.platform.typedef.lwpid_t = int +rbx.platform.typedef.mode_t = ushort +rbx.platform.typedef.accmode_t = int +rbx.platform.typedef.nlink_t = ulong_long +rbx.platform.typedef.off_t = long_long +rbx.platform.typedef.pid_t = int +rbx.platform.typedef.register_t = int +rbx.platform.typedef.rlim_t = long_long +rbx.platform.typedef.segsz_t = int +rbx.platform.typedef.size_t = uint +rbx.platform.typedef.ssize_t = int +rbx.platform.typedef.suseconds_t = long +rbx.platform.typedef.time_t = int +rbx.platform.typedef.u_register_t = uint +rbx.platform.typedef.uid_t = uint +rbx.platform.typedef.useconds_t = uint +rbx.platform.typedef.vm_offset_t = uint +rbx.platform.typedef.vm_ooffset_t = long_long +rbx.platform.typedef.vm_paddr_t = uint +rbx.platform.typedef.vm_pindex_t = ulong_long +rbx.platform.typedef.vm_size_t = uint +rbx.platform.typedef.__fd_mask = ulong +rbx.platform.typedef.fd_mask = ulong +rbx.platform.typedef.sa_family_t = uchar +rbx.platform.typedef.socklen_t = uint + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/ffi/platform/x86_64-freebsd/types.conf new/lib/ffi/platform/x86_64-freebsd/types.conf --- old/lib/ffi/platform/x86_64-freebsd/types.conf 2018-06-03 21:51:02.000000000 +0200 +++ new/lib/ffi/platform/x86_64-freebsd/types.conf 2019-01-06 15:30:17.000000000 +0100 @@ -26,7 +26,7 @@ rbx.platform.typedef.__uintptr_t = ulong rbx.platform.typedef.__intmax_t = long_long rbx.platform.typedef.__uintmax_t = ulong_long -rbx.platform.typedef.__register_t = int +rbx.platform.typedef.__register_t = long_long rbx.platform.typedef.__vaddr_t = ulong rbx.platform.typedef.__paddr_t = ulong rbx.platform.typedef.__vsize_t = ulong @@ -37,7 +37,7 @@ rbx.platform.typedef.__ptrdiff_t = long rbx.platform.typedef.__size_t = ulong rbx.platform.typedef.__ssize_t = long -rbx.platform.typedef.__time_t = int +rbx.platform.typedef.__time_t = long rbx.platform.typedef.__timer_t = int rbx.platform.typedef.__wchar_t = int rbx.platform.typedef.__wint_t = int @@ -63,7 +63,7 @@ rbx.platform.typedef.__swblk_t = int rbx.platform.typedef.__uid_t = uint rbx.platform.typedef.__useconds_t = uint -rbx.platform.typedef.__suseconds_t = int +rbx.platform.typedef.__suseconds_t = long rbx.platform.typedef.u_char = uchar rbx.platform.typedef.u_short = ushort rbx.platform.typedef.u_int = uint @@ -73,7 +73,7 @@ rbx.platform.typedef.uint = uint rbx.platform.typedef.ulong = ulong rbx.platform.typedef.cpuid_t = ulong -rbx.platform.typedef.register_t = int +rbx.platform.typedef.register_t = long_long rbx.platform.typedef.int8_t = char rbx.platform.typedef.uint8_t = uchar rbx.platform.typedef.int16_t = short @@ -113,7 +113,7 @@ rbx.platform.typedef.swblk_t = int rbx.platform.typedef.uid_t = uint rbx.platform.typedef.useconds_t = uint -rbx.platform.typedef.suseconds_t = int +rbx.platform.typedef.suseconds_t = long rbx.platform.typedef.in_addr_t = uint rbx.platform.typedef.in_port_t = ushort rbx.platform.typedef.sa_family_t = uchar @@ -122,7 +122,7 @@ rbx.platform.typedef.clockid_t = int rbx.platform.typedef.size_t = ulong rbx.platform.typedef.ssize_t = long -rbx.platform.typedef.time_t = int +rbx.platform.typedef.time_t = long rbx.platform.typedef.timer_t = int rbx.platform.typedef.off_t = long_long rbx.platform.typedef.__fd_mask = int diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/ffi/platform/x86_64-freebsd12/types.conf new/lib/ffi/platform/x86_64-freebsd12/types.conf --- old/lib/ffi/platform/x86_64-freebsd12/types.conf 1970-01-01 01:00:00.000000000 +0100 +++ new/lib/ffi/platform/x86_64-freebsd12/types.conf 2019-01-06 15:30:17.000000000 +0100 @@ -0,0 +1,128 @@ +rbx.platform.typedef.__int8_t = char +rbx.platform.typedef.__uint8_t = uchar +rbx.platform.typedef.__int16_t = short +rbx.platform.typedef.__uint16_t = ushort +rbx.platform.typedef.__int32_t = int +rbx.platform.typedef.__uint32_t = uint +rbx.platform.typedef.__int64_t = long_long +rbx.platform.typedef.__uint64_t = ulong_long +rbx.platform.typedef.__int_least8_t = char +rbx.platform.typedef.__uint_least8_t = uchar +rbx.platform.typedef.__int_least16_t = short +rbx.platform.typedef.__uint_least16_t = ushort +rbx.platform.typedef.__int_least32_t = int +rbx.platform.typedef.__uint_least32_t = uint +rbx.platform.typedef.__int_least64_t = long_long +rbx.platform.typedef.__uint_least64_t = ulong_long +rbx.platform.typedef.__int_fast8_t = int +rbx.platform.typedef.__uint_fast8_t = uint +rbx.platform.typedef.__int_fast16_t = int +rbx.platform.typedef.__uint_fast16_t = uint +rbx.platform.typedef.__int_fast32_t = int +rbx.platform.typedef.__uint_fast32_t = uint +rbx.platform.typedef.__int_fast64_t = long_long +rbx.platform.typedef.__uint_fast64_t = ulong_long +rbx.platform.typedef.__intptr_t = long +rbx.platform.typedef.__uintptr_t = ulong +rbx.platform.typedef.__intmax_t = long_long +rbx.platform.typedef.__uintmax_t = ulong_long +rbx.platform.typedef.__register_t = long_long +rbx.platform.typedef.__vaddr_t = ulong +rbx.platform.typedef.__paddr_t = ulong +rbx.platform.typedef.__vsize_t = ulong +rbx.platform.typedef.__psize_t = ulong +rbx.platform.typedef.__clock_t = int +rbx.platform.typedef.__clockid_t = int +rbx.platform.typedef.__off_t = long_long +rbx.platform.typedef.__ptrdiff_t = long +rbx.platform.typedef.__size_t = ulong +rbx.platform.typedef.__ssize_t = long +rbx.platform.typedef.__time_t = int +rbx.platform.typedef.__timer_t = int +rbx.platform.typedef.__wchar_t = int +rbx.platform.typedef.__wint_t = int +rbx.platform.typedef.__rune_t = int +rbx.platform.typedef.__wctrans_t = pointer +rbx.platform.typedef.__wctype_t = pointer +rbx.platform.typedef.__cpuid_t = ulong +rbx.platform.typedef.__dev_t = ulong_long +rbx.platform.typedef.__fixpt_t = uint +rbx.platform.typedef.__gid_t = uint +rbx.platform.typedef.__id_t = uint +rbx.platform.typedef.__in_addr_t = uint +rbx.platform.typedef.__in_port_t = ushort +rbx.platform.typedef.__ino_t = ulong_long +rbx.platform.typedef.__key_t = long +rbx.platform.typedef.__mode_t = uint +rbx.platform.typedef.__nlink_t = ulong_long +rbx.platform.typedef.__pid_t = int +rbx.platform.typedef.__rlim_t = ulong_long +rbx.platform.typedef.__sa_family_t = uchar +rbx.platform.typedef.__segsz_t = int +rbx.platform.typedef.__socklen_t = uint +rbx.platform.typedef.__swblk_t = int +rbx.platform.typedef.__uid_t = uint +rbx.platform.typedef.__useconds_t = uint +rbx.platform.typedef.__suseconds_t = int +rbx.platform.typedef.u_char = uchar +rbx.platform.typedef.u_short = ushort +rbx.platform.typedef.u_int = uint +rbx.platform.typedef.u_long = ulong +rbx.platform.typedef.unchar = uchar +rbx.platform.typedef.ushort = ushort +rbx.platform.typedef.uint = uint +rbx.platform.typedef.ulong = ulong +rbx.platform.typedef.cpuid_t = ulong +rbx.platform.typedef.register_t = long_long +rbx.platform.typedef.int8_t = char +rbx.platform.typedef.uint8_t = uchar +rbx.platform.typedef.int16_t = short +rbx.platform.typedef.uint16_t = ushort +rbx.platform.typedef.int32_t = int +rbx.platform.typedef.uint32_t = uint +rbx.platform.typedef.int64_t = long_long +rbx.platform.typedef.uint64_t = ulong_long +rbx.platform.typedef.intptr_t = long +rbx.platform.typedef.uintptr_t = ulong +rbx.platform.typedef.u_int8_t = uchar +rbx.platform.typedef.u_int16_t = ushort +rbx.platform.typedef.u_int32_t = uint +rbx.platform.typedef.u_int64_t = ulong_long +rbx.platform.typedef.quad_t = long_long +rbx.platform.typedef.u_quad_t = ulong_long +rbx.platform.typedef.qaddr_t = pointer +rbx.platform.typedef.vaddr_t = ulong +rbx.platform.typedef.paddr_t = ulong +rbx.platform.typedef.vsize_t = ulong +rbx.platform.typedef.psize_t = ulong +rbx.platform.typedef.caddr_t = string +rbx.platform.typedef.daddr_t = int +rbx.platform.typedef.daddr32_t = int +rbx.platform.typedef.daddr64_t = long_long +rbx.platform.typedef.dev_t = ulong_long +rbx.platform.typedef.fixpt_t = uint +rbx.platform.typedef.gid_t = uint +rbx.platform.typedef.id_t = uint +rbx.platform.typedef.ino_t = ulong_long +rbx.platform.typedef.key_t = long +rbx.platform.typedef.mode_t = uint +rbx.platform.typedef.nlink_t = ulong_long +rbx.platform.typedef.pid_t = int +rbx.platform.typedef.rlim_t = ulong_long +rbx.platform.typedef.segsz_t = int +rbx.platform.typedef.swblk_t = int +rbx.platform.typedef.uid_t = uint +rbx.platform.typedef.useconds_t = uint +rbx.platform.typedef.suseconds_t = int +rbx.platform.typedef.in_addr_t = uint +rbx.platform.typedef.in_port_t = ushort +rbx.platform.typedef.sa_family_t = uchar +rbx.platform.typedef.socklen_t = uint +rbx.platform.typedef.clock_t = int +rbx.platform.typedef.clockid_t = int +rbx.platform.typedef.size_t = ulong +rbx.platform.typedef.ssize_t = long +rbx.platform.typedef.time_t = int +rbx.platform.typedef.timer_t = int +rbx.platform.typedef.off_t = long_long +rbx.platform.typedef.__fd_mask = int diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/ffi/platform.rb new/lib/ffi/platform.rb --- old/lib/ffi/platform.rb 2018-06-03 21:51:02.000000000 +0200 +++ new/lib/ffi/platform.rb 2019-01-06 15:30:17.000000000 +0100 @@ -54,6 +54,8 @@ RbConfig::CONFIG['host_os'].downcase end + OSVERSION = RbConfig::CONFIG['host_os'].gsub(/[^\d]/, '').to_i + ARCH = case CPU.downcase when /amd64|x86_64/ "x86_64" @@ -82,7 +84,6 @@ OS == os end - NAME = "#{ARCH}-#{OS}" IS_GNU = defined?(GNU_LIBC) IS_LINUX = is_os("linux") IS_MAC = is_os("darwin") @@ -92,6 +93,11 @@ IS_SOLARIS = is_os("solaris") IS_WINDOWS = is_os("windows") IS_BSD = IS_MAC || IS_FREEBSD || IS_NETBSD || IS_OPENBSD + + # Add the version for known ABI breaks + name_version = "12" if IS_FREEBSD && OSVERSION >= 12 # 64-bit inodes + + NAME = "#{ARCH}-#{OS}#{name_version}" CONF_DIR = File.join(File.dirname(__FILE__), 'platform', NAME) public diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/ffi/pointer.rb new/lib/ffi/pointer.rb --- old/lib/ffi/pointer.rb 2018-06-03 21:51:02.000000000 +0200 +++ new/lib/ffi/pointer.rb 2019-01-06 15:30:17.000000000 +0100 @@ -103,7 +103,7 @@ # @return [Array] # Read an array of +type+ of length +length+. # @example - # ptr.read_array_of_type(TYPE_UINT8, :get_uint8, 4) # -> [1, 2, 3, 4] + # ptr.read_array_of_type(TYPE_UINT8, :read_uint8, 4) # -> [1, 2, 3, 4] def read_array_of_type(type, reader, length) ary = [] size = FFI.type_size(type) @@ -124,10 +124,9 @@ # ptr.write_array_of_type(TYPE_UINT8, :put_uint8, [1, 2, 3 ,4]) def write_array_of_type(type, writer, ary) size = FFI.type_size(type) - tmp = self - ary.each_with_index {|i, j| - tmp.send(writer, i) - tmp += size unless j == ary.length-1 # avoid OOB + ary.each_with_index { |val, i| + break unless i < self.size + self.send(writer, i * size, val) } self end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/ffi/version.rb new/lib/ffi/version.rb --- old/lib/ffi/version.rb 2018-06-03 21:51:02.000000000 +0200 +++ new/lib/ffi/version.rb 2019-01-06 15:30:17.000000000 +0100 @@ -1,3 +1,3 @@ module FFI - VERSION = '1.9.25' + VERSION = '1.10.0' end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2018-06-03 21:51:02.000000000 +0200 +++ new/metadata 2019-01-06 15:30:17.000000000 +0100 @@ -1,14 +1,14 @@ --- !ruby/object:Gem::Specification name: ffi version: !ruby/object:Gem::Version - version: 1.9.25 + version: 1.10.0 platform: ruby authors: - Wayne Meissner autorequire: bindir: bin cert_chain: [] -date: 2018-06-03 00:00:00.000000000 Z +date: 2019-01-06 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: rake @@ -565,11 +565,16 @@ - lib/ffi/managedstruct.rb - lib/ffi/memorypointer.rb - lib/ffi/platform.rb +- lib/ffi/platform/aarch64-freebsd/types.conf +- lib/ffi/platform/aarch64-freebsd12/types.conf - lib/ffi/platform/aarch64-linux/types.conf +- lib/ffi/platform/arm-freebsd/types.conf +- lib/ffi/platform/arm-freebsd12/types.conf - lib/ffi/platform/arm-linux/types.conf - lib/ffi/platform/i386-cygwin/types.conf - lib/ffi/platform/i386-darwin/types.conf - lib/ffi/platform/i386-freebsd/types.conf +- lib/ffi/platform/i386-freebsd12/types.conf - lib/ffi/platform/i386-gnu/types.conf - lib/ffi/platform/i386-linux/types.conf - lib/ffi/platform/i386-netbsd/types.conf @@ -598,6 +603,7 @@ - lib/ffi/platform/x86_64-cygwin/types.conf - lib/ffi/platform/x86_64-darwin/types.conf - lib/ffi/platform/x86_64-freebsd/types.conf +- lib/ffi/platform/x86_64-freebsd12/types.conf - lib/ffi/platform/x86_64-linux/types.conf - lib/ffi/platform/x86_64-netbsd/types.conf - lib/ffi/platform/x86_64-openbsd/types.conf @@ -645,7 +651,7 @@ version: '0' requirements: [] rubyforge_project: -rubygems_version: 2.7.3 +rubygems_version: 2.7.8 signing_key: specification_version: 4 summary: Ruby FFI