SHA256
3
0
forked from pool/libuv

Accepting request 1138765 from devel:libraries:c_c++

- add ppc64-disable-liburing.patch (bsc#1218365)

  * adjust stalebot deadline
- Update to version 1.24.0:
  0001-linux-remove-epoll-syscall-wrappers.patch and
  * unix: make uv_guess_handle work properly for AIX (Gireesh
  * build: remove unused 'component' GYP option (Saúl Ibarra
  * win: use the MSVC provided snprintf where possible (Jason
  * unix: only undo fs req registration in async mode (Ben
  * test: fix fs_event_watch_file_currentdir flakiness (Santiago
  * unix: skip prohibited syscalls on tvOS and watchOS (Nathan
  * docs: clarify documentation of uv_tcp_init_ex (Andrius
  * win: properly return UV_EBADF when _close() fails (Nicholas
  * test,freebsd: skip udp_dual_stack if not supported (Santiago
  * test: fix -Wtautological-pointer-compare warnings (Saúl Ibarra
  * linux,fs: fix p{read,write}v with a 64bit offset (Saúl Ibarra
  * win: fix path for removed and renamed fs events (Joran Dirk
  * win: do not read more from stream than available (Jeremy
  * test: fix self-deadlocks in thread_rwlock_trylock (Ben
  * unix: don't block for io if any io handle is primed (Saúl
  * linux: work around epoll bug in kernels < 2.6.37 (Ben
  * unix: prevent infinite loop in uv__run_pending (Saúl Ibarra
  * unix: make sure UDP send callbacks are asynchronous (Saúl
  * aix: add ahafs autoconf detection and README notes (Andrew
  * core: add ability to customize memory allocator (Saúl Ibarra
  * doc: clarify that the thread pool primites are not thread safe
  * unix: fix glibc-2.20+ macro incompatibility (Massimiliano
  * doc: add Sphinx plugin for generating links to man pages
  * doc: link system and library calls to man pages (Saúl
  * doc: document uv_getnameinfo_t.{host|service} (Saúl Ibarra

OBS-URL: https://build.opensuse.org/request/show/1138765
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libuv?expand=0&rev=34
This commit is contained in:
Ana Guerrero 2024-01-15 21:15:03 +00:00 committed by Git OBS Bridge
commit 858cb8699c
3 changed files with 83 additions and 49 deletions

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Mon Jan 15 07:45:35 UTC 2024 - Dirk Müller <dmueller@suse.com>
- add ppc64-disable-liburing.patch (bsc#1218365)
-------------------------------------------------------------------
Wed Nov 15 16:58:41 UTC 2023 - Marcus Meissner <meissner@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file for package libuv
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -29,6 +29,8 @@ Source1: https://dist.libuv.org/dist/v%{version}/libuv-v%{version}.tar.gz
Source2: %{name}.keyring
Source3: baselibs.conf
Patch1: fix_tests.patch
# PATCH-FIX-UPSTREAM: gh#libuv/libuv#4285
Patch2: ppc64-disable-liburing.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
@ -60,8 +62,7 @@ primarily developed for use by Node.js, but it is also used by
Mozilla's Rust language, Luvit, Julia, pyuv, and others.
%prep
%setup -q -n %{name}-v%{version}
%autopatch -p1
%autosetup -p1 -n %{name}-v%{version}
%build
./autogen.sh

View File

@ -0,0 +1,28 @@
From 08f4fb449048e22be034b26fa41fb0723189f2b8 Mon Sep 17 00:00:00 2001
From: Brad King <brad.king@kitware.com>
Date: Fri, 12 Jan 2024 15:02:22 -0500
Subject: [PATCH] linux: disable io_uring on ppc64 and ppc64le
Since `io_uring` support was added, libuv's signal handler randomly
segfaults on ppc64 when interrupting `epoll_pwait`. Disable it
pending further investigation.
Issue: https://github.com/libuv/libuv/issues/4283
---
src/unix/linux.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/unix/linux.c b/src/unix/linux.c
index 3c1313e7efc..4164e90dbb0 100644
--- a/src/unix/linux.c
+++ b/src/unix/linux.c
@@ -463,6 +463,9 @@ static int uv__use_io_uring(void) {
#elif defined(__arm__) && __SIZEOF_POINTER__ == 4
/* See https://github.com/libuv/libuv/issues/4158. */
return 0; /* All 32 bits kernels appear buggy. */
+#elif defined(__powerpc64__) || defined(__ppc64__)
+ /* See https://github.com/libuv/libuv/issues/4283. */
+ return 0; /* Random SIGSEGV in signal handler. */
#else
/* Ternary: unknown=0, yes=1, no=-1 */
static _Atomic int use_io_uring;