rtorrent: upgrade 0.16.26 -> 0.16.27

Dropped patch that is part of the upstream version.

Changelog:
https://github.com/rakshasa/rtorrent/releases/tag/v0.16.27

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
Ankur Tyagi authored and Khem Raj committed 2026-10-29 19:59:14 -07:00
1 parent 66387ef2a1
commit 1affde497f
2 files changed
+1 -59

No files matched your search

@@ -1,57 +0,0 @@
From: Khem Raj <khem.raj@oss.qualcomm.com>
Date: Wed, 21 Oct 2026 13:00:00 -0700
Subject: [PATCH] checks.m4: Keep the atomic test program from being optimized
away
TORRENT_CHECK_ATOMIC decides whether -latomic is needed by linking a
program that loads from a local std::atomic<uint64_t>. The atomic never
escapes, so with -O2 in CXXFLAGS clang folds the load to a constant and
no __atomic_* call is emitted. The check then reports that -latomic is
not required even on targets that need it for 64-bit atomics, such as
riscv32, and linking fails later:
ld.lld: error: undefined symbol: __atomic_load_8
Make the atomic global and modify it with fetch_add() so the atomic
operations are emitted at any optimization level.
Upstream-Status: Submitted [https://github.com/rakshasa/rtorrent/pull/2072]
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
---
scripts/checks.m4 | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
--- a/scripts/checks.m4
+++ b/scripts/checks.m4
@@ -99,13 +99,17 @@
])
+# The atomic is global and modified with a read-modify-write operation,
+# otherwise the compiler can optimize the operations away and the program
+# links without libatomic even on targets that need it.
AC_DEFUN([TORRENT_CHECK_ATOMIC], [
AC_MSG_CHECKING([whether 64-bit atomic operations require -latomic])
AC_LANG_PUSH(C++)
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <cstdint>
- #include <atomic>]],
- [[std::atomic<uint64_t> x(0);
+ #include <atomic>
+ std::atomic<uint64_t> x(0);]],
+ [[x.fetch_add(1);
return x.load();]])],
[
AC_MSG_RESULT([no])
@@ -116,8 +120,9 @@
LIBS="$LIBS -latomic"
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <cstdint>
- #include <atomic>]],
- [[std::atomic<uint64_t> x(0);
+ #include <atomic>
+ std::atomic<uint64_t> x(0);]],
+ [[x.fetch_add(1);
return x.load();]])],
[
AC_MSG_RESULT([yes])
@@ -6,10 +6,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "autoconf-archive libsigc++-2.0 curl cppunit libtool libtorrent ncurses"
SRC_URI = "git://github.com/rakshasa/rtorrent;branch=master;protocol=https;tag=v${PV} \
file://0001-checks.m4-Keep-the-atomic-test-program-from-being-opt.patch \
"
SRCREV = "62899bd053c39b70380464e8f64dbcfce92579aa"
SRCREV = "cab23f12a4ecf43db046ed813bed3d835416338e"
inherit autotools pkgconfig