Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2232235/?format=api
{ "id": 2232235, "url": "http://patchwork.ozlabs.org/api/patches/2232235/?format=api", "web_url": "http://patchwork.ozlabs.org/project/glibc/patch/CAMe9rOoGodBNJo9-GS+PkyucPPjpj-L_x2n1v1cSUa5z4BNOWg@mail.gmail.com/", "project": { "id": 41, "url": "http://patchwork.ozlabs.org/api/projects/41/?format=api", "name": "GNU C Library", "link_name": "glibc", "list_id": "libc-alpha.sourceware.org", "list_email": "libc-alpha@sourceware.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<CAMe9rOoGodBNJo9-GS+PkyucPPjpj-L_x2n1v1cSUa5z4BNOWg@mail.gmail.com>", "list_archive_url": null, "date": "2026-05-04T02:33:12", "name": "Link static C++ tests against libatomic.a if needed", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "b41077b197f69dab5ffec472e31714c33869749c", "submitter": { "id": 4387, "url": "http://patchwork.ozlabs.org/api/people/4387/?format=api", "name": "H.J. Lu", "email": "hjl.tools@gmail.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/glibc/patch/CAMe9rOoGodBNJo9-GS+PkyucPPjpj-L_x2n1v1cSUa5z4BNOWg@mail.gmail.com/mbox/", "series": [ { "id": 502602, "url": "http://patchwork.ozlabs.org/api/series/502602/?format=api", "web_url": "http://patchwork.ozlabs.org/project/glibc/list/?series=502602", "date": "2026-05-04T02:33:12", "name": "Link static C++ tests against libatomic.a if needed", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/502602/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2232235/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2232235/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "libc-alpha@sourceware.org" ], "Delivered-To": [ "patchwork-incoming@legolas.ozlabs.org", "libc-alpha@sourceware.org" ], "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=PUaibPjZ;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org;\n receiver=patchwork.ozlabs.org)", "sourceware.org;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=PUaibPjZ", "sourceware.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com", "sourceware.org; spf=pass smtp.mailfrom=gmail.com", "server2.sourceware.org;\n arc=pass smtp.remote-ip=2607:f8b0:4864:20::529" ], "Received": [ "from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g85Ly6zPQz1yJ9\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 04 May 2026 12:34:18 +1000 (AEST)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id E26264BAE7D9\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 4 May 2026 02:34:15 +0000 (GMT)", "from mail-pg1-x529.google.com (mail-pg1-x529.google.com\n [IPv6:2607:f8b0:4864:20::529])\n by sourceware.org (Postfix) with ESMTPS id A4FE24BAE7F1\n for <libc-alpha@sourceware.org>; Mon, 4 May 2026 02:33:50 +0000 (GMT)", "by mail-pg1-x529.google.com with SMTP id\n 41be03b00d2f7-c736261ee8dso1048229a12.1\n for <libc-alpha@sourceware.org>; Sun, 03 May 2026 19:33:50 -0700 (PDT)" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org E26264BAE7D9", "OpenDKIM Filter v2.11.0 sourceware.org A4FE24BAE7F1" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org A4FE24BAE7F1", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org A4FE24BAE7F1", "ARC-Seal": [ "i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1777862030; cv=pass;\n b=YBPr/qCWhzY2sNqHVGyKHSTvSpbbyo5FjTE8y3bqREVFgcIoyp4I644asNvjAX/+HAn2K/l0Ylx5ts6IwQb+V4z94QDBK8ceKxvwJlrNyoY8wTYehMO9llqcDzvhdtzTlE0aN7gliCwmG9bK2bXcCiedRQ50ooPqLz4Kv2b6AG8=", "i=1; a=rsa-sha256; t=1777862029; cv=none;\n d=google.com; s=arc-20240605;\n b=bRKYrEBD7e0u5EWt+X8jbsvVD5p2la9vH9NpAxquQP5xJj24BDlJDUNkuPng+PXaaQ\n ZVNQpu0IARXZVfUJ/99m+f6KOMAG+4yZsUyHSV06Y8yT6tIwahARYjDllO41ABTZXwOc\n lbMXfTWMID1mhpU9QqAMD0nx4lXe3feUKzuVvbEo8dAc2hgnMJI3XHeRiIWtDR3kQbMQ\n XNnNx5iW62ph1zhYmeW7J6B3OZLdWspOCzA/g4kPgv6DlfyMy4CLtTJ5/RUEhGB2fPiv\n gjCOaKXw26Fr35Sz5TmREQKnsKTHuIIHdI7H9ram63Cx6R6x5m2mKtFdtnEmEfkHCjKc\n RDlw==" ], "ARC-Message-Signature": [ "i=2; a=rsa-sha256; d=sourceware.org; s=key;\n t=1777862030; c=relaxed/simple;\n bh=quSudNV6vAcBJOFEavpHB15j3e+q2W0d4v6flmpZsxc=;\n h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To;\n b=Dv/lzX1dtE7ftLzVvG95UUwFRyuZTpXsbI4L04j68SAfB0vNJvCYlKzAlOuGbC7ZuHOEjlhPqfqww22C7a8iD2WQt+sveLbgmX+OqCQDPOio7NYxUnnAJ0CtawPOKIwAZgn4GGLJHyjADOpnQJcmeOuAT5VDKZe+3w/ZmU7RgG4=", "i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n h=to:subject:message-id:date:from:mime-version:dkim-signature;\n bh=bPAiUVXqJqDOSe2jbq2bvqS9iH2yKuneeHxiri6mSSY=;\n fh=biVpOvIgHjiqBpY2Y6O9I5MsAfr37QX6bXfYKjh9TDU=;\n b=WvWsUahhjgNPZB/po5b/AwbShy9KfvZgu8n6A9S4zk3snN4YbPX27L+aT/a8qRrgkF\n P6F6ig3vQyWfWYnCGHT7XjU3fgzdRfOPJKEM/0On5t2ja3tOAS2fGxI9VBJRArmt0/xA\n okPhk5QOeZ8Zm8QgRj4+okepn+Vwb3xTWbG7bAApluTBaeZvjVmEtLUq65+EXhyRw4tb\n xiAN/H/yxz3BQ9O/pFZhPI3JeFhlFyy80KrLB81RrFL+L5CfqzElPvKEFuzwqtCvkVfm\n px5P8PR9M4pQEsBk6Zk8EI/a6pmltcvuMjLsZI3DpFAV8XOVBsuk6M2HuqdxF1e9jdz+\n AvVQ==; darn=sourceware.org" ], "ARC-Authentication-Results": [ "i=2; server2.sourceware.org", "i=1; mx.google.com; arc=none" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1777862029; x=1778466829; darn=sourceware.org;\n h=to:subject:message-id:date:from:mime-version:from:to:cc:subject\n :date:message-id:reply-to;\n bh=bPAiUVXqJqDOSe2jbq2bvqS9iH2yKuneeHxiri6mSSY=;\n b=PUaibPjZR0sdUVJiaCKIzP4b5wE+j0TjM+JF09KVHEg6XIpA1JrnCakb04x8jlX+ZM\n P1g33AkO3cCz4NnnAVTAGAWUeXOmNtZNDQxPTzayxGW5bzesJ2MS65MS1uykTZAg+V7q\n lDfv8x7jmFgQ6Kh+FyF8GpQuez6jOXT2PxnLzZy9B6sXJ2oymVhtZivL5MApRObpIFS2\n 6AhfG0afe2N0l68DZoaruS+d5+s8Sb+EjkJ/ylPv/vhhai454i5/Z7nHDqmXYKPObTFw\n +V2h1yp6/tmTdAwOE3lQMFzMzDv4JFZ9RtaREn7gsTfteBQHwj9q+fl9QqS2FzQxO65o\n IBTw==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777862029; x=1778466829;\n h=to:subject:message-id:date:from:mime-version:x-gm-gg\n :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n bh=bPAiUVXqJqDOSe2jbq2bvqS9iH2yKuneeHxiri6mSSY=;\n b=iuvqyDGwXuE4TS6KDw1e1XFpFKM9jPb+Nxt2TxdLLM59V2DGdrEhtJ/kkrvXb6/Axy\n GjaZz/qsGJxGof6RNrj/p/ZXTRtg7gvTmWgyiOECFoA4MBqzMlCRsJlX4MNOmCSeoHP9\n sMO53QUUuvjqibYjScWNqV46QhWl/F0lS1S/j1KhJjFSlWdmCbiu/lUAGIIwqCHUFtGG\n Zgbsq7v+dY/H0/YodUopdhIusOniRWcAGf+ohjV22N8dJ5Gzz7QlA4qciuFqOBP18nCW\n +97TK5VN7nrnqUNQIn/Gyj4WYdih+rXaHBYqtj3OH2RHy53a8x0lHQLGzu/AN1/SH9Bf\n bKuw==", "X-Gm-Message-State": "AOJu0YwXGzOm72F60n571xtl6RQaHRozRSSp0skRyzhu+vLMQiHb70wb\n bJm7DShY6FC3wbdidbeDdjpc2OwSc+91B7jBwQ8wN4jOsr9zFxliqGdfVcf4F0zoXzBI9cUlxBC\n aZU498F6JcJrXk+CyEymBrSJrcYU/RAyi1tYtiEmugequ", "X-Gm-Gg": "AeBDievSDx8plvTwO4SSIr3VXufQyTQtkJdUAtZYIWOyY3BePpJPIUdzLy+ICBICIPt\n Ud9XCzW2ltfkA1dzf10YgPmU3Q2yq7dGi+DPBBpqkbH1H9zGCTMKArELkf/hT7VUrrOVHT+Gilm\n WUAFPJZc0QO9jeTnJ3fEEd/UNRx7/qfS6ykPmsjLt1jOzbEX5Xoq8vrLQxldxSoHBy9wNggE/Bh\n I6x7Hw001NdXyG4pbPjw1pNc+anzRdI4KafIR4GoOzAbMJuC9PvgBQUfvLpq+T7rJviIH6vFZbB\n yG2AQyvaka2xanGS4Hk=", "X-Received": "by 2002:a05:6a21:33aa:b0:3a0:bc61:62e1 with SMTP id\n adf61e73a8af0-3a7f1d24e0cmr8671504637.30.1777862029284; Sun, 03 May 2026\n 19:33:49 -0700 (PDT)", "MIME-Version": "1.0", "From": "\"H.J. Lu\" <hjl.tools@gmail.com>", "Date": "Mon, 4 May 2026 10:33:12 +0800", "X-Gm-Features": "AVHnY4LO0bwm8gRndKEmtj_cr7kdpv9LgpAw7E0dhbpmu2wx77L1Fl6Xmrtngn8", "Message-ID": "\n <CAMe9rOoGodBNJo9-GS+PkyucPPjpj-L_x2n1v1cSUa5z4BNOWg@mail.gmail.com>", "Subject": "[PATCH] Link static C++ tests against libatomic.a if needed", "To": "GNU C Library <libc-alpha@sourceware.org>", "Content-Type": "multipart/mixed; boundary=\"000000000000b731fe0650f4c2a9\"", "X-BeenThere": "libc-alpha@sourceware.org", "X-Mailman-Version": "2.1.30", "Precedence": "list", "List-Id": "Libc-alpha mailing list <libc-alpha.sourceware.org>", "List-Unsubscribe": "<https://sourceware.org/mailman/options/libc-alpha>,\n <mailto:libc-alpha-request@sourceware.org?subject=unsubscribe>", "List-Archive": "<https://sourceware.org/pipermail/libc-alpha/>", "List-Post": "<mailto:libc-alpha@sourceware.org>", "List-Help": "<mailto:libc-alpha-request@sourceware.org?subject=help>", "List-Subscribe": "<https://sourceware.org/mailman/listinfo/libc-alpha>,\n <mailto:libc-alpha-request@sourceware.org?subject=subscribe>", "Errors-To": "libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org" }, "content": "Define cxx-static-link-libatomic to -latomic if DT_NEEDED entries in\nlibstdc++.so include libatomic.so. Update link-extra-libs-static to\ninclude $(cxx-static-link-libatomic) if -lstdc++ is used.\n\nTested with sparcv8-linux-gnu-leon3 and sparcv9-linux-gnu using\nuild-many-glibcs.py. This fixes BZ #34121.", "diff": "From 540427188271de75920d4ea14b7ee306fbc96453 Mon Sep 17 00:00:00 2001\nFrom: \"H.J. Lu\" <hjl.tools@gmail.com>\nDate: Mon, 4 May 2026 09:51:48 +0800\nSubject: [PATCH] Link static C++ tests against libatomic.a if needed\n\nDefine cxx-static-link-libatomic to -latomic if DT_NEEDED entries in\nlibstdc++.so include libatomic.so. Update link-extra-libs-static to\ninclude $(cxx-static-link-libatomic) if -lstdc++ is used.\n\nTested with sparcv8-linux-gnu-leon3 and sparcv9-linux-gnu using\nuild-many-glibcs.py. This fixes BZ #34121.\n\nSigned-off-by: H.J. Lu <hjl.tools@gmail.com>\n---\n Makeconfig | 3 ++-\n configure | 28 ++++++++++++++++++++++++++--\n configure.ac | 16 ++++++++++++++++\n 3 files changed, 44 insertions(+), 3 deletions(-)\n\ndiff --git a/Makeconfig b/Makeconfig\nindex 8fe7217dd7..9bf3571863 100644\n--- a/Makeconfig\n+++ b/Makeconfig\n@@ -662,7 +662,8 @@ endif\n \n ifndef link-extra-libs\n link-extra-libs = $(LDLIBS-$(@F))\n-link-extra-libs-static = $(link-extra-libs)\n+link-extra-libs-static = $(link-extra-libs) \\\n+ $(if $(findstring -lstdc++,$(link-extra-libs)),$(cxx-static-link-libatomic),)\n endif\n \n # The static libraries.\ndiff --git a/configure b/configure\nindex c84d283bd5..39485fc91f 100755\n--- a/configure\n+++ b/configure\n@@ -6317,6 +6317,30 @@ fi\n { printf \"%s\\n\" \"$as_me:${as_lineno-$LINENO}: result: $libc_cv_ld_gnu_indirect_function\" >&5\n printf \"%s\\n\" \"$libc_cv_ld_gnu_indirect_function\" >&6; }\n \n+# If libstdc++.so depends on libatomic.so, $CXX -static needs libatomic.a\n+# to link.\n+{ printf \"%s\\n\" \"$as_me:${as_lineno-$LINENO}: checking whether $CXX -static needs with libatomic\" >&5\n+printf %s \"checking whether $CXX -static needs with libatomic... \" >&6; }\n+if test ${libc_cv_cxx_static_link_libatomic+y}\n+then :\n+ printf %s \"(cached) \" >&6\n+else case e in #(\n+ e) libc_cv_cxx_static_link_libatomic=\n+if test -n \"$CXX\"; then\n+ libstdcxx_so=`$CXX -print-file-name=libstdc++.so`\n+ if test -n \"$libstdcxx_so\" \\\n+ && test -f \"$libstdcxx_so\" \\\n+ && $READELF -d $libstdcxx_so | grep -q libatomic.so; then\n+ libc_cv_cxx_static_link_libatomic=-latomic\n+ fi\n+fi ;;\n+esac\n+fi\n+{ printf \"%s\\n\" \"$as_me:${as_lineno-$LINENO}: result: $libc_cv_cxx_static_link_libatomic\" >&5\n+printf \"%s\\n\" \"$libc_cv_cxx_static_link_libatomic\" >&6; }\n+config_vars=\"$config_vars\n+cxx-static-link-libatomic = $libc_cv_cxx_static_link_libatomic\"\n+\n # Check if gcc supports attribute ifunc as it is used in libc_ifunc macro.\n { printf \"%s\\n\" \"$as_me:${as_lineno-$LINENO}: checking for gcc attribute ifunc support\" >&5\n printf %s \"checking for gcc attribute ifunc support... \" >&6; }\ndiff --git a/configure.ac b/configure.ac\nindex 280ec8e5b3..c59f02b635 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -780,6 +780,22 @@ if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \\\n fi\n rm -f conftest*])\n \n+# If libstdc++.so depends on libatomic.so, $CXX -static needs libatomic.a\n+# to link.\n+AC_CACHE_CHECK([whether $CXX -static needs with libatomic],\n+\t libc_cv_cxx_static_link_libatomic, [dnl\n+libc_cv_cxx_static_link_libatomic=\n+if test -n \"$CXX\"; then\n+ libstdcxx_so=`$CXX -print-file-name=libstdc++.so`\n+ if test -n \"$libstdcxx_so\" \\\n+ && test -f \"$libstdcxx_so\" \\\n+ && $READELF -d $libstdcxx_so | grep -q libatomic.so; then\n+ libc_cv_cxx_static_link_libatomic=-latomic\n+ fi\n+fi])\n+LIBC_CONFIG_VAR([cxx-static-link-libatomic],\n+\t\t[$libc_cv_cxx_static_link_libatomic])\n+\n # Check if gcc supports attribute ifunc as it is used in libc_ifunc macro.\n AC_CACHE_CHECK([for gcc attribute ifunc support],\n \t libc_cv_gcc_indirect_function, [dnl\n-- \n2.54.0\n\n", "prefixes": [] }