dev-ruby/ffi: remove unused patch(es)

Signed-off-by: Michael Mair-Keimberger <mmk@levelnine.at>
Signed-off-by: Hans de Graaff <graaff@gentoo.org>
This commit is contained in:
Michael Mair-Keimberger
2024-11-11 19:05:36 +01:00
committed by Hans de Graaff
parent 3fd8e3f53b
commit 64e2d395d4
5 changed files with 0 additions and 325 deletions

View File

@@ -1,191 +0,0 @@
https://github.com/ffi/ffi/pull/1017
From 1f0a4db3d6b16142d2ef547c8dde7a36b21bd39a Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Sun, 9 Apr 2023 02:20:32 +0100
Subject: [PATCH 2/2] Add types.conf for hppa2.0-linux
--- /dev/null
+++ b/lib/ffi/platform/hppa2.0-linux/types.conf
@@ -0,0 +1,178 @@
+rbx.platform.typedef.*__caddr_t = char
+rbx.platform.typedef.__blkcnt64_t = long_long
+rbx.platform.typedef.__blkcnt_t = long
+rbx.platform.typedef.__blksize_t = long
+rbx.platform.typedef.__clock_t = long
+rbx.platform.typedef.__clockid_t = int
+rbx.platform.typedef.__daddr_t = int
+rbx.platform.typedef.__dev_t = ulong_long
+rbx.platform.typedef.__fd_mask = long
+rbx.platform.typedef.__fsblkcnt64_t = ulong_long
+rbx.platform.typedef.__fsblkcnt_t = ulong
+rbx.platform.typedef.__fsfilcnt64_t = ulong_long
+rbx.platform.typedef.__fsfilcnt_t = ulong
+rbx.platform.typedef.__fsword_t = int
+rbx.platform.typedef.__gid_t = uint
+rbx.platform.typedef.__id_t = uint
+rbx.platform.typedef.__ino64_t = ulong_long
+rbx.platform.typedef.__ino_t = ulong
+rbx.platform.typedef.__int16_t = short
+rbx.platform.typedef.__int32_t = int
+rbx.platform.typedef.__int64_t = long_long
+rbx.platform.typedef.__int8_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.__int_least8_t = char
+rbx.platform.typedef.__intmax_t = long_long
+rbx.platform.typedef.__intptr_t = int
+rbx.platform.typedef.__kernel_caddr_t = string
+rbx.platform.typedef.__kernel_clock_t = long
+rbx.platform.typedef.__kernel_clockid_t = int
+rbx.platform.typedef.__kernel_daddr_t = int
+rbx.platform.typedef.__kernel_gid16_t = ushort
+rbx.platform.typedef.__kernel_gid32_t = uint
+rbx.platform.typedef.__kernel_gid_t = uint
+rbx.platform.typedef.__kernel_ino64_t = ulong_long
+rbx.platform.typedef.__kernel_ino_t = ulong
+rbx.platform.typedef.__kernel_ipc_pid_t = ushort
+rbx.platform.typedef.__kernel_key_t = int
+rbx.platform.typedef.__kernel_loff_t = long_long
+rbx.platform.typedef.__kernel_long_t = long
+rbx.platform.typedef.__kernel_mode_t = ushort
+rbx.platform.typedef.__kernel_mqd_t = int
+rbx.platform.typedef.__kernel_off64_t = long_long
+rbx.platform.typedef.__kernel_off_t = long
+rbx.platform.typedef.__kernel_old_dev_t = uint
+rbx.platform.typedef.__kernel_old_gid_t = uint
+rbx.platform.typedef.__kernel_old_time_t = long
+rbx.platform.typedef.__kernel_old_uid_t = uint
+rbx.platform.typedef.__kernel_pid_t = int
+rbx.platform.typedef.__kernel_ptrdiff_t = int
+rbx.platform.typedef.__kernel_size_t = uint
+rbx.platform.typedef.__kernel_ssize_t = int
+rbx.platform.typedef.__kernel_suseconds_t = long
+rbx.platform.typedef.__kernel_time64_t = long_long
+rbx.platform.typedef.__kernel_time_t = long
+rbx.platform.typedef.__kernel_timer_t = int
+rbx.platform.typedef.__kernel_uid16_t = ushort
+rbx.platform.typedef.__kernel_uid32_t = uint
+rbx.platform.typedef.__kernel_uid_t = uint
+rbx.platform.typedef.__kernel_ulong_t = ulong
+rbx.platform.typedef.__key_t = int
+rbx.platform.typedef.__loff_t = long_long
+rbx.platform.typedef.__mode_t = uint
+rbx.platform.typedef.__nlink_t = uint
+rbx.platform.typedef.__off64_t = long_long
+rbx.platform.typedef.__off_t = long
+rbx.platform.typedef.__pid_t = int
+rbx.platform.typedef.__priority_which_t = int
+rbx.platform.typedef.__quad_t = long_long
+rbx.platform.typedef.__rlim64_t = ulong_long
+rbx.platform.typedef.__rlim_t = ulong
+rbx.platform.typedef.__rlimit_resource_t = int
+rbx.platform.typedef.__rusage_who_t = int
+rbx.platform.typedef.__sig_atomic_t = int
+rbx.platform.typedef.__socklen_t = uint
+rbx.platform.typedef.__ssize_t = int
+rbx.platform.typedef.__suseconds64_t = long_long
+rbx.platform.typedef.__suseconds_t = long
+rbx.platform.typedef.__syscall_slong_t = long
+rbx.platform.typedef.__syscall_ulong_t = ulong
+rbx.platform.typedef.__thrd_t = ulong
+rbx.platform.typedef.__time64_t = long_long
+rbx.platform.typedef.__time_t = long
+rbx.platform.typedef.__timer_t = pointer
+rbx.platform.typedef.__tss_t = uint
+rbx.platform.typedef.__u_char = uchar
+rbx.platform.typedef.__u_int = uint
+rbx.platform.typedef.__u_long = ulong
+rbx.platform.typedef.__u_quad_t = ulong_long
+rbx.platform.typedef.__u_short = ushort
+rbx.platform.typedef.__uid_t = uint
+rbx.platform.typedef.__uint16_t = ushort
+rbx.platform.typedef.__uint32_t = uint
+rbx.platform.typedef.__uint64_t = ulong_long
+rbx.platform.typedef.__uint8_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.__uint_least8_t = uchar
+rbx.platform.typedef.__uintmax_t = ulong_long
+rbx.platform.typedef.__useconds_t = uint
+rbx.platform.typedef.blkcnt_t = long_long
+rbx.platform.typedef.blksize_t = long
+rbx.platform.typedef.clock_t = long
+rbx.platform.typedef.clockid_t = int
+rbx.platform.typedef.daddr_t = int
+rbx.platform.typedef.dev_t = ulong_long
+rbx.platform.typedef.fd_mask = long
+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 = 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.int16_t = short
+rbx.platform.typedef.int32_t = int
+rbx.platform.typedef.int64_t = long_long
+rbx.platform.typedef.int8_t = char
+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_fast8_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.int_least8_t = char
+rbx.platform.typedef.intmax_t = long_long
+rbx.platform.typedef.intptr_t = int
+rbx.platform.typedef.key_t = int
+rbx.platform.typedef.loff_t = long_long
+rbx.platform.typedef.mode_t = uint
+rbx.platform.typedef.nlink_t = uint
+rbx.platform.typedef.off_t = long_long
+rbx.platform.typedef.pid_t = int
+rbx.platform.typedef.pthread_key_t = uint
+rbx.platform.typedef.pthread_once_t = int
+rbx.platform.typedef.pthread_t = ulong
+rbx.platform.typedef.ptrdiff_t = int
+rbx.platform.typedef.quad_t = long_long
+rbx.platform.typedef.register_t = long
+rbx.platform.typedef.rlim_t = ulong_long
+rbx.platform.typedef.sa_family_t = ushort
+rbx.platform.typedef.size_t = uint
+rbx.platform.typedef.socklen_t = uint
+rbx.platform.typedef.ssize_t = int
+rbx.platform.typedef.suseconds_t = long
+rbx.platform.typedef.time_t = long
+rbx.platform.typedef.timer_t = pointer
+rbx.platform.typedef.u_char = uchar
+rbx.platform.typedef.u_int = uint
+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_int8_t = uchar
+rbx.platform.typedef.u_long = ulong
+rbx.platform.typedef.u_quad_t = ulong_long
+rbx.platform.typedef.u_short = ushort
+rbx.platform.typedef.uid_t = uint
+rbx.platform.typedef.uint = uint
+rbx.platform.typedef.uint16_t = ushort
+rbx.platform.typedef.uint32_t = uint
+rbx.platform.typedef.uint64_t = ulong_long
+rbx.platform.typedef.uint8_t = uchar
+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_fast8_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.uint_least8_t = uchar
+rbx.platform.typedef.uintmax_t = ulong_long
+rbx.platform.typedef.uintptr_t = uint
+rbx.platform.typedef.ulong = ulong
+rbx.platform.typedef.ushort = ushort
+rbx.platform.typedef.wchar_t = long
--
2.40.0

