add missing patches
Some checks failed
/ lint (pull_request) Failing after 31s
/ deploy-x86_64 (pull_request) Has been skipped
/ build-x86_64 (pull_request) Failing after 5m53s
/ deploy-aarch64 (pull_request) Has been skipped
/ build-aarch64 (pull_request) Failing after 23m23s

This commit is contained in:
Antoine Martin 2024-12-20 18:48:48 -05:00
parent 85ac6a654d
commit 9ea24ebc94
Signed by: forge
GPG key ID: D62A472A4AA7D541
6 changed files with 428 additions and 0 deletions

View file

@ -0,0 +1,25 @@
From f0aa43a634fd86732e3653be0cf117f9f69f5df7 Mon Sep 17 00:00:00 2001
From: knuxify <knuxify@gmail.com>
Date: Sun, 11 Dec 2022 16:13:22 +0100
Subject: [PATCH] add missing include for nfd
---
config/linux/build.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/config/linux/build.xml b/config/linux/build.xml
index 5098004..6acd46a 100644
--- a/config/linux/build.xml
+++ b/config/linux/build.xml
@@ -262,7 +262,7 @@
<condition property="linux.triplet" value="aarch64-linux-gnu"><isset property="build.arch.arm64"/></condition>
<compile>
- <arg line="-I/usr/include/gtk-3.0 -I/usr/include/glib-2.0 -I/usr/lib/${linux.triplet}/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/atk-1.0"/>
+ <arg line="-I/usr/include/gtk-3.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/atk-1.0"/>
<arg value="-I${src.main.rel}"/>
<arg value="-I${src.main.rel}/include"/>
<fileset dir="." includes="${src.main}/nfd_common.c"/>
--
2.38.1

View file

@ -0,0 +1,30 @@
From 80a7bdc48ff5150208c3417c2d0aadf3bc2e5498 Mon Sep 17 00:00:00 2001
From: knuxify <knuxify@gmail.com>
Date: Sun, 11 Dec 2022 16:12:10 +0100
Subject: [PATCH] disable remotery
---
config/build-bindings.xml | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/config/build-bindings.xml b/config/build-bindings.xml
index 7a458f1..8db9186 100644
--- a/config/build-bindings.xml
+++ b/config/build-bindings.xml
@@ -49,12 +49,7 @@ This script is included in /config/build-definitions.xml.
<property name="binding.openxr" value="true"/>
<property name="binding.opus" value="true"/>
<property name="binding.par" value="true"/>
- <condition property="binding.remotery" value="false" else="true">
- <and>
- <isset property="platform.windows"/>
- <isset property="build.arch.arm"/>
- </and>
- </condition>
+ <property name="binding.remotery" value="false"/>
<property name="binding.rpmalloc" value="true"/>
<property name="binding.shaderc" value="true"/>
<property name="binding.spvc" value="true"/>
--
2.38.1

View file

