Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2232232/?format=api
{ "id": 2232232, "url": "http://patchwork.ozlabs.org/api/patches/2232232/?format=api", "web_url": "http://patchwork.ozlabs.org/project/glibc/patch/CAMe9rOq1yzPcH+rLc2WJUBC7Db7RhiSbC=rXNS46+4U=nJuGvQ@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": "<CAMe9rOq1yzPcH+rLc2WJUBC7Db7RhiSbC=rXNS46+4U=nJuGvQ@mail.gmail.com>", "list_archive_url": null, "date": "2026-05-04T00:38:30", "name": "powerpc32/nofpu: Add internal soft-fp symbols to avoid PLT in libc.so", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "5aab48a5e556a2adb8c4d3616894b941387a63dc", "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/CAMe9rOq1yzPcH+rLc2WJUBC7Db7RhiSbC=rXNS46+4U=nJuGvQ@mail.gmail.com/mbox/", "series": [ { "id": 502599, "url": "http://patchwork.ozlabs.org/api/series/502599/?format=api", "web_url": "http://patchwork.ozlabs.org/project/glibc/list/?series=502599", "date": "2026-05-04T00:38:30", "name": "powerpc32/nofpu: Add internal soft-fp symbols to avoid PLT in libc.so", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/502599/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2232232/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2232232/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=ZO0wj+Md;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org\n (client-ip=38.145.34.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=ZO0wj+Md", "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::533" ], "Received": [ "from vm01.sourceware.org (vm01.sourceware.org [38.145.34.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 4g82pf2Y19z1yJ0\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 04 May 2026 10:39:32 +1000 (AEST)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id D37764BABF14\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 4 May 2026 00:39:30 +0000 (GMT)", "from mail-pg1-x533.google.com (mail-pg1-x533.google.com\n [IPv6:2607:f8b0:4864:20::533])\n by sourceware.org (Postfix) with ESMTPS id C64994B9DB69\n for <libc-alpha@sourceware.org>; Mon, 4 May 2026 00:39:08 +0000 (GMT)", "by mail-pg1-x533.google.com with SMTP id\n 41be03b00d2f7-c801b30188dso262181a12.3\n for <libc-alpha@sourceware.org>; Sun, 03 May 2026 17:39:08 -0700 (PDT)" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org D37764BABF14", "OpenDKIM Filter v2.11.0 sourceware.org C64994B9DB69" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org C64994B9DB69", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org C64994B9DB69", "ARC-Seal": [ "i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1777855148; cv=pass;\n b=OD4arjCI5MJm0gBhc+1rhd8InBEL34OW/APfSd44R2n06B+Ek86tHq2ZaoyGv/mi+NDCZz/+oTyyIVlJRLr5gFm9G+pc5C2jVVYhwPEBm4g/C6MWKN7ZYOayHqFson4oGpr5O92ugQ1tgp4lTfz0E/jfl6lyGzxuwJwhowtcxjw=", "i=1; a=rsa-sha256; t=1777855147; cv=none;\n d=google.com; s=arc-20240605;\n b=DIjeWfmeqXJ8FUcYzZV7tPHInRX6pZEP5XSmPC/aBL94+egA13IjnWCpVWztirUwcg\n iuT32XqniPOLkZQSLrTWoyMraDpHNX0PLJF4WJw7Kms47hOwdjxwI0Lx4J28p1BEToz4\n OT5JIQwPd0vyupPKDJRXDbHTj6L4bJaK5V4X8xHgUzlKKT5ZKuh87ELsqvBxK8AOKzlD\n WdIVwdt5jsj5gte57/eFnItYNITW8tgWZxOO5rP8Nq/TPCstXTiYtTQOq1HPH2y/t9W1\n nXwx6S5jUjRAdAs6xQ9w2CTvqBniA598RQUqR3F+jc4MqWDz5QpAcPKaPmTo7kZqNeno\n BT6g==" ], "ARC-Message-Signature": [ "i=2; a=rsa-sha256; d=sourceware.org; s=key;\n t=1777855148; c=relaxed/simple;\n bh=p2XSL5D95zQZ0F3wBfg4HZa62rWprA6dgeU6YVk3EpU=;\n h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To;\n b=lvd030tUmvxcHHQfRkxX23PjW9DajyCNpH071/ouvTUqx1VbPVGd6Jqf1s3OKshHqTt2uuQ+WCHzRhWERI1Lv5r6VsmeShJXMEkdbYMi9XPtWeI2JSEIq2tbsme4XiC48Mi+EEfenb56tOmeT0kjjK5B62iXxKvif4ioVAkIbvE=", "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=nPFjZGZN0JfyrppONnz6hEJdbxe8zRcK1Yx+jgkE6A8=;\n fh=biVpOvIgHjiqBpY2Y6O9I5MsAfr37QX6bXfYKjh9TDU=;\n b=JMRR4F/aMl91TH1pUK2beFwLhHH4a8ED83/ZrZivMue/EaDIrmEmTOHYHcImfK9Aqw\n PDJa3RIf7cEr/aXylar8kxbJ2pAEIsXj2c8LB299NxgbRr/Hf91XEBYH8dDGV3r0xKRL\n LzGLNBAFxJfZDahHE4b4xlJAaOhB1ZJRPrxWDrZyrU5IaeyS56wMxE9h8MzfOGjGhREY\n oRiGDOywQxh3qRAt6oCz6imP6CtKgDYB7FpsqxN9hxV1vFOWsxZPt/AUegPz5gf5sCKP\n zDmz3zWjZAjTzIqLTH1Gu/7HJ/6wGpV3AVSb3D8AS2zD27bYT6ZmQxGeyfslF49tixl9\n I41Q==; 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=1777855147; x=1778459947; 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=nPFjZGZN0JfyrppONnz6hEJdbxe8zRcK1Yx+jgkE6A8=;\n b=ZO0wj+MdC2ZfnKbSmawg1UaSfjnEtzDDNQBAcLEU+BVmfbEdnzeu0R7VtKzTIVu9Mg\n iCQSIg27/F3mJMytMlD0IxtsEbib3o6caa7BL52XNQwOxUNTQyzrO88N1BRmXm5FYqo3\n TIV2uYl4XhQ0VF+zHTzaNpiWzS+XPuAaXYjO17eb+TPWltpu6yLXpPo8l/uNYmH6Ce95\n DdiM2XKlfYWno43FWs5IfhdX9F8UDBlOjhbmLCRb+uu0RmxJkx8nxHR7Vt0Y811Bzox0\n tTVt8Bmly8wEAssT2Q4cI3+Q+NjyJ95GvDfPUlC/BGiF1IAZ5iZmFoo3nrY03LO0XvaJ\n uJ5g==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777855147; x=1778459947;\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=nPFjZGZN0JfyrppONnz6hEJdbxe8zRcK1Yx+jgkE6A8=;\n b=HQcAkkj0KncqLtn3agpUStxr3RSOnHS3ShkA3ndlfdvPk0pWKYPoEwgMneyrOI1umN\n 7c9cD1GlHzCvpan8/1UGX+IHN0JaQOYCv39iPMz/0aAhmyUJ9e8+2AeBijfCN98GICc9\n aNC6i+LGCRIABZ3EvLSLlvyPQIiX9KEzD8CixlfAPvzFDfgxjZTwinSJ2/ATi+lLntPK\n Wm6aRmRS9N81XVUxmiyEFl+f3UjkrCKiJ45yMneDIk8Qwzv+8/MHL2T5CMKP4Y3LPHen\n aiut5AercRhLSqyh18vKMEDUkeM9TQxEGuuvX5a/4Upg1au13yuLWaxSbSbLYDqfPh/x\n lXlA==", "X-Gm-Message-State": "AOJu0YwH8tTcbgQu9p9c56iWe4HtRUaRwVyaO8ibDrEzsLaplZJQek7S\n ewvBjavN/MpPCYGCtZYpwgpTbiy0fQjBS3fs434C8b9HUA0CoWSKz1dp5JPeSBU0b51WCU3QXKB\n tkBjAsttJNbSlDPuo/j8g/WnEkJTtvWzQWI3Qf39fDOFh", "X-Gm-Gg": "AeBDiesDQ97ZqUjJJfnf2EE8wjoVARI8dSduFrDJjzfkAaBiQYu7tdJbVgAnvL494kX\n 11Zwc/7al/c/FeqRFdcJnYzEiqJOd0MGjX35x4hIrTa7JZXhheE7nOIxPM4wC6u6QrRVS2jimDg\n kQZmIUaRP2Y9OCb6EOliVAsuDOxY1te+TYz3Iif56YMsKZ82xpLwvzPVojc1gDZKSIOvzQ6D/Up\n x43HXbqTBNhFU5Xuc8StYSWQuerSd/BIdu8+a7Gi1mDBnYI2RSGsMehjeaNelB00l+onI/OatBQ\n yK0At1FIpBMibUJ3whdsWMjYxV/8Qw==", "X-Received": "by 2002:a05:6a21:3284:b0:3a2:f14a:4287 with SMTP id\n adf61e73a8af0-3a7f1ad070emr7858072637.6.1777855146989; Sun, 03 May 2026\n 17:39:06 -0700 (PDT)", "MIME-Version": "1.0", "From": "\"H.J. Lu\" <hjl.tools@gmail.com>", "Date": "Mon, 4 May 2026 08:38:30 +0800", "X-Gm-Features": "AVHnY4IfCUGzOn6Lh0WkldFu1nJG8Y4qy4o6EuvwU3cTicsxgXKF4CWy3X5HVaQ", "Message-ID": "\n <CAMe9rOq1yzPcH+rLc2WJUBC7Db7RhiSbC=rXNS46+4U=nJuGvQ@mail.gmail.com>", "Subject": "[PATCH] powerpc32/nofpu: Add internal soft-fp symbols to avoid PLT in\n libc.so", "To": "GNU C Library <libc-alpha@sourceware.org>", "Content-Type": "multipart/mixed; boundary=\"0000000000007fb6f20650f328d5\"", "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": "Since powerpc-linux-gnu-soft libc.so calls __fixunssfsi, __gesf2, __lesf2\nand __ltsf2 internally, add internal symbols to avoid calling them via\nPLT.\n\nThis fixes BZ #34122.", "diff": "From 4c1b3965ee2cdecbb23c48189cee5a9bc3650a1e Mon Sep 17 00:00:00 2001\nFrom: \"H.J. Lu\" <hjl.tools@gmail.com>\nDate: Mon, 4 May 2026 08:30:50 +0800\nSubject: [PATCH] powerpc32/nofpu: Add internal soft-fp symbols to avoid PLT in\n libc.so\n\nSince powerpc-linux-gnu-soft libc.so calls __fixunssfsi, __gesf2, __lesf2\nand __ltsf2 internally, add internal symbols to avoid calling them via\nPLT.\n\nThis fixes BZ #34122.\n\nSigned-off-by: H.J. Lu <hjl.tools@gmail.com>\n---\n .../linux/powerpc/powerpc32/nofpu/Makefile | 7 ++++\n .../powerpc/powerpc32/nofpu/fixunssfsi.c | 5 +++\n .../linux/powerpc/powerpc32/nofpu/gesf2.c | 5 +++\n .../linux/powerpc/powerpc32/nofpu/lesf2.c | 6 +++\n .../powerpc/powerpc32/nofpu/symbol-hacks.h | 38 +++++++++++++++++++\n 5 files changed, 61 insertions(+)\n create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/Makefile\n create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/fixunssfsi.c\n create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/gesf2.c\n create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/lesf2.c\n create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/symbol-hacks.h\n\ndiff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/Makefile b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/Makefile\nnew file mode 100644\nindex 0000000000..86c4b4dc26\n--- /dev/null\n+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/Makefile\n@@ -0,0 +1,7 @@\n+ifeq (yes,$(build-shared))\n+ifeq ($(subdir),soft-fp)\n+CPPFLAGS-fixunssfsi.c = -Din_fixunssfsi_c\n+CPPFLAGS-gesf2.c = -Din_gesf2_c\n+CPPFLAGS-lesf2.c = -Din_lesf2_c\n+endif\n+endif\ndiff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/fixunssfsi.c b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/fixunssfsi.c\nnew file mode 100644\nindex 0000000000..352379949d\n--- /dev/null\n+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/fixunssfsi.c\n@@ -0,0 +1,5 @@\n+#include <soft-fp/fixunssfsi.c>\n+\n+#ifdef SHARED\n+strong_alias (__fixunssfsi, __fixunssfsi_internal)\n+#endif\ndiff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/gesf2.c b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/gesf2.c\nnew file mode 100644\nindex 0000000000..a0a8b6db37\n--- /dev/null\n+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/gesf2.c\n@@ -0,0 +1,5 @@\n+#include <soft-fp/gesf2.c>\n+\n+#ifdef SHARED\n+strong_alias (__gesf2, __gesf2_internal)\n+#endif\ndiff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/lesf2.c b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/lesf2.c\nnew file mode 100644\nindex 0000000000..3dee21aff6\n--- /dev/null\n+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/lesf2.c\n@@ -0,0 +1,6 @@\n+#include <soft-fp/lesf2.c>\n+\n+#ifdef SHARED\n+strong_alias (__lesf2, __lesf2_internal)\n+strong_alias (__ltsf2, __ltsf2_internal)\n+#endif\ndiff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/symbol-hacks.h b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/symbol-hacks.h\nnew file mode 100644\nindex 0000000000..ff371e8376\n--- /dev/null\n+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/symbol-hacks.h\n@@ -0,0 +1,38 @@\n+/* Hacks needed for soft-fp symbol manipulation.\n+ Copyright (C) 2026 Free Software Foundation, Inc.\n+ This file is part of the GNU C Library.\n+\n+ The GNU C Library is free software; you can redistribute it and/or\n+ modify it under the terms of the GNU Lesser General Public\n+ License as published by the Free Software Foundation; either\n+ version 2.1 of the License, or (at your option) any later version.\n+\n+ The GNU C Library is distributed in the hope that it will be useful,\n+ but WITHOUT ANY WARRANTY; without even the implied warranty of\n+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n+ Lesser General Public License for more details.\n+\n+ You should have received a copy of the GNU Lesser General Public\n+ License along with the GNU C Library; if not, see\n+ <https://www.gnu.org/licenses/>. */\n+\n+/* A very dirty trick: gcc emits references to __fixunssfsi, __gesf2,\n+ __lesf2 and __ltsf2. These functions are exported and therefore we\n+ get PLTs. Unnecessarily so. Changing gcc is a big task which might\n+ not be worth it so we play tricks with the assembler. */\n+#if !defined __ASSEMBLER__ && IS_IN (libc) \\\n+ && defined SHARED && !defined LIBC_NONSHARED\n+/* Note: Avoid symbol alias on function definitions themself. */\n+# ifndef in_fixunssfsi_c\n+asm (\"__fixunssfsi = __fixunssfsi_internal\");\n+# endif\n+# ifndef in_gesf2_c\n+asm (\"__gesf2 = __gesf2_internal\");\n+# endif\n+# ifndef in_lesf2_c\n+asm (\"__lesf2 = __lesf2_internal\");\n+asm (\"__ltsf2 = __ltsf2_internal\");\n+# endif\n+#endif\n+\n+#include_next \"symbol-hacks.h\"\n-- \n2.54.0\n\n", "prefixes": [] }