summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorthegeorg <[email protected]>2025-08-24 15:59:56 +0300
committerthegeorg <[email protected]>2025-08-24 16:16:25 +0300
commit44b8a2e37ee4a558fdbcb5cc4ebd38f3c624586f (patch)
tree104fc4605093a1fdfb55d15a20003cef3b91e802 /contrib
parent70416efb6bec4e0daeb6f70711260a2185e18fa5 (diff)
Bump nixpkgs revision to 24.05
commit_hash:5adc9b27af48577e01225ed6df2f1cc0c2d7e7db
Diffstat (limited to 'contrib')
-rw-r--r--contrib/libs/libevent/config.h6
-rw-r--r--contrib/libs/libevent/include/event2/event-config-linux.h2
-rw-r--r--contrib/libs/libevent/openssl-compat.h3
-rw-r--r--contrib/libs/libevent/patches/config.patch18
-rw-r--r--contrib/libs/libevent/ya.make2
-rw-r--r--contrib/libs/pcre/sljit/sljitConfigInternal.h3
-rw-r--r--contrib/libs/pcre/sljit/sljitNativePPC_common.c67
-rw-r--r--contrib/libs/pcre/ya.make2
-rw-r--r--contrib/libs/pdqsort/ya.make2
-rw-r--r--contrib/libs/qhull/ya.make2
-rw-r--r--contrib/libs/sparsehash/ya.make2
-rw-r--r--contrib/libs/yaml/src/config.h6
-rw-r--r--contrib/libs/yaml/ya.make2
13 files changed, 98 insertions, 19 deletions
diff --git a/contrib/libs/libevent/config.h b/contrib/libs/libevent/config.h
index 8b875920522..46a40cd3070 100644
--- a/contrib/libs/libevent/config.h
+++ b/contrib/libs/libevent/config.h
@@ -17,13 +17,13 @@
/* #undef HAVE_AFUNIX_H */
/* Define to 1 if you have the `arc4random' function. */
-/* #undef HAVE_ARC4RANDOM */
+#define HAVE_ARC4RANDOM 1
/* Define to 1 if you have the `arc4random_addrandom' function. */
/* #undef HAVE_ARC4RANDOM_ADDRANDOM */
/* Define to 1 if you have the `arc4random_buf' function. */
-/* #undef HAVE_ARC4RANDOM_BUF */
+#define HAVE_ARC4RANDOM_BUF 1
/* Define to 1 if you have the <arpa/inet.h> header file. */
#define HAVE_ARPA_INET_H 1
@@ -244,7 +244,7 @@
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strlcpy' function. */
-/* #undef HAVE_STRLCPY */
+#define HAVE_STRLCPY 1
/* Define to 1 if you have the `strsep' function. */
#define HAVE_STRSEP 1
diff --git a/contrib/libs/libevent/include/event2/event-config-linux.h b/contrib/libs/libevent/include/event2/event-config-linux.h
index f8fbfe5c8b5..fb0d931d767 100644
--- a/contrib/libs/libevent/include/event2/event-config-linux.h
+++ b/contrib/libs/libevent/include/event2/event-config-linux.h
@@ -257,7 +257,7 @@
#define EVENT__HAVE_STRING_H 1
/* Define to 1 if you have the `strlcpy' function. */
-/* #undef EVENT__HAVE_STRLCPY */
+#define EVENT__HAVE_STRLCPY 1
/* Define to 1 if you have the `strsep' function. */
#define EVENT__HAVE_STRSEP 1
diff --git a/contrib/libs/libevent/openssl-compat.h b/contrib/libs/libevent/openssl-compat.h
index a23e34251b9..f5de25539fd 100644
--- a/contrib/libs/libevent/openssl-compat.h
+++ b/contrib/libs/libevent/openssl-compat.h
@@ -40,7 +40,8 @@ static inline BIO_METHOD *BIO_meth_new(int type, const char *name)
#endif /* (OPENSSL_VERSION_NUMBER < 0x10100000L) || \
(defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) */
-#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x20700000L
+#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x20700000L && \
+ LIBRESSL_VERSION_NUMBER < 0x30500000L
#define BIO_get_init(b) (b)->init
#endif
diff --git a/contrib/libs/libevent/patches/config.patch b/contrib/libs/libevent/patches/config.patch
new file mode 100644
index 00000000000..93f6fca5e3b
--- /dev/null
+++ b/contrib/libs/libevent/patches/config.patch
@@ -0,0 +1,18 @@
+--- contrib/libs/libevent/include/event2/event-config-linux.h (index)
++++ contrib/libs/libevent/include/event2/event-config-linux.h (working tree)
+@@ -30,13 +30,13 @@
+ /* #undef EVENT__HAVE_AFUNIX_H */
+
+ /* Define to 1 if you have the `arc4random' function. */
+-#define EVENT__HAVE_ARC4RANDOM 1
++/* #undef EVENT__HAVE_ARC4RANDOM */
+
+ /* Define to 1 if you have the `arc4random_addrandom' function. */
+ /* #undef EVENT__HAVE_ARC4RANDOM_ADDRANDOM */
+
+ /* Define to 1 if you have the `arc4random_buf' function. */
+-#define EVENT__HAVE_ARC4RANDOM_BUF 1
++/* #undef EVENT__HAVE_ARC4RANDOM_BUF */
+
+ /* Define to 1 if you have the <arpa/inet.h> header file. */
+ #define EVENT__HAVE_ARPA_INET_H 1
diff --git a/contrib/libs/libevent/ya.make b/contrib/libs/libevent/ya.make
index 33db27e2739..f629515fe4c 100644
--- a/contrib/libs/libevent/ya.make
+++ b/contrib/libs/libevent/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.05.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/libs/pcre/sljit/sljitConfigInternal.h b/contrib/libs/pcre/sljit/sljitConfigInternal.h
index acba9da4be4..2d5ff425e91 100644
--- a/contrib/libs/pcre/sljit/sljitConfigInternal.h
+++ b/contrib/libs/pcre/sljit/sljitConfigInternal.h
@@ -284,7 +284,8 @@
/****************************/
#if (!defined SLJIT_CACHE_FLUSH && defined __has_builtin)
-#if __has_builtin(__builtin___clear_cache)
+#if __has_builtin(__builtin___clear_cache) && \
+ !(defined SLJIT_CONFIG_PPC && SLJIT_CONFIG_PPC)
#define SLJIT_CACHE_FLUSH(from, to) \
__builtin___clear_cache((char*)from, (char*)to)
diff --git a/contrib/libs/pcre/sljit/sljitNativePPC_common.c b/contrib/libs/pcre/sljit/sljitNativePPC_common.c
index 8103d7322a5..680cbef7b8f 100644
--- a/contrib/libs/pcre/sljit/sljitNativePPC_common.c
+++ b/contrib/libs/pcre/sljit/sljitNativePPC_common.c
@@ -46,6 +46,39 @@ typedef sljit_u32 sljit_ins;
#define SLJIT_PASS_ENTRY_ADDR_TO_CALL 1
#endif
+#ifdef __linux__
+#include <sys/auxv.h>
+
+/* Return the instruction cache line size, in bytes. */
+static SLJIT_INLINE sljit_u32 get_icache_line_size()
+{
+ static sljit_u32 icache_line_size = 0;
+ if (SLJIT_UNLIKELY(!icache_line_size)) {
+ icache_line_size = (sljit_u32) getauxval(AT_ICACHEBSIZE);
+ SLJIT_ASSERT(icache_line_size != 0);
+ }
+ return icache_line_size;
+}
+
+/* Cache and return the first hardware capabilities word. */
+static SLJIT_INLINE unsigned long get_hwcap()
+{
+ static unsigned long hwcap = 0;
+ if (SLJIT_UNLIKELY(!hwcap)) {
+ hwcap = getauxval(AT_HWCAP);
+ SLJIT_ASSERT(hwcap != 0);
+ }
+ return hwcap;
+}
+
+/* Return non-zero if this CPU has the icache snoop feature. */
+static SLJIT_INLINE unsigned long has_feature_icache_snoop()
+{
+ return (get_hwcap() & PPC_FEATURE_ICACHE_SNOOP);
+}
+
+#endif /* __linux__ */
+
#if (defined SLJIT_CACHE_FLUSH_OWN_IMPL && SLJIT_CACHE_FLUSH_OWN_IMPL)
static void ppc_cache_flush(sljit_ins *from, sljit_ins *to)
@@ -68,14 +101,40 @@ static void ppc_cache_flush(sljit_ins *from, sljit_ins *to)
# error "Cache flush is not implemented for PowerPC/POWER common mode."
# else
/* Cache flush for PowerPC architecture. */
- while (from < to) {
+ /* For POWER5 and up with icache snooping, only one icbi in the range
+ * is required. The sync flushes the store queue, and the icbi/isync
+ * kills the local prefetch.
+ */
+ if (has_feature_icache_snoop()) {
__asm__ volatile (
- "dcbf 0, %0\n"
"sync\n"
"icbi 0, %0\n"
- : : "r"(from)
+ "isync\n"
+ : : "r"(from) : "memory"
+ );
+ return;
+ }
+
+ sljit_u32 cache_line_bytes = get_icache_line_size();
+ sljit_u32 cache_line_words = cache_line_bytes / sizeof(sljit_ins);
+ uintptr_t cache_line_mask = ~(uintptr_t)(cache_line_bytes - 1);
+
+ /* Round down to start of cache line to simplify the end condition. */
+ sljit_ins* start = (sljit_ins*)((uintptr_t)(from) & cache_line_mask);
+
+ for (from = start; from < to; from += cache_line_words) {
+ __asm__ volatile (
+ "dcbf 0, %0"
+ : : "r"(from) : "memory"
+ );
+ }
+ __asm__ volatile ( "sync" );
+
+ for (from = start; from < to; from += cache_line_words) {
+ __asm__ volatile (
+ "icbi 0, %0"
+ : : "r"(from) : "memory"
);
- from++;
}
__asm__ volatile ( "isync" );
# endif
diff --git a/contrib/libs/pcre/ya.make b/contrib/libs/pcre/ya.make
index d3345c87a2d..054fb3cdc16 100644
--- a/contrib/libs/pcre/ya.make
+++ b/contrib/libs/pcre/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.05.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/libs/pdqsort/ya.make b/contrib/libs/pdqsort/ya.make
index 0a8ed229a41..1cc52e4dba8 100644
--- a/contrib/libs/pdqsort/ya.make
+++ b/contrib/libs/pdqsort/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.05.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/libs/qhull/ya.make b/contrib/libs/qhull/ya.make
index fe20c46c008..03685a29f38 100644
--- a/contrib/libs/qhull/ya.make
+++ b/contrib/libs/qhull/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.05.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/libs/sparsehash/ya.make b/contrib/libs/sparsehash/ya.make
index c409d1d7f03..d525ccdcdcd 100644
--- a/contrib/libs/sparsehash/ya.make
+++ b/contrib/libs/sparsehash/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.05.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/libs/yaml/src/config.h b/contrib/libs/yaml/src/config.h
index 22a2296e5e6..81db2b43961 100644
--- a/contrib/libs/yaml/src/config.h
+++ b/contrib/libs/yaml/src/config.h
@@ -55,7 +55,7 @@
/* Define to the version of this package. */
#define PACKAGE_VERSION "0.2.5"
-/* Define to 1 if all of the C90 standard headers exist (not just the ones
+/* Define to 1 if all of the C89 standard headers exist (not just the ones
required in a freestanding environment). This macro is provided for
backward compatibility; new code need not use it. */
#define STDC_HEADERS 1
@@ -75,8 +75,8 @@
/* Define the version string. */
#define YAML_VERSION_STRING "0.2.5"
-/* Define to empty if `const' does not conform to ANSI C. */
+/* Define to empty if 'const' does not conform to ANSI C. */
/* #undef const */
-/* Define to `unsigned int' if <sys/types.h> does not define. */
+/* Define as 'unsigned int' if <stddef.h> doesn't define. */
/* #undef size_t */
diff --git a/contrib/libs/yaml/ya.make b/contrib/libs/yaml/ya.make
index 27dd591a7e1..131d242d5a0 100644
--- a/contrib/libs/yaml/ya.make
+++ b/contrib/libs/yaml/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.05.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()