@ -0,0 +1,257 @@
From 48a3172ef8f3a0dc0538cec1c4305bcdf9c31016 Mon Sep 17 00:00:00 2001
From: Ioannis Tsakpinis <iotsakp@gmail.com>
Date: Mon, 3 Oct 2022 01:26:12 +0300
Subject: [PATCH] feat(libffi) update to 3.4.3
---
.../java/org/lwjgl/system/libffi/LibFFI.java | 4 +-
modules/lwjgl/core/src/main/c/libffi/ffi.h | 68 +++++++++++--------
.../core/src/main/c/libffi/x86/ffitarget.h | 7 +-
.../kotlin/core/libffi/templates/LibFFI.kt | 19 +++---
4 files changed, 55 insertions(+), 43 deletions(-)
diff --git a/modules/lwjgl/core/src/generated/java/org/lwjgl/system/libffi/LibFFI.java b/modules/lwjgl/core/src/generated/java/org/lwjgl/system/libffi/LibFFI.java
index 465295188d..a3485820c7 100644
--- a/modules/lwjgl/core/src/generated/java/org/lwjgl/system/libffi/LibFFI.java
+++ b/modules/lwjgl/core/src/generated/java/org/lwjgl/system/libffi/LibFFI.java
@@ -102,12 +102,14 @@ public class LibFFI {
* <li>{@link #FFI_OK OK}</li>
* <li>{@link #FFI_BAD_TYPEDEF BAD_TYPEDEF}</li>
* <li>{@link #FFI_BAD_ABI BAD_ABI}</li>
+ * <li>{@link #FFI_BAD_ARGTYPE BAD_ARGTYPE}</li>
* </ul>
*/
public static final int
FFI_OK = 0,
FFI_BAD_TYPEDEF = 1,
- FFI_BAD_ABI = 2;
+ FFI_BAD_ABI = 2,
+ FFI_BAD_ARGTYPE = 3;
protected LibFFI() {
throw new UnsupportedOperationException();
diff --git a/modules/lwjgl/core/src/main/c/libffi/ffi.h b/modules/lwjgl/core/src/main/c/libffi/ffi.h
index 5b5efd2697..6c16184a77 100644
--- a/modules/lwjgl/core/src/main/c/libffi/ffi.h
+++ b/modules/lwjgl/core/src/main/c/libffi/ffi.h
@@ -1,6 +1,7 @@
/* -----------------------------------------------------------------*-C-*-
- libffi @VERSION@ - Copyright (c) 2011, 2014, 2019 Anthony Green
- - Copyright (c) 1996-2003, 2007, 2008 Red Hat, Inc.
+ libffi @VERSION@
+ - Copyright (c) 2011, 2014, 2019, 2021, 2022 Anthony Green
+ - Copyright (c) 1996-2003, 2007, 2008 Red Hat, Inc.
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
@@ -62,6 +63,31 @@ extern "C" {
#define FFI_EXEC_TRAMPOLINE_TABLE 0
#endif
+/* If these change, update src/mips/ffitarget.h. */
+#define FFI_TYPE_VOID 0
+#define FFI_TYPE_INT 1
+#define FFI_TYPE_FLOAT 2
+#define FFI_TYPE_DOUBLE 3
+#if HAVE_LONG_DOUBLE
+#define FFI_TYPE_LONGDOUBLE 4
+#else
+#define FFI_TYPE_LONGDOUBLE FFI_TYPE_DOUBLE
+#endif
+#define FFI_TYPE_UINT8 5
+#define FFI_TYPE_SINT8 6
+#define FFI_TYPE_UINT16 7
+#define FFI_TYPE_SINT16 8
+#define FFI_TYPE_UINT32 9
+#define FFI_TYPE_SINT32 10
+#define FFI_TYPE_UINT64 11
+#define FFI_TYPE_SINT64 12
+#define FFI_TYPE_STRUCT 13
+#define FFI_TYPE_POINTER 14
+#define FFI_TYPE_COMPLEX 15
+
+/* This should always refer to the last type code (for sanity checks). */
+#define FFI_TYPE_LAST FFI_TYPE_COMPLEX
+
#include <ffitarget.h>
#ifndef LIBFFI_ASM
@@ -224,7 +250,8 @@ FFI_EXTERN ffi_type ffi_type_complex_longdouble;
typedef enum {
FFI_OK = 0,
FFI_BAD_TYPEDEF,
- FFI_BAD_ABI
+ FFI_BAD_ABI,
+ FFI_BAD_ARGTYPE
} ffi_status;
typedef struct {
@@ -317,11 +344,17 @@ typedef struct {
void *trampoline_table;
void *trampoline_table_entry;
#else
- char tramp[FFI_TRAMPOLINE_SIZE];
+ union {
+ char tramp[FFI_TRAMPOLINE_SIZE];
+ void *ftramp;
+ };
#endif
ffi_cif *cif;
void (*fun)(ffi_cif*,void*,void**,void*);
void *user_data;
+#if defined(_MSC_VER) && defined(_M_IX86)
+ void *padding;
+#endif
} ffi_closure
#ifdef __GNUC__
__attribute__((aligned (8)))
@@ -362,7 +395,7 @@ ffi_prep_closure_loc (ffi_closure*,
ffi_cif *,
void (*fun)(ffi_cif*,void*,void**,void*),
void *user_data,
- void*codeloc);
+ void *codeloc);
#ifdef __sgi
# pragma pack 8
@@ -498,31 +531,6 @@ ffi_status ffi_get_struct_offsets (ffi_abi abi, ffi_type *struct_type,
#endif
-/* If these change, update src/mips/ffitarget.h. */
-#define FFI_TYPE_VOID 0
-#define FFI_TYPE_INT 1
-#define FFI_TYPE_FLOAT 2
-#define FFI_TYPE_DOUBLE 3
-#if HAVE_LONG_DOUBLE
-#define FFI_TYPE_LONGDOUBLE 4
-#else
-#define FFI_TYPE_LONGDOUBLE FFI_TYPE_DOUBLE
-#endif
-#define FFI_TYPE_UINT8 5
-#define FFI_TYPE_SINT8 6
-#define FFI_TYPE_UINT16 7
-#define FFI_TYPE_SINT16 8
-#define FFI_TYPE_UINT32 9
-#define FFI_TYPE_SINT32 10
-#define FFI_TYPE_UINT64 11
-#define FFI_TYPE_SINT64 12
-#define FFI_TYPE_STRUCT 13
-#define FFI_TYPE_POINTER 14
-#define FFI_TYPE_COMPLEX 15
-
-/* This should always refer to the last type code (for sanity checks). */
-#define FFI_TYPE_LAST FFI_TYPE_COMPLEX
-
#ifdef __cplusplus
}
#endif
diff --git a/modules/lwjgl/core/src/main/c/libffi/x86/ffitarget.h b/modules/lwjgl/core/src/main/c/libffi/x86/ffitarget.h
index 60caf0db97..3cc1b29b44 100644
--- a/modules/lwjgl/core/src/main/c/libffi/x86/ffitarget.h
+++ b/modules/lwjgl/core/src/main/c/libffi/x86/ffitarget.h
@@ -203,9 +203,11 @@ typedef enum ffi_abi {
# define FFI_NATIVE_RAW_API 1 /* x86 has native raw api support */
#endif
-#if !defined(GENERATE_LIBFFI_MAP) && defined(__ASSEMBLER__) \
- && defined(__CET__)
+#if !defined(GENERATE_LIBFFI_MAP) && defined(__CET__)
# include <cet.h>
+# if (__CET__ & 1) != 0
+# define ENDBR_PRESENT
+# endif
# define _CET_NOTRACK notrack
#else
# define _CET_ENDBR
@@ -213,4 +215,3 @@ typedef enum ffi_abi {
#endif
#endif
-
diff --git a/modules/lwjgl/core/src/templates/kotlin/core/libffi/templates/LibFFI.kt b/modules/lwjgl/core/src/templates/kotlin/core/libffi/templates/LibFFI.kt
index 18f922c12e..28d2dafc38 100644
--- a/modules/lwjgl/core/src/templates/kotlin/core/libffi/templates/LibFFI.kt
+++ b/modules/lwjgl/core/src/templates/kotlin/core/libffi/templates/LibFFI.kt
@@ -62,7 +62,7 @@ typedef void (*FFI_CLOSURE_FUN)(ffi_cif*, void*, void**, void*);""")
val ABI = EnumConstant(
"""
ABI enumeration.
-
+
<b>LWJGL note</b>: ABIs that are not applicable to the current platform will have a value of -1 and should not be used.
""",
@@ -107,7 +107,8 @@ typedef void (*FFI_CLOSURE_FUN)(ffi_cif*, void*, void**, void*);""")
"OK".enum,
"BAD_TYPEDEF".enum,
- "BAD_ABI".enum
+ "BAD_ABI".enum,
+ "BAD_ARGTYPE".enum
)
macro..Address..ffi_type.p("type_void", "The {@code ffi_type_void} struct.", void())
@@ -140,7 +141,7 @@ typedef void (*FFI_CLOSURE_FUN)(ffi_cif*, void*, void**, void*);""")
"prep_cif",
"""
Initializes the specified Call Interface (CIF) according to the given parameters.
-
+
The resulting {@code ffi_cif} holds pointers to all the {@code ffi_type} objects that were used during initialization. You must ensure that these type
objects have a lifetime at least as long as that of the {@code ffi_cif}.
""",
@@ -195,7 +196,7 @@ typedef void (*FFI_CLOSURE_FUN)(ffi_cif*, void*, void**, void*);""")
"call",
"""
Calls the function {@code fn} according to the description given in {@code cif}.
-
+
{@code cif} must have already been prepared using #prep_cif().
""",
@@ -208,7 +209,7 @@ typedef void (*FFI_CLOSURE_FUN)(ffi_cif*, void*, void**, void*);""")
"rvalue",
"""
a pointer to a chunk of memory that will hold the result of the function call.
-
+
This must be large enough to hold the result, no smaller than the system register size (generally 32 or 64 bits), and must be suitably aligned; it
is the caller's responsibility to ensure this. If CIF declares that the function returns {@code void} (using #type_void), then {@code rvalue} is
ignored.
@@ -223,7 +224,7 @@ typedef void (*FFI_CLOSURE_FUN)(ffi_cif*, void*, void**, void*);""")
"avalues",
"""
a vector of {@code void *} pointers that point to the memory locations holding the argument values for a call.
-
+
If {@code cif} declares that the function has no arguments (i.e., {@code nargs} was 0), then {@code avalues} is ignored. Note that argument values
may be modified by the callee (for instance, structs passed by value); the burden of copying pass-by-value arguments is placed on the caller.
@@ -260,7 +261,7 @@ typedef void (*FFI_CLOSURE_FUN)(ffi_cif*, void*, void**, void*);""")
"closure_alloc",
"""
Allocates a chunk of memory holding {@code size} bytes.
-
+
Returns a pointer to the writable address, and sets {@code *code} to the corresponding executable address.
""",
@@ -281,7 +282,7 @@ typedef void (*FFI_CLOSURE_FUN)(ffi_cif*, void*, void**, void*);""")
"prep_closure_loc",
"""
Prepares a closure function.
-
+
After calling {@code ffi_prep_closure_loc,} you can cast {@code codeloc} to the appropriate pointer-to-function type.
""",
@@ -295,7 +296,7 @@ typedef void (*FFI_CLOSURE_FUN)(ffi_cif*, void*, void**, void*);""")
"{@code cif} - The {@code ffi_cif} passed to {@code ffi_prep_closure_loc}.",
"""
{@code ret} - a pointer to the memory used for the function's return value.
-
+
If the function is declared as returning {@code void}, then this value is garbage and should not be used.
Otherwise, {@code fun} must fill the object to which this points, following the same special promotion behavior as {@code ffi_call}. That is,

View file

@ -0,0 +1,38 @@
From 6fc0c85eabffd4208221d74868702b52a6a3d17e Mon Sep 17 00:00:00 2001
From: knuxify <knuxify@gmail.com>
Date: Sun, 11 Dec 2022 16:04:23 +0100
Subject: [PATCH] force use of system libffi
---
config/linux/build.xml | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/config/linux/build.xml b/config/linux/build.xml
index 299ca65..5098004 100644
--- a/config/linux/build.xml
+++ b/config/linux/build.xml
@@ -187,13 +187,8 @@
<include name="${module.lwjgl}/jawt/src/generated/c/*.c" if:true="${binding.jawt}"/>
</fileset>
</source>
- <beforeLink>
- <parallel threadsPerProcessor="2" failonany="true" unless:set="lib-dependencies-uptodate">
- <update-dependency module="core" artifact="core/libffi.a"/>
- </parallel>
- </beforeLink>
<link>
- <fileset dir="${lib.native}/org/lwjgl">
+ <fileset dir="/usr/lib">
<include name="libffi.a"/>
</fileset>
<arg value="-ldl"/>
@@ -476,4 +471,4 @@
<touch file="${lib.native}/touch.txt" verbose="false"/>
</sequential>
</target>
-</project>
\ No newline at end of file
+</project>
--
2.38.1

View file

@ -0,0 +1,26 @@
From 1b5ccef4539d7a1dadac4c35112cdc5a1fbf4e90 Mon Sep 17 00:00:00 2001
From: knuxify <knuxify@gmail.com>
Date: Sun, 5 Feb 2023 16:19:58 +0100
Subject: [PATCH] remove prefixes for aarch64/arm32
---
config/linux/build.xml | 5 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/config/linux/build.xml b/config/linux/build.xml
index 299ca65..e2fe8fe 100644
--- a/config/linux/build.xml
+++ b/config/linux/build.xml
@@ -5,9 +5,6 @@
<project name="native-linux" basedir="../.." xmlns:if="ant:if" xmlns:unless="ant:unless">
<import file="../build-definitions.xml"/>
- <property name="gcc.prefix" value="aarch64-linux-gnu-" if:set="build.arch.arm64"/>
- <property name="gcc.prefix" value="arm-linux-gnueabihf-" if:set="build.arch.arm32"/>
-
<condition property="gcc.prefix" value="${gcc.prefix}" else="">
<isset property="gcc.prefix"/>
</condition>
--
2.39.1

View file

@ -0,0 +1,52 @@
From 77cce2fea2c6bf657a3d3fddecc731f596fe14dc Mon Sep 17 00:00:00 2001
From: knuxify <knuxify@gmail.com>
Date: Sat, 26 Nov 2022 10:06:53 +0100
Subject: [PATCH] rip preadv2 out of this file we don't have it
---
.../kotlin/core/linux/templates/uio.kt | 24 +------------------
1 file changed, 1 insertion(+), 23 deletions(-)
diff --git a/modules/lwjgl/core/src/templates/kotlin/core/linux/templates/uio.kt b/modules/lwjgl/core/src/templates/kotlin/core/linux/templates/uio.kt
index 2d8f9bf..da03b03 100644
--- a/modules/lwjgl/core/src/templates/kotlin/core/linux/templates/uio.kt
+++ b/modules/lwjgl/core/src/templates/kotlin/core/linux/templates/uio.kt
@@ -67,28 +67,6 @@ val uio = "UIO".nativeClass(Module.CORE_LINUX, nativeSubPath = "linux") {
off_t("__offset", "")
)
- SaveErrno..ssize_t(
- "preadv2",
- "",
-
- int("__fd", ""),
- iovec.const.p("__iovec", ""),
- int("__count", ""),
- off_t("__offset", ""),
- int("__flags", "")
- )
-
- SaveErrno..ssize_t(
- "pwritev2",
- "",
-
- int("__fd", ""),
- iovec.const.p("__iovec", ""),
- int("__count", ""),
- off_t("__offset", ""),
- int("__flags", "")
- )
-
SaveErrno..ssize_t(
"process_vm_readv",
"Read from another process' address space.",
@@ -112,4 +90,4 @@ val uio = "UIO".nativeClass(Module.CORE_LINUX, nativeSubPath = "linux") {
unsigned_long_int("__riovcnt", ""),
unsigned_long_int("__flags", "")
)
-}
\ No newline at end of file
+}
--
2.38.1