View File

@@ -1,48 +0,0 @@
From edc54894f77d00c4ca34593c8b4c94f656f5807e Mon Sep 17 00:00:00 2001
From: Frederick Cheung <frederick.cheung@gmail.com>
Date: Fri, 17 Jun 2022 18:57:28 +0100
Subject: [PATCH] Fix Pointer#initialize using NUM2LL instead of NUM2ULL
If the high bit of the address was set this would raise RangeError
(bignum too big to convert into long long). This is not uncommon on
platforms that use the high bits of pointers for purposes such as
pointer authentication
This also now matches Pointer#address which uses ULL2NUM.
---
ext/ffi_c/Pointer.c | 2 +-
spec/ffi/pointer_spec.rb | 8 ++++++++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/ext/ffi_c/Pointer.c b/ext/ffi_c/Pointer.c
index 153fff101..79886811f 100644
--- a/ext/ffi_c/Pointer.c
+++ b/ext/ffi_c/Pointer.c
@@ -112,7 +112,7 @@ ptr_initialize(int argc, VALUE* argv, VALUE self)
switch (TYPE(rbAddress)) {
case T_FIXNUM:
case T_BIGNUM:
- p->memory.address = (void*) (uintptr_t) NUM2LL(rbAddress);
+ p->memory.address = (void*) (uintptr_t) NUM2ULL(rbAddress);
p->memory.size = LONG_MAX;
if (p->memory.address == NULL) {
p->memory.flags = 0;
diff --git a/spec/ffi/pointer_spec.rb b/spec/ffi/pointer_spec.rb
index b216a161d..7a2ac1565 100644
--- a/spec/ffi/pointer_spec.rb
+++ b/spec/ffi/pointer_spec.rb
@@ -237,6 +237,14 @@ def to_ptr
expect(FFI::Pointer.new(0).slice(0, 10).size_limit?).to be true
end
end
+
+ describe "#initialise" do
+ it 'can use adresses with high bit set' do
+ max_address = 2**FFI::Platform::ADDRESS_SIZE - 1
+ pointer = FFI::Pointer.new(:uint8, max_address)
+ expect(pointer.address).to eq(max_address)
+ end
+ end
end
describe "AutoPointer" do

View File

@@ -1,23 +0,0 @@
https://github.com/ffi/ffi/commit/19348fe09e1aeb08424abdf331c3497159139f20
From 19348fe09e1aeb08424abdf331c3497159139f20 Mon Sep 17 00:00:00 2001
From: matoro <matoro@users.noreply.github.com>
Date: Tue, 14 Mar 2023 21:03:33 -0400
Subject: [PATCH] Update gen/Rakefile for Ruby 3 compat
Ruby 3 changed the 'mode' argument from an option hash to keyword
argument. This change is backwards-compatible with Ruby 2.
See: https://github.com/ruby/fileutils/commit/482de6d397742526d1111576e2791f9b7051e3c0
--- a/gen/Rakefile
+++ b/gen/Rakefile
@@ -9,7 +9,7 @@ logfile = File.join(File.dirname(__FILE__), 'log')
file types_conf do |task|
options = {}
- FileUtils.mkdir_p(File.dirname(task.name), { :mode => 0755 })
+ FileUtils.mkdir_p(File.dirname(task.name), mode: 0755)
File.open(task.name, File::CREAT|File::TRUNC|File::RDWR, 0644) do |f|
f.puts FFI::TypesGenerator.generate(options)
end

View File

@@ -1,42 +0,0 @@
From 241b10322283743b79c9489993bfb964b5167f7f Mon Sep 17 00:00:00 2001
From: matoro <matoro@users.noreply.github.com>
Date: Wed, 25 May 2022 14:23:55 -0400
Subject: [PATCH 1/2] Rename sparc64-linux -> sparcv9-linux
In https://github.com/ffi/ffi/pull/575, 64-bit sparc was changed to also
use sparcv9 as the platform name, but the types.conf directory was never
renamed. This breaks only on Ruby 3.0 and later due to the fileutils
change to use keyword arguments in
https://github.com/ruby/fileutils/commit/482de6d397742526d1111576e2791f9b7051e3c0
---
lib/ffi/platform/{sparc64-linux => sparcv9-linux}/types.conf | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename lib/ffi/platform/{sparc64-linux => sparcv9-linux}/types.conf (100%)
diff --git a/lib/ffi/platform/sparc64-linux/types.conf b/lib/ffi/platform/sparcv9-linux/types.conf
similarity index 100%
rename from lib/ffi/platform/sparc64-linux/types.conf
rename to lib/ffi/platform/sparcv9-linux/types.conf
From 76dc5c7d69a445268f47f5b6a9185e644bcd68e8 Mon Sep 17 00:00:00 2001
From: matoro <matoro@users.noreply.github.com>
Date: Mon, 13 Jun 2022 22:56:26 -0400
Subject: [PATCH 2/2] Also normalize sparc64 -> sparcv9 in test fixture
---
spec/ffi/fixtures/compile.rb | 2 ++
1 file changed, 2 insertions(+)
diff --git a/spec/ffi/fixtures/compile.rb b/spec/ffi/fixtures/compile.rb
index f2e831a63..58ee5611d 100644
--- a/spec/ffi/fixtures/compile.rb
+++ b/spec/ffi/fixtures/compile.rb
@@ -22,6 +22,8 @@ module TestLibrary
"powerpc64"
when /ppc|powerpc/
"powerpc"
+ when /sparcv9|sparc64/
+ "sparcv9"
when /^arm/
if RbConfig::CONFIG['host_os'] =~ /darwin/
"aarch64"

View File

@@ -1,21 +0,0 @@
https://github.com/ffi/ffi/pull/1017
From 587822fa8d21292d39400d2276ca49d37a752135 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Sun, 9 Apr 2023 02:17:23 +0100
Subject: [PATCH 1/2] Use libffi closure allocations on hppa
We currently do this for Apple arm64, but we need to do it for hppa too.
--- a/ext/ffi_c/extconf.rb
+++ b/ext/ffi_c/extconf.rb
@@ -61,6 +61,7 @@ if RUBY_ENGINE == 'ruby' || RUBY_ENGINE == 'rbx'
append_ldflags "-pthread"
ffi_alloc_default = RbConfig::CONFIG['host_os'] =~ /darwin/i && RbConfig::CONFIG['host'] =~ /arm|aarch64/i
+ ffi_alloc_default = ffi_alloc_default || RbConfig::CONFIG['host'] =~ /hppa/i
if enable_config('libffi-alloc', ffi_alloc_default)
$defs << "-DUSE_FFI_ALLOC"
end
--
2.40.0