get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/2196629/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2196629,
    "url": "http://patchwork.ozlabs.org/api/patches/2196629/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/buildroot/patch/20260215163440.483386-3-bernd@kuhls.net/",
    "project": {
        "id": 27,
        "url": "http://patchwork.ozlabs.org/api/projects/27/?format=api",
        "name": "Buildroot development",
        "link_name": "buildroot",
        "list_id": "buildroot.buildroot.org",
        "list_email": "buildroot@buildroot.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260215163440.483386-3-bernd@kuhls.net>",
    "list_archive_url": null,
    "date": "2026-02-15T16:34:39",
    "name": "[3/3] package/binutils: remove support for binutils 2.43",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "90558c43bf8c78d9025f98b645c50b1702247327",
    "submitter": {
        "id": 86624,
        "url": "http://patchwork.ozlabs.org/api/people/86624/?format=api",
        "name": "Bernd Kuhls",
        "email": "bernd@kuhls.net"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/buildroot/patch/20260215163440.483386-3-bernd@kuhls.net/mbox/",
    "series": [
        {
            "id": 492226,
            "url": "http://patchwork.ozlabs.org/api/series/492226/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/buildroot/list/?series=492226",
            "date": "2026-02-15T16:34:38",
            "name": "[1/3] package/binutils: add support for binutils 2.46.0",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/492226/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2196629/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2196629/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<buildroot-bounces@buildroot.org>",
        "X-Original-To": [
            "incoming-buildroot@patchwork.ozlabs.org",
            "buildroot@buildroot.org"
        ],
        "Delivered-To": [
            "patchwork-incoming-buildroot@legolas.ozlabs.org",
            "buildroot@buildroot.org"
        ],
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=buildroot.org header.i=@buildroot.org\n header.a=rsa-sha256 header.s=default header.b=fOjGd0/E;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=buildroot.org\n (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org;\n envelope-from=buildroot-bounces@buildroot.org; receiver=patchwork.ozlabs.org)"
        ],
        "Received": [
            "from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137])\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 4fDWjK48NWz1xpl\n\tfor <incoming-buildroot@patchwork.ozlabs.org>;\n Mon, 16 Feb 2026 03:35:17 +1100 (AEDT)",
            "from localhost (localhost [127.0.0.1])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 19F8340AA1;\n\tSun, 15 Feb 2026 16:35:16 +0000 (UTC)",
            "from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id LcnLwkBZVIry; Sun, 15 Feb 2026 16:35:13 +0000 (UTC)",
            "from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 6B65240A90;\n\tSun, 15 Feb 2026 16:35:13 +0000 (UTC)",
            "from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136])\n by lists1.osuosl.org (Postfix) with ESMTP id B60C2270\n for <buildroot@buildroot.org>; Sun, 15 Feb 2026 16:35:11 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n by smtp3.osuosl.org (Postfix) with ESMTP id 9803C608F2\n for <buildroot@buildroot.org>; Sun, 15 Feb 2026 16:35:11 +0000 (UTC)",
            "from smtp3.osuosl.org ([127.0.0.1])\n by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id bGriPzWo10Da for <buildroot@buildroot.org>;\n Sun, 15 Feb 2026 16:35:09 +0000 (UTC)",
            "from dd20012.kasserver.com (dd20012.kasserver.com [85.13.140.57])\n by smtp3.osuosl.org (Postfix) with ESMTPS id 5B22060708\n for <buildroot@buildroot.org>; Sun, 15 Feb 2026 16:35:08 +0000 (UTC)",
            "from fli4l.lan.fli4l (p4fd6c3ec.dip0.t-ipconnect.de\n [79.214.195.236])\n by dd20012.kasserver.com (Postfix) with ESMTPSA id A64AEA4C0CF4;\n Sun, 15 Feb 2026 17:34:41 +0100 (CET)",
            "from bruckner.lan.fli4l ([192.168.1.1]:44318)\n by fli4l.lan.fli4l with esmtp (Exim 4.99.1)\n (envelope-from <bernd@kuhls.net>) id 1vrf4y-000000005P1-1HGM;\n Sun, 15 Feb 2026 16:34:41 +0000"
        ],
        "X-Virus-Scanned": [
            "amavis at osuosl.org",
            "amavis at osuosl.org"
        ],
        "X-Comment": "SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=buildroot-bounces@buildroot.org;\n receiver=<UNKNOWN> ",
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 smtp4.osuosl.org 6B65240A90",
            "OpenDKIM Filter v2.11.0 smtp3.osuosl.org 5B22060708"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=buildroot.org;\n\ts=default; t=1771173313;\n\tbh=Yv/hJKxBiUk+1NbO0LE5BWYeF91quW6IWzLCAKN7QFo=;\n\th=From:To:Cc:Date:In-Reply-To:References:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t From;\n\tb=fOjGd0/E4rnnLFS/vUjNDD9aZvtTzEtbbEcdfqlTL5cGb5Bo8bYZR8ckYFDEze6Xf\n\t vELz0TBVmeIfgeIoLMzNsU0z5Vs/rBGqBXAEKjXyPClRQV4D1b58MQt32/J21xvT3x\n\t v9tSegfWrZfFn200Gxd1V8GQQnT7BcW5wHN5o3belQA4CmefWrtZvrdS4TpCy/2DvE\n\t XlSxep3RbhXpeCyjX0Ze8cji0dpfrWze7NMkKxOWzWtHWdUGGkuU40QfDpqa7hk63L\n\t zfNkCtPhMCUOKat0bpczhmTgUT2S54ZvADGY3sh0gXS+AUOavEiFSQ0mnnUv0zJ4P1\n\t jTr51SHInrIJg==",
        "Received-SPF": "Pass (mailfrom) identity=mailfrom; client-ip=85.13.140.57;\n helo=dd20012.kasserver.com; envelope-from=bernd@kuhls.net;\n receiver=<UNKNOWN>",
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 smtp3.osuosl.org 5B22060708",
        "From": "Bernd Kuhls <bernd@kuhls.net>",
        "To": "buildroot@buildroot.org",
        "Cc": "Giulio Benetti <giulio.benetti@benettiengineering.com>,\n Romain Naour <romain.naour@gmail.com>",
        "Date": "Sun, 15 Feb 2026 17:34:39 +0100",
        "Message-ID": "<20260215163440.483386-3-bernd@kuhls.net>",
        "X-Mailer": "git-send-email 2.47.3",
        "In-Reply-To": "<20260215163440.483386-1-bernd@kuhls.net>",
        "References": "<20260215163440.483386-1-bernd@kuhls.net>",
        "MIME-Version": "1.0",
        "X-Spamd-Bar": "/",
        "X-Mailman-Original-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=kuhls.net;\n s=kas202511301023; t=1771173281;\n bh=UALNm54e7ZnB0kgPeeWICi1MxQ6TnyelxHz8dSYjqP0=;\n h=From:To:Cc:Subject:Date:In-Reply-To:From;\n b=fCRUi0ck3xvzQ8k+ArRSLAGZ+dF3De5HeyNhz8IgR79XPKOzfYuJLkvN0eyFu7uJ7\n Q+wI3JGo9rYu0BfQCVraZvSSIER++IUxePCDKzjBo/NCtjxL+Ttpl3SmN6RJBbHD1t\n th6IbJi8eXt1ekIw+6UnG9uKP7zFh7R6YzcbbvwAcFpQ0dIYs/7jXmdcYc8pqtIgsc\n HXKHJJxLVK9Cdbmn40nr6ipkZEsEhTclrYIYMQW9pgH4dSw3/6LYYjPbAnFOFzbI25\n NfDTJa2t9AzMa6XgBM7Eqj9hd2ydZ3S/UVar6YznN+rR6cX/Fk4FEVd8NXUAZlAKQv\n I0rSyM8OVn1wg==",
        "X-Mailman-Original-Authentication-Results": [
            "smtp3.osuosl.org;\n dmarc=pass (p=none dis=none)\n header.from=kuhls.net",
            "smtp3.osuosl.org;\n dkim=pass (2048-bit key) header.d=kuhls.net header.i=@kuhls.net\n header.a=rsa-sha256 header.s=kas202511301023 header.b=fCRUi0ck"
        ],
        "Subject": "[Buildroot] [PATCH 3/3] package/binutils: remove support for\n binutils 2.43",
        "X-BeenThere": "buildroot@buildroot.org",
        "X-Mailman-Version": "2.1.30",
        "Precedence": "list",
        "List-Id": "Discussion and development of buildroot <buildroot.buildroot.org>",
        "List-Unsubscribe": "<https://lists.buildroot.org/mailman/options/buildroot>,\n <mailto:buildroot-request@buildroot.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.buildroot.org/pipermail/buildroot/>",
        "List-Post": "<mailto:buildroot@buildroot.org>",
        "List-Help": "<mailto:buildroot-request@buildroot.org?subject=help>",
        "List-Subscribe": "<https://lists.buildroot.org/mailman/listinfo/buildroot>,\n <mailto:buildroot-request@buildroot.org?subject=subscribe>",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "base64",
        "Errors-To": "buildroot-bounces@buildroot.org",
        "Sender": "\"buildroot\" <buildroot-bounces@buildroot.org>"
    },
    "content": "Now that binutils 2.46.0 has been introduced and binutils 2.45.1 made\nthe default version, drop the oldest supported version, binutils 2.43,\nkeeping only the 3 last versions supported: 2.44, 2.45.1 and 2.46.0.\n\nSigned-off-by: Bernd Kuhls <bernd@kuhls.net>\n---\n Config.in.legacy                              |   7 +\n package/binutils/2.43.1/0001-sh-conf.patch    |  50 --\n .../0002-poison-system-directories.patch      | 307 -------\n .../2.43.1/0003-objdump-memleak.patch         |  31 -\n ...gnu23-compatibility-wrt-static_asser.patch |  90 --\n ...ngs-when-building-gprofng-with-Clang.patch | 801 ------------------\n ...gnu23-compatibility-wrt-unprototyped.patch | 619 --------------\n ...007-gprofng-fix-build-with-std-gnu23.patch | 199 -----\n package/binutils/Config.in.host               |   4 -\n package/binutils/binutils.hash                |   1 -\n 10 files changed, 7 insertions(+), 2102 deletions(-)\n delete mode 100644 package/binutils/2.43.1/0001-sh-conf.patch\n delete mode 100644 package/binutils/2.43.1/0002-poison-system-directories.patch\n delete mode 100644 package/binutils/2.43.1/0003-objdump-memleak.patch\n delete mode 100644 package/binutils/2.43.1/0004-opcodes-fix-std-gnu23-compatibility-wrt-static_asser.patch\n delete mode 100644 package/binutils/2.43.1/0005-Fix-32097-Warnings-when-building-gprofng-with-Clang.patch\n delete mode 100644 package/binutils/2.43.1/0006-gprofng-fix-std-gnu23-compatibility-wrt-unprototyped.patch\n delete mode 100644 package/binutils/2.43.1/0007-gprofng-fix-build-with-std-gnu23.patch",
    "diff": "diff --git a/Config.in.legacy b/Config.in.legacy\nindex 4539b19bbe..4f5275b917 100644\n--- a/Config.in.legacy\n+++ b/Config.in.legacy\n@@ -146,6 +146,13 @@ endif\n \n comment \"Legacy options removed in 2026.02\"\n \n+config BR2_BINUTILS_VERSION_2_43_X\n+\tbool \"binutils 2.43 has been removed\"\n+\tselect BR2_LEGACY\n+\thelp\n+\t  binutils 2.43 has been removed, select a newer version\n+\t  instead.\n+\n config BR2_PACKAGE_DVDRW_TOOLS\n \tbool \"dvdrw-tools removed\"\n \tselect BR2_LEGACY\ndiff --git a/package/binutils/2.43.1/0001-sh-conf.patch b/package/binutils/2.43.1/0001-sh-conf.patch\ndeleted file mode 100644\nindex c381017850..0000000000\n--- a/package/binutils/2.43.1/0001-sh-conf.patch\n+++ /dev/null\n@@ -1,50 +0,0 @@\n-From d71fb5a9999ee7c8963342caa0d5cbb16872ab07 Mon Sep 17 00:00:00 2001\n-From: Romain Naour <romain.naour@gmail.com>\n-Date: Fri, 25 Dec 2015 11:38:13 +0100\n-Subject: [PATCH] sh-conf\n-\n-Likewise, binutils has no idea about any of these new targets either, so we\n-fix that up too.. now we're able to actually build a real toolchain for\n-sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more\n-inept targets than that one, really. Go look, I promise).\n-\n-Upstream: N/A [Buildroot specific]\n-\n-[Romain: rebase on top of 2.32]\n-Signed-off-by: Romain Naour <romain.naour@gmail.com>\n-[Thomas: rebase on top of 2.29, in which sh64 support was removed.]\n-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>\n----\n- configure    | 2 +-\n- configure.ac | 2 +-\n- 2 files changed, 2 insertions(+), 2 deletions(-)\n-\n-diff --git a/configure b/configure\n-index 670684d83d1..967c6708a0c 100755\n---- a/configure\n-+++ b/configure\n-@@ -4042,7 +4042,7 @@ case \"${target}\" in\n-   nvptx*-*-*)\n-     noconfigdirs=\"$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc\"\n-     ;;\n--  sh-*-*)\n-+  sh*-*-*)\n-     case \"${target}\" in\n-       sh*-*-elf)\n-          ;;\n-diff --git a/configure.ac b/configure.ac\n-index 88b4800e298..2c8d08ff6ec 100644\n---- a/configure.ac\n-+++ b/configure.ac\n-@@ -1269,7 +1269,7 @@ case \"${target}\" in\n-   nvptx*-*-*)\n-     noconfigdirs=\"$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc\"\n-     ;;\n--  sh-*-*)\n-+  sh*-*-*)\n-     case \"${target}\" in\n-       sh*-*-elf)\n-          ;;\n--- \n-2.43.0\n-\ndiff --git a/package/binutils/2.43.1/0002-poison-system-directories.patch b/package/binutils/2.43.1/0002-poison-system-directories.patch\ndeleted file mode 100644\nindex 8da0ec31df..0000000000\n--- a/package/binutils/2.43.1/0002-poison-system-directories.patch\n+++ /dev/null\n@@ -1,307 +0,0 @@\n-From 00f6b0a7d31085831429834b2bc8f511b8fab6ce Mon Sep 17 00:00:00 2001\n-From: Romain Naour <romain.naour@gmail.com>\n-Date: Fri, 25 Dec 2015 11:45:38 +0100\n-Subject: [PATCH] poison-system-directories\n-\n-Patch adapted to binutils 2.23.2 and extended to use\n-BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni.\n-\n-[Waldemar: rebase on top of 2.43]\n-Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>\n-[Waldemar: rebase on top of 2.39]\n-Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>\n-[Romain: rebase on top of 2.33.1]\n-Signed-off-by: Romain Naour <romain.naour@gmail.com>\n-[Gustavo: adapt to binutils 2.25]\n-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>\n-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>\n-\n-Upstream-Status: Inappropriate [distribution: codesourcery]\n-Upstream: N/A [Buildroot specific]\n-\n-Patch originally created by Mark Hatle, forward-ported to\n-binutils 2.21 by Scott Garman.\n-\n-purpose:  warn for uses of system directories when cross linking\n-\n-Code Merged from Sourcery G++ binutils 2.19 - 4.4-277\n-\n-2008-07-02  Joseph Myers  <joseph@codesourcery.com>\n-\n-    ld/\n-    * ld.h (args_type): Add error_poison_system_directories.\n-    * ld.texinfo (--error-poison-system-directories): Document.\n-    * ldfile.c (ldfile_add_library_path): Check\n-    command_line.error_poison_system_directories.\n-    * ldmain.c (main): Initialize\n-    command_line.error_poison_system_directories.\n-    * lexsup.c (enum option_values): Add\n-    OPTION_ERROR_POISON_SYSTEM_DIRECTORIES.\n-    (ld_options): Add --error-poison-system-directories.\n-    (parse_args): Handle new option.\n-\n-2007-06-13  Joseph Myers  <joseph@codesourcery.com>\n-\n-    ld/\n-    * config.in: Regenerate.\n-    * ld.h (args_type): Add poison_system_directories.\n-    * ld.texinfo (--no-poison-system-directories): Document.\n-    * ldfile.c (ldfile_add_library_path): Check\n-    command_line.poison_system_directories.\n-    * ldmain.c (main): Initialize\n-    command_line.poison_system_directories.\n-    * lexsup.c (enum option_values): Add\n-    OPTION_NO_POISON_SYSTEM_DIRECTORIES.\n-    (ld_options): Add --no-poison-system-directories.\n-    (parse_args): Handle new option.\n-\n-2007-04-20  Joseph Myers  <joseph@codesourcery.com>\n-\n-    Merge from Sourcery G++ binutils 2.17:\n-\n-    2007-03-20  Joseph Myers  <joseph@codesourcery.com>\n-    Based on patch by Mark Hatle <mark.hatle@windriver.com>.\n-    ld/\n-    * configure.ac (--enable-poison-system-directories): New option.\n-    * configure, config.in: Regenerate.\n-    * ldfile.c (ldfile_add_library_path): If\n-    ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib,\n-    /usr/lib, /usr/local/lib or /usr/X11R6/lib.\n-\n-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>\n-Signed-off-by: Scott Garman <scott.a.garman@intel.com>\n----\n- ld/config.in    |  3 +++\n- ld/configure    | 14 ++++++++++++++\n- ld/configure.ac | 10 ++++++++++\n- ld/ld.h         |  8 ++++++++\n- ld/ld.texi      | 12 ++++++++++++\n- ld/ldfile.c     | 17 +++++++++++++++++\n- ld/ldlex.h      |  2 ++\n- ld/ldmain.c     |  2 ++\n- ld/lexsup.c     | 21 +++++++++++++++++++++\n- 9 files changed, 89 insertions(+)\n-\n-diff --git a/ld/config.in b/ld/config.in\n-index f7c9da3d02a..e4fdbf6db5b 100644\n---- a/ld/config.in\n-+++ b/ld/config.in\n-@@ -74,6 +74,9 @@\n-    language is requested. */\n- #undef ENABLE_NLS\n- \n-+/* Define to warn for use of native system library directories */\n-+#undef ENABLE_POISON_SYSTEM_DIRECTORIES\n-+\n- /* Additional extension a shared object might have. */\n- #undef EXTRA_SHLIB_EXTENSION\n- \n-diff --git a/ld/configure b/ld/configure\n-index 44d79c2445d..e28cea11977 100755\n---- a/ld/configure\n-+++ b/ld/configure\n-@@ -844,6 +844,7 @@ with_lib_path\n- enable_targets\n- enable_64_bit_bfd\n- with_sysroot\n-+enable_poison_system_directories\n- enable_gold\n- enable_got\n- enable_compressed_debug_sections\n-@@ -1535,6 +1536,8 @@ Optional Features:\n-   --enable-checking       enable run-time checks\n-   --enable-targets        alternative target configurations\n-   --enable-64-bit-bfd     64-bit support (on hosts with narrower word sizes)\n-+  --enable-poison-system-directories\n-+                          warn for use of native system library directories\n-   --enable-gold[=ARG]     build gold [ARG={default,yes,no}]\n-   --enable-got=<type>     GOT handling scheme (target, single, negative,\n-                           multigot)\n-@@ -15587,7 +15590,18 @@ else\n- fi\n- \n- \n-+# Check whether --enable-poison-system-directories was given.\n-+if test \"${enable_poison_system_directories+set}\" = set; then :\n-+  enableval=$enable_poison_system_directories;\n-+else\n-+  enable_poison_system_directories=no\n-+fi\n-+\n-+if test \"x${enable_poison_system_directories}\" = \"xyes\"; then\n- \n-+$as_echo \"#define ENABLE_POISON_SYSTEM_DIRECTORIES 1\" >>confdefs.h\n-+\n-+fi\n- \n- # Check whether --enable-got was given.\n- if test \"${enable_got+set}\" = set; then :\n-diff --git a/ld/configure.ac b/ld/configure.ac\n-index bdf51a062fa..3d370ff92ce 100644\n---- a/ld/configure.ac\n-+++ b/ld/configure.ac\n-@@ -102,6 +102,16 @@ AC_SUBST(use_sysroot)\n- AC_SUBST(TARGET_SYSTEM_ROOT)\n- AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)\n- \n-+AC_ARG_ENABLE([poison-system-directories],\n-+         AS_HELP_STRING([--enable-poison-system-directories],\n-+                [warn for use of native system library directories]),,\n-+         [enable_poison_system_directories=no])\n-+if test \"x${enable_poison_system_directories}\" = \"xyes\"; then\n-+  AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],\n-+       [1],\n-+       [Define to warn for use of native system library directories])\n-+fi\n-+\n- dnl Use --enable-gold to decide if this linker should be the default.\n- dnl \"install_as_default\" is set to false if gold is the default linker.\n- dnl \"installed_linker\" is the installed BFD linker name.\n-diff --git a/ld/ld.h b/ld/ld.h\n-index 0dee944cf2a..83bd82d2a2e 100644\n---- a/ld/ld.h\n-+++ b/ld/ld.h\n-@@ -166,6 +166,14 @@ typedef struct\n-      in the linker script.  */\n-   bool force_group_allocation;\n- \n-+  /* If TRUE (the default) warn for uses of system directories when\n-+     cross linking.  */\n-+  bool poison_system_directories;\n-+\n-+  /* If TRUE (default FALSE) give an error for uses of system\n-+     directories when cross linking instead of a warning.  */\n-+  bool error_poison_system_directories;\n-+\n-   /* Big or little endian as set on command line.  */\n-   enum endian_enum endian;\n- \n-diff --git a/ld/ld.texi b/ld/ld.texi\n-index 89e3913317a..b80cf05617f 100644\n---- a/ld/ld.texi\n-+++ b/ld/ld.texi\n-@@ -3234,6 +3234,18 @@ string identifying the original linked file does not change.\n- Passing @code{none} for @var{style} disables the setting from any\n- @code{--build-id} options earlier on the command line.\n- \n-+@kindex --no-poison-system-directories\n-+@item --no-poison-system-directories\n-+Do not warn for @option{-L} options using system directories such as\n-+@file{/usr/lib} when cross linking.  This option is intended for use\n-+in chroot environments when such directories contain the correct\n-+libraries for the target system rather than the host.\n-+\n-+@kindex --error-poison-system-directories\n-+@item --error-poison-system-directories\n-+Give an error instead of a warning for @option{-L} options using\n-+system directories when cross linking.\n-+\n- @kindex --package-metadata=@var{JSON}\n- @item --package-metadata=@var{JSON}\n- Request the creation of a @code{.note.package} ELF note section.  The\n-diff --git a/ld/ldfile.c b/ld/ldfile.c\n-index 87be885d31a..9bc7adca4bc 100644\n---- a/ld/ldfile.c\n-+++ b/ld/ldfile.c\n-@@ -327,6 +327,22 @@ ldfile_add_library_path (const char *name, enum search_dir_source source)\n-   else\n-     new_dirs->name = xstrdup (name);\n- \n-+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES\n-+  if (command_line.poison_system_directories\n-+  && ((!strncmp (name, \"/lib\", 4))\n-+      || (!strncmp (name, \"/usr/lib\", 8))\n-+      || (!strncmp (name, \"/usr/local/lib\", 14))\n-+      || (!strncmp (name, \"/usr/X11R6/lib\", 14))))\n-+   {\n-+     if (command_line.error_poison_system_directories)\n-+       einfo (_(\"%X%P: error: library search path \\\"%s\\\" is unsafe for \"\n-+            \"cross-compilation\\n\"), name);\n-+     else\n-+       einfo (_(\"%P: warning: library search path \\\"%s\\\" is unsafe for \"\n-+            \"cross-compilation\\n\"), name);\n-+   }\n-+#endif\n-+\n-   /* Accumulate script and command line sourced\n-      search paths at the end of the current list.  */\n- #if BFD_SUPPORTS_PLUGINS\n-diff --git a/ld/ldlex.h b/ld/ldlex.h\n-index defe3fcbbb9..0ff12614926 100644\n---- a/ld/ldlex.h\n-+++ b/ld/ldlex.h\n-@@ -170,6 +170,8 @@ enum option_values\n-   OPTION_CTF_VARIABLES,\n-   OPTION_NO_CTF_VARIABLES,\n-   OPTION_CTF_SHARE_TYPES,\n-+  OPTION_NO_POISON_SYSTEM_DIRECTORIES,\n-+  OPTION_ERROR_POISON_SYSTEM_DIRECTORIES,\n-   OPTION_ERROR_EXECSTACK,\n-   OPTION_NO_ERROR_EXECSTACK,\n-   OPTION_WARN_EXECSTACK_OBJECTS,\n-diff --git a/ld/ldmain.c b/ld/ldmain.c\n-index 037099b9d37..204feedc6e3 100644\n---- a/ld/ldmain.c\n-+++ b/ld/ldmain.c\n-@@ -347,6 +347,8 @@ main (int argc, char **argv)\n-   command_line.warn_mismatch = true;\n-   command_line.warn_search_mismatch = true;\n-   command_line.check_section_addresses = -1;\n-+  command_line.poison_system_directories = true;\n-+  command_line.error_poison_system_directories = false;\n- \n-   /* We initialize DEMANGLING based on the environment variable\n-      COLLECT_NO_DEMANGLE.  The gcc collect2 program will demangle the\n-diff --git a/ld/lexsup.c b/ld/lexsup.c\n-index 4aa0124ce2f..c4d76943821 100644\n---- a/ld/lexsup.c\n-+++ b/ld/lexsup.c\n-@@ -648,6 +648,14 @@ static const struct ld_option ld_options[] =\n- \t\t   \"                                <method> is: share-unconflicted (default),\\n\"\n- \t\t   \"                                             share-duplicated\"),\n-     TWO_DASHES },\n-+  { {\"no-poison-system-directories\", no_argument, NULL,\n-+    OPTION_NO_POISON_SYSTEM_DIRECTORIES},\n-+    '\\0', NULL, N_(\"Do not warn for -L options using system directories\"),\n-+    TWO_DASHES },\n-+  { {\"error-poison-system-directories\", no_argument, NULL,\n-+    OPTION_ERROR_POISON_SYSTEM_DIRECTORIES},\n-+    '\\0', NULL, N_(\"Give an error for -L options using system directories\"),\n-+    TWO_DASHES },\n- };\n- \n- #define OPTION_COUNT ARRAY_SIZE (ld_options)\n-@@ -660,6 +668,7 @@ parse_args (unsigned argc, char **argv)\n-   int ingroup = 0;\n-   char *default_dirlist = NULL;\n-   char *shortopts;\n-+  char *BR_paranoid_env;\n-   struct option *longopts;\n-   struct option *really_longopts;\n-   int last_optind;\n-@@ -1785,6 +1794,14 @@ parse_args (unsigned argc, char **argv)\n- \t  }\n- \t  break;\n- \n-+\tcase OPTION_NO_POISON_SYSTEM_DIRECTORIES:\n-+\t  command_line.poison_system_directories = false;\n-+\t  break;\n-+\n-+\tcase OPTION_ERROR_POISON_SYSTEM_DIRECTORIES:\n-+\t  command_line.error_poison_system_directories = true;\n-+\t  break;\n-+\n- \tcase OPTION_PUSH_STATE:\n- \t  input_flags.pushed = xmemdup (&input_flags,\n- \t\t\t\t\tsizeof (input_flags),\n-@@ -1938,6 +1955,10 @@ parse_args (unsigned argc, char **argv)\n-       command_line.soname = NULL;\n-     }\n- \n-+  BR_paranoid_env = getenv(\"BR_COMPILER_PARANOID_UNSAFE_PATH\");\n-+  if (BR_paranoid_env && strlen(BR_paranoid_env) > 0)\n-+    command_line.error_poison_system_directories = true;\n-+\n-   while (ingroup)\n-     {\n-       einfo (_(\"%P: missing --end-group; added as last command line option\\n\"));\ndiff --git a/package/binutils/2.43.1/0003-objdump-memleak.patch b/package/binutils/2.43.1/0003-objdump-memleak.patch\ndeleted file mode 100644\nindex 1b1632093d..0000000000\n--- a/package/binutils/2.43.1/0003-objdump-memleak.patch\n+++ /dev/null\n@@ -1,31 +0,0 @@\n-From ba6ad3a18cb26b79e0e3b84c39f707535bbc344d Mon Sep 17 00:00:00 2001\n-From: Alan Modra <amodra@gmail.com>\n-Date: Wed, 19 Feb 2025 07:58:54 +1030\n-Subject: [PATCH] PR32716, objdump -i memory leak\n-\n-PR binutils/32716\n-* bucomm.c (display_info): Free arg.info.\n-\n-Upstream: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ba6ad3a18cb26b79e0e3b84c39f707535bbc344d\n-\n-CVE: CVE-2025-3198\n-Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>\n----\n- binutils/bucomm.c | 1 +\n- 1 file changed, 1 insertion(+)\n-\n-diff --git a/binutils/bucomm.c b/binutils/bucomm.c\n-index ccf54099154..d4554737db1 100644\n---- a/binutils/bucomm.c\n-+++ b/binutils/bucomm.c\n-@@ -435,6 +435,7 @@ display_info (void)\n-   if (!arg.error)\n-     display_target_tables (&arg);\n- \n-+  free (arg.info);\n-   return arg.error;\n- }\n- \f\n--- \n-2.43.5\n-\ndiff --git a/package/binutils/2.43.1/0004-opcodes-fix-std-gnu23-compatibility-wrt-static_asser.patch b/package/binutils/2.43.1/0004-opcodes-fix-std-gnu23-compatibility-wrt-static_asser.patch\ndeleted file mode 100644\nindex f9b870afa2..0000000000\n--- a/package/binutils/2.43.1/0004-opcodes-fix-std-gnu23-compatibility-wrt-static_asser.patch\n+++ /dev/null\n@@ -1,90 +0,0 @@\n-From 8ebe62f3f0d27806b1bf69f301f5e188b4acd2b4 Mon Sep 17 00:00:00 2001\n-From: Sam James <sam@gentoo.org>\n-Date: Sat, 16 Nov 2024 05:03:52 +0000\n-Subject: [PATCH] opcodes: fix -std=gnu23 compatibility wrt static_assert\n-\n-static_assert is declared in C23 so we can't reuse that identifier:\n-* Define our own static_assert conditionally;\n-\n-* Rename \"static assert\" hacks to _N as we do already in some places\n-  to avoid a conflict.\n-\n-ChangeLog:\n-\tPR ld/32372\n-\n-        * i386-gen.c (static_assert): Define conditionally.\n-        * mips-formats.h (MAPPED_INT): Rename identifier.\n-        (MAPPED_REG): Rename identifier.\n-        (OPTIONAL_MAPPED_REG): Rename identifier.\n-        * s390-opc.c (static_assert): Define conditionally.\n-\n-Upstream: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=8ebe62f3f0d27806b1bf69f301f5e188b4acd2b4\n-Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>\n----\n- opcodes/i386-gen.c     | 2 ++\n- opcodes/mips-formats.h | 6 +++---\n- opcodes/s390-opc.c     | 2 ++\n- 3 files changed, 7 insertions(+), 3 deletions(-)\n-\n-diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c\n-index 053b66675c5..7ee8a30310c 100644\n---- a/opcodes/i386-gen.c\n-+++ b/opcodes/i386-gen.c\n-@@ -30,7 +30,9 @@\n- \n- /* Build-time checks are preferrable over runtime ones.  Use this construct\n-    in preference where possible.  */\n-+#ifndef static_assert\n- #define static_assert(e) ((void)sizeof (struct { int _:1 - 2 * !(e); }))\n-+#endif\n- \n- static const char *program_name = NULL;\n- static int debug = 0;\n-diff --git a/opcodes/mips-formats.h b/opcodes/mips-formats.h\n-index 90df7100803..c4dec6352bf 100644\n---- a/opcodes/mips-formats.h\n-+++ b/opcodes/mips-formats.h\n-@@ -49,7 +49,7 @@\n- #define MAPPED_INT(SIZE, LSB, MAP, PRINT_HEX) \\\n-   { \\\n-     typedef char ATTRIBUTE_UNUSED \\\n--      static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \\\n-+      static_assert_3[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \\\n-     static const struct mips_mapped_int_operand op = { \\\n-       { OP_MAPPED_INT, SIZE, LSB }, MAP, PRINT_HEX \\\n-     }; \\\n-@@ -83,7 +83,7 @@\n- #define MAPPED_REG(SIZE, LSB, BANK, MAP) \\\n-   { \\\n-     typedef char ATTRIBUTE_UNUSED \\\n--      static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \\\n-+      static_assert_4[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \\\n-     static const struct mips_reg_operand op = { \\\n-       { OP_REG, SIZE, LSB }, OP_REG_##BANK, MAP \\\n-     }; \\\n-@@ -93,7 +93,7 @@\n- #define OPTIONAL_MAPPED_REG(SIZE, LSB, BANK, MAP) \\\n-   { \\\n-     typedef char ATTRIBUTE_UNUSED \\\n--      static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \\\n-+      static_assert_5[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \\\n-     static const struct mips_reg_operand op = { \\\n-       { OP_OPTIONAL_REG, SIZE, LSB }, OP_REG_##BANK, MAP \\\n-     }; \\\n-diff --git a/opcodes/s390-opc.c b/opcodes/s390-opc.c\n-index 9d9f0973e55..49efd714157 100644\n---- a/opcodes/s390-opc.c\n-+++ b/opcodes/s390-opc.c\n-@@ -36,7 +36,9 @@\n- \n- /* Build-time checks are preferrable over runtime ones.  Use this construct\n-    in preference where possible.  */\n-+#ifndef static_assert\n- #define static_assert(e) ((void)sizeof (struct { int _:1 - 2 * !(e); }))\n-+#endif\n- \n- #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))\n- \n--- \n-2.34.1\n-\ndiff --git a/package/binutils/2.43.1/0005-Fix-32097-Warnings-when-building-gprofng-with-Clang.patch b/package/binutils/2.43.1/0005-Fix-32097-Warnings-when-building-gprofng-with-Clang.patch\ndeleted file mode 100644\nindex 1f28137190..0000000000\n--- a/package/binutils/2.43.1/0005-Fix-32097-Warnings-when-building-gprofng-with-Clang.patch\n+++ /dev/null\n@@ -1,801 +0,0 @@\n-From 3e8c6e03675963d65a2f98eb006336c5cd375ec3 Mon Sep 17 00:00:00 2001\n-From: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>\n-Date: Tue, 3 Sep 2024 21:30:31 -0700\n-Subject: [PATCH] Fix 32097 Warnings when building gprofng with Clang\n-\n-gprofng/ChangeLog\n-2024-09-03  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>.\n-\n-\tPR gprofng/32097\n-\t* common/hwcdrv.c: Fix -Wempty-body warnings.\n-\t* common/hwcentry.h: Fix -Wdeprecated-non-prototype warnings.\n-\t* common/hwctable.c: Fix -Wdeprecated-non-prototype warnings.\n-\t* libcollector/collector.c: Likewise.\n-\t* libcollector/collector.h: Likewise.\n-\t* libcollector/collectorAPI.c: Likewise.\n-\t* libcollector/dispatcher.c: Likewise.\n-\t* libcollector/iotrace.c: Likewise.\n-\t* libcollector/libcol_util.c: Fix -Wunused-but-set-variable warnings.\n-\t* libcollector/libcol_util.h: Remove unused declarations.\n-\t* libcollector/linetrace.c: Fix -Wdeprecated-non-prototype warnings.\n-\t* src/BaseMetricTreeNode.h: Fix -Wunused-private-field warnings.\n-\t* src/Dbe.cc: Fix -Wself-assign warnings.\n-\t* src/DbeSession.cc: Fix -Wunused-but-set-variable warnings.\n-\t* src/Disasm.cc: Fix -Wunused-const-variable warnings.\n-\t* src/Experiment.cc: Fix -Wunused-private-field warnings.\n-\t* src/HashMap.h: Fix -Wself-assign warnings.\n-\t* src/IOActivity.h: Fix -Wunused-private-field warnings.\n-\t* src/collctrl.cc: Fix -Wself-assign, -Wparentheses-equality warnings.\n-\t* src/collctrl.h: Fix -Wunused-private-field warnings.\n-\t* src/collector_module.h: Fix -Wdeprecated-non-prototype warnings.\n-\t* src/gp-display-src.cc: Fix -Wunused-private-field warnings.\n-\t* src/gp-print.h: Fix -Wheader-guard warnings.\n-\t* src/hwc_intel_icelake.h: Fix -Winitializer-overrides warnings.\n-\t* src/util.cc: Fix -Wunused-but-set-variable warnings.\n-\n-Upstream: b79c457ca01df82dbe1facb708e45def4584c903\n-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>\n----\n- gprofng/common/hwcdrv.c             |  3 ++-\n- gprofng/common/hwcentry.h           |  7 +----\n- gprofng/common/hwctable.c           | 13 +---------\n- gprofng/libcollector/collector.c    | 15 ++++-------\n- gprofng/libcollector/collector.h    |  2 +-\n- gprofng/libcollector/collectorAPI.c | 15 ++++++-----\n- gprofng/libcollector/dispatcher.c   | 19 ++++++++------\n- gprofng/libcollector/iotrace.c      | 12 ++++-----\n- gprofng/libcollector/libcol_util.c  |  2 --\n- gprofng/libcollector/libcol_util.h  |  6 -----\n- gprofng/libcollector/linetrace.c    | 40 +++++++++++++++++------------\n- gprofng/src/BaseMetricTreeNode.h    |  1 -\n- gprofng/src/Dbe.cc                  | 12 ++++-----\n- gprofng/src/DbeSession.cc           |  3 ---\n- gprofng/src/Disasm.cc               |  1 -\n- gprofng/src/Experiment.cc           |  2 --\n- gprofng/src/HashMap.h               |  3 +--\n- gprofng/src/IOActivity.h            |  1 -\n- gprofng/src/collctrl.cc             | 14 +++++-----\n- gprofng/src/collctrl.h              |  1 -\n- gprofng/src/collector_module.h      | 20 +++++++--------\n- gprofng/src/gp-display-src.cc       |  8 ------\n- gprofng/src/gp-print.h              |  2 +-\n- gprofng/src/hwc_intel_icelake.h     |  6 +++--\n- gprofng/src/util.cc                 | 10 +++-----\n- 25 files changed, 88 insertions(+), 130 deletions(-)\n-\n-diff --git a/gprofng/common/hwcdrv.c b/gprofng/common/hwcdrv.c\n-index aaf3acdf9cd..51492a8d35c 100644\n---- a/gprofng/common/hwcdrv.c\n-+++ b/gprofng/common/hwcdrv.c\n-@@ -574,6 +574,7 @@ read_sample (counter_state_t *ctr_state, int msgsz, uint64_t *rvalue,\n- static void\n- dump_perf_event_attr (struct perf_event_attr *at)\n- {\n-+#if defined(DEBUG)\n-   TprintfT (DBG_LT2, \"dump_perf_event_attr:  size=%d  type=%d  sample_period=%lld\\n\"\n- \t    \"  config=0x%llx  config1=0x%llx  config2=0x%llx  wakeup_events=%lld __reserved_1=%lld\\n\",\n- \t    (int) at->size, (int) at->type, (unsigned long long) at->sample_period,\n-@@ -589,13 +590,13 @@ dump_perf_event_attr (struct perf_event_attr *at)\n-   DUMP_F (exclude_kernel);\n-   DUMP_F (exclude_hv);\n-   DUMP_F (exclude_idle);\n--  //    DUMP_F(xmmap);\n-   DUMP_F (comm);\n-   DUMP_F (freq);\n-   DUMP_F (inherit_stat);\n-   DUMP_F (enable_on_exec);\n-   DUMP_F (task);\n-   DUMP_F (watermark);\n-+#endif\n- }\n- \n- static void\n-diff --git a/gprofng/common/hwcentry.h b/gprofng/common/hwcentry.h\n-index b2ab8b9b22c..0b923fc3576 100644\n---- a/gprofng/common/hwcentry.h\n-+++ b/gprofng/common/hwcentry.h\n-@@ -200,17 +200,12 @@ extern \"C\"\n-   extern char *hwc_get_docref (char *buf, size_t buflen);\n-   /* Return a CPU HWC document reference, or NULL. */\n- \n--  // TBR\n--  extern char *hwc_get_default_cntrs ();\n--  /* Return a default HW counter string; may be NULL, or zero-length */\n--  /* NULL means none is defined in the table; or zero-length means string defined could not be loaded */\n--\n-   extern char *hwc_get_default_cntrs2 (int forKernel, int style);\n-   /* like hwc_get_default_cntrs() for style==1 */\n-   /* but allows other styles of formatting as well */\n-   /* deprecate and eventually remove hwc_get_default_cntrs() */\n- \n--  extern char *hwc_get_orig_default_cntrs ();\n-+  extern char *hwc_get_orig_default_cntrs (int forKernel);\n-   /* Get the default HW counter string as set in the table */\n-   /* NULL means none is defined in the table */\n- \n-diff --git a/gprofng/common/hwctable.c b/gprofng/common/hwctable.c\n-index 0baf63b1805..338a1ea86f4 100644\n---- a/gprofng/common/hwctable.c\n-+++ b/gprofng/common/hwctable.c\n-@@ -1783,7 +1783,7 @@ check_tables ()\n- }\n- #endif\n- \n--static int try_a_counter ();\n-+static int try_a_counter (int forKernel);\n- static void hwc_process_raw_ctrs (int forKernel, Hwcentry ***pstd_out,\n- \t\t\t\t  Hwcentry ***praw_out, Hwcentry ***phidden_out,\n- \t\t\t\t  Hwcentry**static_tables,\n-@@ -2824,17 +2824,6 @@ hwc_get_docref (char *buf, size_t buflen)\n-   return buf;\n- }\n- \n--//TBR:\n--\n--extern char*\n--hwc_get_default_cntrs ()\n--{\n--  setup_cpcx ();\n--  if (cpcx_default_hwcs[0] != NULL)\n--    return strdup (cpcx_default_hwcs[0]); // TBR deprecate this\n--  return NULL;\n--}\n--\n- extern char*\n- hwc_get_default_cntrs2 (int forKernel, int style)\n- {\n-diff --git a/gprofng/libcollector/collector.c b/gprofng/libcollector/collector.c\n-index 3a8f27a719d..2ff95e58fde 100644\n---- a/gprofng/libcollector/collector.c\n-+++ b/gprofng/libcollector/collector.c\n-@@ -210,15 +210,10 @@ get_collector_interface ()\n- static void\n- collector_module_init (CollectorInterface *col_intf)\n- {\n--  int nmodules = 0;\n--\n-   ModuleInitFunc next_init = (ModuleInitFunc) dlsym (RTLD_DEFAULT, \"__collector_module_init\");\n-   if (next_init != NULL)\n--    {\n--      nmodules++;\n--      next_init (col_intf);\n--    }\n--  TprintfT (DBG_LT1, \"collector_module_init: %d modules\\n\", nmodules);\n-+    next_init (col_intf);\n-+  TprintfT (DBG_LT1, \"collector_module_init: %d modules\\n\", next_init ? 1 : 0);\n- }\n- \n- /*   Routines concerned with general experiment start and stop */\n-@@ -1783,7 +1778,7 @@ __collector_pause ()\n- }\n- \n- void\n--__collector_pause_m (char *reason)\n-+__collector_pause_m (const char *reason)\n- {\n-   hrtime_t now;\n-   char xreason[MAXPATHLEN];\n-@@ -2449,8 +2444,8 @@ __collector_dlog (int tflag, int level, char *format, ...)\n- \n- static void (*__real__exit) (int status) = NULL; /* libc only: _exit */\n- static void (*__real__Exit) (int status) = NULL; /* libc only: _Exit */\n--void _exit () __attribute__ ((weak, alias (\"__collector_exit\")));\n--void _Exit () __attribute__ ((weak, alias (\"__collector_Exit\")));\n-+void _exit (int status) __attribute__ ((weak, alias (\"__collector_exit\")));\n-+void _Exit (int status) __attribute__ ((weak, alias (\"__collector_Exit\")));\n- \n- void\n- __collector_exit (int status)\n-diff --git a/gprofng/libcollector/collector.h b/gprofng/libcollector/collector.h\n-index 07a03bdd17a..eda68a0e4f5 100644\n---- a/gprofng/libcollector/collector.h\n-+++ b/gprofng/libcollector/collector.h\n-@@ -123,7 +123,7 @@ extern void __collector_terminate_expt ();\n- extern void __collector_terminate_hook ();\n- extern void __collector_sample (char *name);\n- extern void __collector_pause ();\n--extern void __collector_pause_m ();\n-+extern void __collector_pause_m (const char *reason);\n- extern void __collector_resume ();\n- extern int collector_sigemt_sigaction (const struct sigaction*,\n- \t\t\t\t       struct sigaction*);\n-diff --git a/gprofng/libcollector/collectorAPI.c b/gprofng/libcollector/collectorAPI.c\n-index 5fa6403ad49..449bbbaab65 100644\n---- a/gprofng/libcollector/collectorAPI.c\n-+++ b/gprofng/libcollector/collectorAPI.c\n-@@ -26,16 +26,17 @@\n- #include \"collectorAPI.h\"\n- #include \"gp-experiment.h\"\n- \n--static void *__real_collector_sample = NULL;\n--static void *__real_collector_pause = NULL;\n--static void *__real_collector_resume = NULL;\n--static void *__real_collector_terminate_expt = NULL;\n--static void *__real_collector_func_load = NULL;\n--static void *__real_collector_func_unload = NULL;\n-+static void (*__real_collector_sample)(const char *) = NULL;\n-+static void (*__real_collector_pause)() = NULL;\n-+static void (*__real_collector_resume)() = NULL;\n-+static void (*__real_collector_terminate_expt)() = NULL;\n-+static void (*__real_collector_func_load)(const char *, const char *,\n-+\t\tconst char *, void *, int, int, Lineno *) = NULL;\n-+static void (*__real_collector_func_unload)(void *) = NULL;\n- \n- #define INIT_API        if (init_API == 0) collectorAPI_initAPI()\n- #define NULL_PTR(x)     (__real_##x == NULL)\n--#define CALL_REAL(x)    (*(void(*)())__real_##x)\n-+#define CALL_REAL(x)    (__real_##x)\n- #define CALL_IF_REAL(x) INIT_API; if (!NULL_PTR(x)) CALL_REAL(x)\n- \n- static int init_API = 0;\n-diff --git a/gprofng/libcollector/dispatcher.c b/gprofng/libcollector/dispatcher.c\n-index 8b8ad77b5ee..f7cd46e7e6b 100644\n---- a/gprofng/libcollector/dispatcher.c\n-+++ b/gprofng/libcollector/dispatcher.c\n-@@ -908,8 +908,9 @@ sigset (int sig, sighandler_t handler)\n- \n- // map interposed symbol versions\n- static int\n--gprofng_timer_create (int (real_func) (), clockid_t clockid,\n--                      struct sigevent *sevp, timer_t *timerid)\n-+gprofng_timer_create (int (real_func) (clockid_t, struct sigevent *, timer_t *),\n-+\t\t      clockid_t clockid,\n-+\t\t      struct sigevent *sevp, timer_t *timerid)\n- {\n-   // collector reserves SIGPROF\n-   if (sevp == NULL || sevp->sigev_notify != SIGEV_SIGNAL ||\n-@@ -1044,7 +1045,7 @@ __collector_thr_sigsetmask (int how, const sigset_t* iset, sigset_t* oset)\n- // map interposed symbol versions\n- \n- static int\n--gprofng_pthread_sigmask (int (real_func) (),\n-+gprofng_pthread_sigmask (int (real_func) (int, const sigset_t *, sigset_t*),\n-                          int how, const sigset_t *iset, sigset_t* oset)\n- {\n-   sigset_t lsigset;\n-@@ -1139,9 +1140,10 @@ collector_root (void *cargs)\n- // map interposed symbol versions\n- \n- static int\n--gprofng_pthread_create (int (real_func) (), pthread_t *thread,\n--                        const pthread_attr_t *attr,\n--                        void *(*func)(void*), void *arg)\n-+gprofng_pthread_create (int (real_func) (pthread_t *, const pthread_attr_t *,\n-+\t\t\t\t\t void *(*)(void *), void *),\n-+\t\t\tpthread_t *thread, const pthread_attr_t *attr,\n-+\t\t\tvoid *(*func)(void*), void *arg)\n- {\n-   TprintfT (DBG_LTT, \"gprofng_pthread_create @%p\\n\", real_func);\n-   if (dispatch_mode != DISPATCH_ON)\n-@@ -1276,6 +1278,7 @@ __collector_ext_clone_pthread (int (*fn)(void *), void *child_stack, int flags,\n- }\n- \n- // weak symbols:\n--int sigprocmask () __attribute__ ((weak, alias (\"__collector_sigprocmask\")));\n--int thr_sigsetmask () __attribute__ ((weak, alias (\"__collector_thr_sigsetmask\")));\n-+int sigprocmask (int, const sigset_t*, sigset_t*) __attribute__ ((weak, alias (\"__collector_sigprocmask\")));\n-+int thr_sigsetmask (int, const sigset_t*, sigset_t*) __attribute__ ((weak, alias (\"__collector_thr_sigsetmask\")));\n- int setitimer () __attribute__ ((weak, alias (\"_setitimer\")));\n-+\n-diff --git a/gprofng/libcollector/iotrace.c b/gprofng/libcollector/iotrace.c\n-index 18060864796..3deb441d9c7 100644\n---- a/gprofng/libcollector/iotrace.c\n-+++ b/gprofng/libcollector/iotrace.c\n-@@ -1350,7 +1350,7 @@ mkstemp (char *template)\n-   unsigned pktSize;\n-   if (NULL_PTR (mkstemp))\n-     init_io_intf ();\n--  if (CHCK_REENTRANCE (guard) || template == NULL)\n-+  if (CHCK_REENTRANCE (guard))\n-     return CALL_REAL (mkstemp)(template);\n-   PUSH_REENTRANCE (guard);\n-   hrtime_t reqt = gethrtime ();\n-@@ -1405,7 +1405,7 @@ mkstemps (char *template, int slen)\n-   unsigned pktSize;\n-   if (NULL_PTR (mkstemps))\n-     init_io_intf ();\n--  if (CHCK_REENTRANCE (guard) || template == NULL)\n-+  if (CHCK_REENTRANCE (guard))\n-     return CALL_REAL (mkstemps)(template, slen);\n-   PUSH_REENTRANCE (guard);\n-   hrtime_t reqt = gethrtime ();\n-@@ -1485,7 +1485,7 @@ close (int fildes)\n- \n- /*------------------------------------------------------------- fopen */\n- static FILE*\n--gprofng_fopen (FILE*(real_fopen) (), const char *filename, const char *mode)\n-+gprofng_fopen (FILE*(real_fopen) (const char *, const char *), const char *filename, const char *mode)\n- {\n-   int *guard;\n-   FILE *fp = NULL;\n-@@ -1559,7 +1559,7 @@ DCL_FOPEN (fopen)\n- \n- /*------------------------------------------------------------- fclose */\n- static int\n--gprofng_fclose (int(real_fclose) (), FILE *stream)\n-+gprofng_fclose (int(real_fclose) (FILE *), FILE *stream)\n- {\n-   int *guard;\n-   int stat;\n-@@ -1645,7 +1645,7 @@ fflush (FILE *stream)\n- \n- /*------------------------------------------------------------- fdopen */\n- static FILE*\n--gprofng_fdopen (FILE*(real_fdopen) (), int fildes, const char *mode)\n-+gprofng_fdopen (FILE*(real_fdopen) (int, const char *), int fildes, const char *mode)\n- {\n-   int *guard;\n-   FILE *fp = NULL;\n-@@ -2957,7 +2957,7 @@ DCL_FGETPOS (fgetpos)\n- \n- /*------------------------------------------------------------- fgetpos64 */\n- static int\n--gprofng_fgetpos64 (int(real_fgetpos64) (), FILE *stream, fpos64_t *pos)\n-+gprofng_fgetpos64 (int(real_fgetpos64) (FILE *, fpos64_t *), FILE *stream, fpos64_t *pos)\n- {\n-   int *guard;\n-   int ret;\n-diff --git a/gprofng/libcollector/libcol_util.c b/gprofng/libcollector/libcol_util.c\n-index 1e58cf491a1..baac15db5c4 100644\n---- a/gprofng/libcollector/libcol_util.c\n-+++ b/gprofng/libcollector/libcol_util.c\n-@@ -1013,7 +1013,6 @@ __collector_open (const char *path, int oflag, ...)\n-   mode_t mode = 0;\n- \n-   hrtime_t t_timeout = __collector_gethrtime () + 5 * ((hrtime_t) NANOSEC);\n--  int nretries = 0;\n-   long long delay = 100; /* start at some small, arbitrary value */\n- \n-   /* get optional mode argument if it's expected/required */\n-@@ -1058,7 +1057,6 @@ __collector_open (const char *path, int oflag, ...)\n-       delay *= 2;\n-       if (delay > 100000000)\n- \tdelay = 100000000; /* cap at some large, arbitrary value */\n--      nretries++;\n-     }\n-   return fd;\n- }\n-diff --git a/gprofng/libcollector/libcol_util.h b/gprofng/libcollector/libcol_util.h\n-index c8ec83ff0d9..aa30db72bcc 100644\n---- a/gprofng/libcollector/libcol_util.h\n-+++ b/gprofng/libcollector/libcol_util.h\n-@@ -81,12 +81,6 @@ extern int __collector_mutex_trylock (collector_mutex_t *mp);\n- #define __collector_mutex_init(xx) \\\n-   do { collector_mutex_t tmp=COLLECTOR_MUTEX_INITIALIZER; *(xx)=tmp; } while(0)\n- \n--void __collector_sample (char *name);\n--void __collector_terminate_expt ();\n--void __collector_pause ();\n--void __collector_pause_m ();\n--void __collector_resume ();\n--\n- struct DT_lineno;\n- \n- typedef enum\n-diff --git a/gprofng/libcollector/linetrace.c b/gprofng/libcollector/linetrace.c\n-index 67b2d7e9030..66844bc1337 100644\n---- a/gprofng/libcollector/linetrace.c\n-+++ b/gprofng/libcollector/linetrace.c\n-@@ -1207,7 +1207,7 @@ __collector_vfork (void)\n- }\n- \n- /*------------------------------------------------------------- execve */\n--int execve () __attribute__ ((weak, alias (\"__collector_execve\")));\n-+int execve (const char *, char *const [], char *const []) __attribute__ ((weak, alias (\"__collector_execve\")));\n- \n- int\n- __collector_execve (const char* path, char *const argv[], char *const envp[])\n-@@ -1237,7 +1237,7 @@ __collector_execve (const char* path, char *const argv[], char *const envp[])\n-   return ret;\n- }\n- \n--int execvp () __attribute__ ((weak, alias (\"__collector_execvp\")));\n-+int execvp (const char *, char *const []) __attribute__ ((weak, alias (\"__collector_execvp\")));\n- \n- int\n- __collector_execvp (const char* file, char *const argv[])\n-@@ -1269,7 +1269,7 @@ __collector_execvp (const char* file, char *const argv[])\n-   return ret;\n- }\n- \n--int execv () __attribute__ ((weak, alias (\"__collector_execv\")));\n-+int execv (const char *, char *const []) __attribute__ ((weak, alias (\"__collector_execv\")));\n- \n- int\n- __collector_execv (const char* path, char *const argv[])\n-@@ -1408,7 +1408,10 @@ __collector_execl (const char* path, const char *arg0, ...)\n- /*-------------------------------------------------------- posix_spawn */\n- // map interposed symbol versions\n- static int\n--gprofng_posix_spawn (int(real_posix_spawn) (),\n-+gprofng_posix_spawn (int(real_posix_spawn) (pid_t *, const char *,\n-+\t\t\t\tconst posix_spawn_file_actions_t *,\n-+\t\t\t\tconst posix_spawnattr_t *,\n-+\t\t\t\tchar *const [], char *const []),\n- \t\t     pid_t *pidp, const char *path,\n- \t\t     const posix_spawn_file_actions_t *file_actions,\n- \t\t     const posix_spawnattr_t *attrp,\n-@@ -1466,7 +1469,10 @@ DCL_POSIX_SPAWN (posix_spawn)\n- \n- /*-------------------------------------------------------- posix_spawnp */\n- static int\n--gprofng_posix_spawnp (int (real_posix_spawnp) (),\n-+gprofng_posix_spawnp (int (real_posix_spawnp) (pid_t *, const char *,\n-+\t\t\t\tconst posix_spawn_file_actions_t *,\n-+\t\t\t\tconst posix_spawnattr_t *,\n-+\t\t\t\tchar *const [], char *const []),\n-                       pid_t *pidp, const char *path,\n-                       const posix_spawn_file_actions_t *file_actions,\n-                       const posix_spawnattr_t *attrp,\n-@@ -1754,8 +1760,8 @@ __collector_clone (int (*fn)(void *), void *child_stack, int flags, void *arg,\n- }\n- \n- /*-------------------------------------------------------------------- setuid */\n--int setuid () __attribute__ ((weak, alias (\"__collector_setuid\")));\n--int _setuid () __attribute__ ((weak, alias (\"__collector_setuid\")));\n-+int setuid (uid_t) __attribute__ ((weak, alias (\"__collector_setuid\")));\n-+int _setuid (uid_t) __attribute__ ((weak, alias (\"__collector_setuid\")));\n- \n- int\n- __collector_setuid (uid_t ruid)\n-@@ -1770,8 +1776,8 @@ __collector_setuid (uid_t ruid)\n- }\n- \n- /*------------------------------------------------------------------- seteuid */\n--int seteuid () __attribute__ ((weak, alias (\"__collector_seteuid\")));\n--int _seteuid () __attribute__ ((weak, alias (\"__collector_seteuid\")));\n-+int seteuid (uid_t) __attribute__ ((weak, alias (\"__collector_seteuid\")));\n-+int _seteuid (uid_t) __attribute__ ((weak, alias (\"__collector_seteuid\")));\n- \n- int\n- __collector_seteuid (uid_t euid)\n-@@ -1786,8 +1792,8 @@ __collector_seteuid (uid_t euid)\n- }\n- \n- /*------------------------------------------------------------------ setreuid */\n--int setreuid () __attribute__ ((weak, alias (\"__collector_setreuid\")));\n--int _setreuid () __attribute__ ((weak, alias (\"__collector_setreuid\")));\n-+int setreuid (uid_t, uid_t) __attribute__ ((weak, alias (\"__collector_setreuid\")));\n-+int _setreuid (uid_t, uid_t) __attribute__ ((weak, alias (\"__collector_setreuid\")));\n- \n- int\n- __collector_setreuid (uid_t ruid, uid_t euid)\n-@@ -1802,8 +1808,8 @@ __collector_setreuid (uid_t ruid, uid_t euid)\n- }\n- \n- /*-------------------------------------------------------------------- setgid */\n--int setgid () __attribute__ ((weak, alias (\"__collector_setgid\")));\n--int _setgid () __attribute__ ((weak, alias (\"__collector_setgid\")));\n-+int setgid (gid_t) __attribute__ ((weak, alias (\"__collector_setgid\")));\n-+int _setgid (gid_t) __attribute__ ((weak, alias (\"__collector_setgid\")));\n- \n- int\n- __collector_setgid (gid_t rgid)\n-@@ -1818,8 +1824,8 @@ __collector_setgid (gid_t rgid)\n- }\n- \n- /*------------------------------------------------------------------- setegid */\n--int setegid () __attribute__ ((weak, alias (\"__collector_setegid\")));\n--int _setegid () __attribute__ ((weak, alias (\"__collector_setegid\")));\n-+int setegid (gid_t) __attribute__ ((weak, alias (\"__collector_setegid\")));\n-+int _setegid (gid_t) __attribute__ ((weak, alias (\"__collector_setegid\")));\n- \n- int\n- __collector_setegid (gid_t egid)\n-@@ -1834,8 +1840,8 @@ __collector_setegid (gid_t egid)\n- }\n- \n- /*------------------------------------------------------------------ setregid */\n--int setregid () __attribute__ ((weak, alias (\"__collector_setregid\")));\n--int _setregid () __attribute__ ((weak, alias (\"__collector_setregid\")));\n-+int setregid (gid_t, gid_t) __attribute__ ((weak, alias (\"__collector_setregid\")));\n-+int _setregid (gid_t, gid_t) __attribute__ ((weak, alias (\"__collector_setregid\")));\n- \n- int\n- __collector_setregid (gid_t rgid, gid_t egid)\n-diff --git a/gprofng/src/BaseMetricTreeNode.h b/gprofng/src/BaseMetricTreeNode.h\n-index d73d244e27e..7698f9c6eaf 100644\n---- a/gprofng/src/BaseMetricTreeNode.h\n-+++ b/gprofng/src/BaseMetricTreeNode.h\n-@@ -85,7 +85,6 @@ private:\n- \n-   BaseMetricTreeNode *root;     // root of tree\n-   BaseMetricTreeNode *parent;   // my parent\n--  bool aggregation;             // value is based on children's values\n-   char *name;           // bm->get_cmd() for metrics, unique string otherwise\n-   char *uname;                  // user-visible text\n-   char *unit;                   // see UNIT_* defines\n-diff --git a/gprofng/src/Dbe.cc b/gprofng/src/Dbe.cc\n-index 95daa727186..09b7f94eaa8 100644\n---- a/gprofng/src/Dbe.cc\n-+++ b/gprofng/src/Dbe.cc\n-@@ -9591,14 +9591,12 @@ dbeGetTLDataRepVals (VMode view_mode, hrtime_t start_ts, hrtime_t delta,\n- \t}\n-       if (sampleVals != NULL)\n- \t{\n--\t  Sample* sample = (Sample*) packets->getObjValue (PROP_SMPLOBJ, packetIdx);\n--\t  if (!sample || !sample->get_usage ())\n--\t    sample = sample;\n--\t  else\n-+\t  Sample *sample = (Sample*) packets->getObjValue (PROP_SMPLOBJ, packetIdx);\n-+\t  if (sample != NULL)\n- \t    {\n--\t      PrUsage* prusage = sample->get_usage ();\n--\t      Vector<long long> *mstateVals = prusage->getMstateValues ();\n--\t      sampleVals->store (eventIdx, mstateVals);\n-+\t      PrUsage *prusage = sample->get_usage ();\n-+\t      if (prusage != NULL)\n-+\t\tsampleVals->store (eventIdx, prusage->getMstateValues ());\n- \t    }\n- \t}\n-     }\n-diff --git a/gprofng/src/DbeSession.cc b/gprofng/src/DbeSession.cc\n-index a6808d8d8f6..3649357bc79 100644\n---- a/gprofng/src/DbeSession.cc\n-+++ b/gprofng/src/DbeSession.cc\n-@@ -1164,8 +1164,6 @@ DbeSession::open_experiment (Experiment *exp, char *path)\n-   closedir (exp_dir);\n-   exp_names->sort (dir_name_cmp);\n-   Experiment **t_exp_list = new Experiment *[exp_names->size ()];\n--  int nsubexps = 0;\n--\n-   for (int j = 0, jsz = exp_names->size (); j < jsz; j++)\n-     {\n-       t_exp_list[j] = NULL;\n-@@ -1222,7 +1220,6 @@ DbeSession::open_experiment (Experiment *exp, char *path)\n- \tdexp->open (dpath);\n-       append (dexp);\n-       t_exp_list[j] = dexp;\n--      nsubexps++;\n-       dexp->set_clock (exp->clock);\n- \n-       // DbeView add_experiment() is split into two parts\n-diff --git a/gprofng/src/Disasm.cc b/gprofng/src/Disasm.cc\n-index e41bf679292..19f2174d536 100644\n---- a/gprofng/src/Disasm.cc\n-+++ b/gprofng/src/Disasm.cc\n-@@ -49,7 +49,6 @@ struct DisContext\n- };\n- \n- static const int MAX_DISASM_STR     = 2048;\n--static const int MAX_INSTR_SIZE     = 8;\n- \n- Disasm::Disasm (char *fname)\n- {\n-diff --git a/gprofng/src/Experiment.cc b/gprofng/src/Experiment.cc\n-index a1f78fc0cde..627a755c88c 100644\n---- a/gprofng/src/Experiment.cc\n-+++ b/gprofng/src/Experiment.cc\n-@@ -1937,8 +1937,6 @@ private:\n-   }\n- \n-   Experiment *exp;\n--  char *hostname;\n--  hrtime_t time, tstamp;\n- };\n- \n- void\n-diff --git a/gprofng/src/HashMap.h b/gprofng/src/HashMap.h\n-index 918c0dc95f9..c5fdd345ba8 100644\n---- a/gprofng/src/HashMap.h\n-+++ b/gprofng/src/HashMap.h\n-@@ -78,9 +78,8 @@ copy_key (uint64_t a)\n- }\n- \n- template<> inline void\n--delete_key (uint64_t a)\n-+delete_key (uint64_t)\n- {\n--  a = a;\n- }\n- \n- template<> inline int\n-diff --git a/gprofng/src/IOActivity.h b/gprofng/src/IOActivity.h\n-index cf462cf8d55..f3a22ada6b1 100644\n---- a/gprofng/src/IOActivity.h\n-+++ b/gprofng/src/IOActivity.h\n-@@ -78,7 +78,6 @@ private:\n-   Hist_data *hist_data_file_all;\n-   Hist_data *hist_data_vfd_all;\n-   Hist_data *hist_data_callstack_all;\n--  Hist_data *hist_data_callstack;\n- \n-   DbeView *dbev;\n- };\n-diff --git a/gprofng/src/collctrl.cc b/gprofng/src/collctrl.cc\n-index 029c0387f19..c0234130f00 100644\n---- a/gprofng/src/collctrl.cc\n-+++ b/gprofng/src/collctrl.cc\n-@@ -880,9 +880,7 @@ Coll_Ctrl::set_clkprof (const char *string, char** warn)\n-       double dval = strtod (string, &endchar);\n-       if (*endchar == 'm' || *endchar == 0) /* user specified milliseconds */\n- \tdval = dval * 1000.;\n--      else if (*endchar == 'u') /* user specified microseconds */\n--\tdval = dval;\n--      else\n-+      else if (*endchar != 'u')\n- \treturn dbe_sprintf (GTXT (\"Unrecognized clock-profiling interval `%s'\\n\"), string);\n-       nclkprof_timer = (int) (dval + 0.5);\n-     }\n-@@ -2791,7 +2789,7 @@ Coll_Ctrl::get (char * control)\n-     }\n-   if (!strncmp (control, ipc_str_javaprof, len))\n-     {\n--      if ((java_mode == 0))\n-+      if (java_mode == 0)\n- \treturn strdup (ipc_str_off);\n-       return strdup (ipc_str_on);\n-     }\n-@@ -2807,7 +2805,7 @@ Coll_Ctrl::get (char * control)\n-     }\n-   if (!strncmp (control, ipc_str_sample_sig, len))\n-     {\n--      if ((sample_sig == 0))\n-+      if (sample_sig == 0)\n- \treturn strdup (ipc_str_off);\n-       char *str_signal = find_signal_name (sample_sig);\n-       if (str_signal != NULL)\n-@@ -2841,15 +2839,15 @@ Coll_Ctrl::get (char * control)\n-     }\n-   if (!strncmp (control, ipc_str_iotrace, len))\n-     {\n--      if ((iotrace_enabled == 0))\n-+      if (iotrace_enabled == 0)\n- \treturn strdup (ipc_str_off);\n-       return strdup (ipc_str_on);\n-     }\n-   if (!strncmp (control, ipc_str_count, len))\n-     {\n--      if ((count_enabled == 0))\n-+      if (count_enabled == 0)\n- \treturn strdup (ipc_str_off);\n--      if ((count_enabled < 0))\n-+      if (count_enabled < 0)\n- \treturn strdup (\"on\\nstatic\");\n-       return strdup (ipc_str_on);\n-     }\n-diff --git a/gprofng/src/collctrl.h b/gprofng/src/collctrl.h\n-index a41647440ac..e2a8e450890 100644\n---- a/gprofng/src/collctrl.h\n-+++ b/gprofng/src/collctrl.h\n-@@ -272,7 +272,6 @@ private:\n-   char *node_name;      /* name of machine on which experiment is run */\n-   long ncpus;           /* number of online CPUs */\n-   int cpu_clk_freq;     /* chip clock (MHz.), as reported from processor_info */\n--  int cpc_cpuver;       /* chip version, as reported from libcpc */\n-   long sys_resolution;  /* system clock resolution */\n-   int sample_period;    /* period for sampling, seconds */\n-   int sample_default;    /* if period for sampling set by default */\n-diff --git a/gprofng/src/collector_module.h b/gprofng/src/collector_module.h\n-index bb48eadb9f8..ebcdbca561f 100644\n---- a/gprofng/src/collector_module.h\n-+++ b/gprofng/src/collector_module.h\n-@@ -40,12 +40,12 @@ struct tm;\n-  * If you add any, please put it in the right place */\n- typedef struct CollectorUtilFuncs\n- {\n--  int (*access)();\n-+  int (*access)(const char *, int);\n-   int (*atoi)(const char *nptr);\n-   void *(*calloc)(size_t nelem, size_t elsize);\n-   int (*clearenv)(void);\n-   int (*close)(int);\n--  int (*closedir)();\n-+  int (*closedir)(DIR *);\n-   int (*execv)(const char *path, char *const argv[]);\n-   void (*exit)(int status);\n-   int (*fclose)(FILE *stream);\n-@@ -66,20 +66,20 @@ typedef struct CollectorUtilFuncs\n-   off_t (*lseek)(int fd, off_t offset, int whence);\n-   void *(*malloc)(size_t size);\n-   void *(*memset)(void *s1, int c, size_t n);\n--  int (*mkdir)();\n-+  int (*mkdir)(const char *, mode_t);\n-   time_t (*mktime)(struct tm *timeptr);\n-   void *(*mmap)(void *, size_t, int, int, int, off_t);\n--  void *(*mmap64_)();\n--  int (*munmap)();\n-+  void *(*mmap64_)(void *, size_t, int, int, int, off_t);\n-+  int (*munmap)(void *, size_t);\n-   int (*open)(const char *, int, ...);\n-   int (*open_bare)(const char *, int, ...);\n--  DIR *(*opendir)();\n-+  DIR *(*opendir)(const char *);\n-   int (*pclose)(FILE *stream);\n-   FILE *(*popen)(const char *command, const char *mode);\n-   int (*putenv)(char *string);\n--  ssize_t (*pwrite)();\n--  ssize_t (*pwrite64_)();\n--  ssize_t (*read)();\n-+  ssize_t (*pwrite)(int, const void *, size_t, off_t);\n-+  ssize_t (*pwrite64_)(int, const void *, size_t, off_t);\n-+  ssize_t (*read)(int, void *, size_t);\n-   int (*setenv)(const char *name, const char *value, int overwrite);\n-   int (*sigfillset)(sigset_t *set);\n-   int (*sigprocmask)(int how, const sigset_t *set, sigset_t *oldset);\n-@@ -112,7 +112,7 @@ typedef struct CollectorUtilFuncs\n-   int (*unsetenv)(const char *name);\n-   int (*vsnprintf)(char *str, size_t size, const char *format, va_list ap);\n-   pid_t (*waitpid)(pid_t pid, int *stat_loc, int options);\n--  ssize_t (*write)();\n-+  ssize_t (*write)(int, void *, size_t);\n-   double (*atof)();\n-   void *n_a;\n- } CollectorUtilFuncs;\n-diff --git a/gprofng/src/gp-display-src.cc b/gprofng/src/gp-display-src.cc\n-index 200e6080d2e..24af375edf1 100644\n---- a/gprofng/src/gp-display-src.cc\n-+++ b/gprofng/src/gp-display-src.cc\n-@@ -75,14 +75,6 @@ private:\n-   bool v_opt;\n-   int multiple;\n-   char *str_compcom;\n--  bool hex_visible;\n--  int src_visible;\n--  int vis_src;\n--  int vis_dis;\n--  int threshold_src;\n--  int threshold_dis;\n--  int threshold;\n--  int vis_bits;\n- };\n- \n- static int\n-diff --git a/gprofng/src/gp-print.h b/gprofng/src/gp-print.h\n-index 1b748ea60a3..1a8ad3b6c13 100644\n---- a/gprofng/src/gp-print.h\n-+++ b/gprofng/src/gp-print.h\n-@@ -19,7 +19,7 @@\n-    MA 02110-1301, USA.  */\n- \n- #ifndef _GP_PRINT_H\n--#define _ER_PRINT_H\n-+#define _GP_PRINT_H\n- \n- #include \"Command.h\"\n- #include \"DbeApplication.h\"\n-diff --git a/gprofng/src/hwc_intel_icelake.h b/gprofng/src/hwc_intel_icelake.h\n-index 46f4ac5005f..4fe2e26f63b 100644\n---- a/gprofng/src/hwc_intel_icelake.h\n-+++ b/gprofng/src/hwc_intel_icelake.h\n-@@ -24,8 +24,10 @@\n- #define SH(val, n) (((unsigned long long) (val)) << n)\n- #define I(nm, event, umask, edge, cmask, inv, \\\n- \t  offcore_rsp, ldlat, frontend, period, mtr) \\\n--\t  INIT_HWC(nm, mtr, SH(event, 0) | SH(umask, 8) | SH(edge, 18) \\\n--\t\t     | SH(cmask, 24) | SH(inv, 23), PERF_TYPE_RAW), \\\n-+\t  .use_perf_event_type = 1, .type = PERF_TYPE_RAW, \\\n-+\t  .name = (nm), .metric = (mtr), .reg_num = REGNO_ANY, \\\n-+\t  .config = SH(event, 0) | SH(umask, 8) | SH(edge, 18) | SH(cmask, 24) \\\n-+\t\t  | SH(inv, 23), \\\n- \t  .config1 = SH(offcore_rsp, 0) | SH(ldlat, 0) | SH(frontend, 0), \\\n- \t  .val = period\n- \n-diff --git a/gprofng/src/util.cc b/gprofng/src/util.cc\n-index 201f7088b66..228140b61ae 100644\n---- a/gprofng/src/util.cc\n-+++ b/gprofng/src/util.cc\n-@@ -741,17 +741,13 @@ get_relative_link (const char *path_from, const char *path_to)\n-   s2 = canonical_path (s2);\n-   long l = dbe_sstrlen (s1);\n-   // try to find common directories\n--  int common_slashes = 0;\n-   int last_common_slash = -1;\n-   for (int i = 0; i < l; i++)\n-     {\n--      if (s1[i] != s2[i]) break;\n--      if (s1[i] == 0) break;\n-+      if (s1[i] != s2[i] || s1[i] == 0)\n-+\tbreak;\n-       if (s1[i] == '/')\n--\t{\n--\t  common_slashes++;\n--\t  last_common_slash = i;\n--\t}\n-+\tlast_common_slash = i;\n-     }\n-   // find slashes in remaining path_to\n-   int slashes = 0;\n--- \n-2.50.1\n-\ndiff --git a/package/binutils/2.43.1/0006-gprofng-fix-std-gnu23-compatibility-wrt-unprototyped.patch b/package/binutils/2.43.1/0006-gprofng-fix-std-gnu23-compatibility-wrt-unprototyped.patch\ndeleted file mode 100644\nindex 7c6ed290f9..0000000000\n--- a/package/binutils/2.43.1/0006-gprofng-fix-std-gnu23-compatibility-wrt-unprototyped.patch\n+++ /dev/null\n@@ -1,619 +0,0 @@\n-From a5be89126b9bee78224be842e3086ce99dc045e6 Mon Sep 17 00:00:00 2001\n-From: Sam James <sam@gentoo.org>\n-Date: Sat, 16 Nov 2024 05:13:48 +0000\n-Subject: [PATCH] gprofng: fix -std=gnu23 compatibility wrt unprototyped\n- functions\n-\n-C23 removes support for unprototyped functions. Fix function pointer types\n-accordingly.\n-\n-This does not fix all instances, there's a few left as I commented on in\n-PR32374 (e.g. setitimer which I have a local workaround for but it involves\n-a glibc implementation detail; the Linaro precommit CI tester pointed that\n-out too, so dropped that).\n-\n-ChangeLog:\n-\tPR gprofng/32374\n-\n-\t* libcollector/collector.c (collector_sample): Fix prototype.\n-\t* libcollector/envmgmt.c (putenv): Ditto.\n-\t(_putenv): Ditto.\n-\t(__collector_putenv): Ditto.\n-\t(setenv): Ditto.\n-\t(_setenv): Ditto.\n-\t(__collector_setenv): Ditto.\n-\t(unsetenv): Ditto.\n-\t(_unsetenv): Ditto.\n-\t(__collector_unsetenv): Ditto.\n-\t* libcollector/jprofile.c (open_experiment): Ditto.\n-\t(__collector_jprofile_enable_synctrace): Ditto.\n-\t(jprof_find_asyncgetcalltrace): Ditto.\n-\t* libcollector/libcol_util.c (__collector_util_init): Ditto.\n-\t(ARCH): Ditto.\n-\t* libcollector/mmaptrace.c (collector_func_load): Ditto.\n-\t(collector_func_unload): Ditto.\n-\t* libcollector/unwind.c (__collector_ext_unwind_init): Ditto.\n-\t* src/collector_module.h: Ditto.\n-\n-Upstream: a2f774427e078f3da2c06bdea25f77a61979a695\n-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>\n----\n- gprofng/libcollector/collector.c   |  2 +-\n- gprofng/libcollector/dispatcher.c  |  1 -\n- gprofng/libcollector/envmgmt.c     | 24 ++++-----\n- gprofng/libcollector/jprofile.c    | 10 ++--\n- gprofng/libcollector/libcol_util.c | 84 +++++++++++++++---------------\n- gprofng/libcollector/mmaptrace.c   |  4 +-\n- gprofng/libcollector/unwind.c      |  2 +-\n- gprofng/src/collector_module.h     |  2 +-\n- 8 files changed, 64 insertions(+), 65 deletions(-)\n-\n-diff --git a/gprofng/libcollector/collector.c b/gprofng/libcollector/collector.c\n-index 2ff95e58fde..3cab346e7dc 100644\n---- a/gprofng/libcollector/collector.c\n-+++ b/gprofng/libcollector/collector.c\n-@@ -1578,7 +1578,7 @@ __collector_resume_experiment ()\n- }\n- \n- /* Code to support Samples and Pause/Resume */\n--void collector_sample () __attribute__ ((weak, alias (\"__collector_sample\")));\n-+void collector_sample (char *name) __attribute__ ((weak, alias (\"__collector_sample\")));\n- void\n- __collector_sample (char *name)\n- {\n-diff --git a/gprofng/libcollector/dispatcher.c b/gprofng/libcollector/dispatcher.c\n-index f7cd46e7e6b..4eda18ec324 100644\n---- a/gprofng/libcollector/dispatcher.c\n-+++ b/gprofng/libcollector/dispatcher.c\n-@@ -1281,4 +1281,3 @@ __collector_ext_clone_pthread (int (*fn)(void *), void *child_stack, int flags,\n- int sigprocmask (int, const sigset_t*, sigset_t*) __attribute__ ((weak, alias (\"__collector_sigprocmask\")));\n- int thr_sigsetmask (int, const sigset_t*, sigset_t*) __attribute__ ((weak, alias (\"__collector_thr_sigsetmask\")));\n- int setitimer () __attribute__ ((weak, alias (\"_setitimer\")));\n--\n-diff --git a/gprofng/libcollector/envmgmt.c b/gprofng/libcollector/envmgmt.c\n-index a399c0d0cb4..f2bf2c41bfb 100644\n---- a/gprofng/libcollector/envmgmt.c\n-+++ b/gprofng/libcollector/envmgmt.c\n-@@ -685,8 +685,8 @@ __collector_env_update (char *envp[])\n- \n- \n- /*------------------------------------------------------------- putenv */\n--int putenv () __attribute__ ((weak, alias (\"__collector_putenv\")));\n--int _putenv () __attribute__ ((weak, alias (\"__collector_putenv\")));\n-+int putenv (char*) __attribute__ ((weak, alias (\"__collector_putenv\")));\n-+int _putenv (char*) __attribute__ ((weak, alias (\"__collector_putenv\")));\n- \n- int\n- __collector_putenv (char * string)\n-@@ -694,9 +694,9 @@ __collector_putenv (char * string)\n-   if (CALL_UTIL (putenv) == __collector_putenv ||\n-       CALL_UTIL (putenv) == NULL)\n-     { // __collector_libc_funcs_init failed\n--      CALL_UTIL (putenv) = (int(*)())dlsym (RTLD_NEXT, \"putenv\");\n-+      CALL_UTIL (putenv) = (int(*)(char*))dlsym (RTLD_NEXT, \"putenv\");\n-       if (CALL_UTIL (putenv) == NULL || CALL_UTIL (putenv) == __collector_putenv)\n--\t  CALL_UTIL (putenv) = (int(*)())dlsym (RTLD_DEFAULT, \"putenv\");\n-+\t  CALL_UTIL (putenv) = (int(*)(char*))dlsym (RTLD_DEFAULT, \"putenv\");\n-       if (CALL_UTIL (putenv) == NULL || CALL_UTIL (putenv) == __collector_putenv)\n- \t{\n- \t  TprintfT (DBG_LT2, \"__collector_putenv(): ERROR: no pointer found.\\n\");\n-@@ -712,8 +712,8 @@ __collector_putenv (char * string)\n- }\n- \n- /*------------------------------------------------------------- setenv */\n--int setenv () __attribute__ ((weak, alias (\"__collector_setenv\")));\n--int _setenv () __attribute__ ((weak, alias (\"__collector_setenv\")));\n-+int setenv (const char*, const char*, int) __attribute__ ((weak, alias (\"__collector_setenv\")));\n-+int _setenv (const char*, const char*, int) __attribute__ ((weak, alias (\"__collector_setenv\")));\n- \n- int\n- __collector_setenv (const char *name, const char *value, int overwrite)\n-@@ -721,9 +721,9 @@ __collector_setenv (const char *name, const char *value, int overwrite)\n-   if (CALL_UTIL (setenv) == __collector_setenv ||\n-       CALL_UTIL (setenv) == NULL)\n-     { // __collector_libc_funcs_init failed\n--      CALL_UTIL (setenv) = (int(*)())dlsym (RTLD_NEXT, \"setenv\");\n-+      CALL_UTIL (setenv) = (int(*)(const char*, const char*, int))dlsym (RTLD_NEXT, \"setenv\");\n-       if (CALL_UTIL (setenv) == NULL || CALL_UTIL (setenv) == __collector_setenv)\n--\tCALL_UTIL (setenv) = (int(*)())dlsym (RTLD_DEFAULT, \"setenv\");\n-+\tCALL_UTIL (setenv) = (int(*)(const char*, const char*, int))dlsym (RTLD_DEFAULT, \"setenv\");\n-       if (CALL_UTIL (setenv) == NULL || CALL_UTIL (setenv) == __collector_setenv)\n- \t{\n- \t  TprintfT (DBG_LT2, \"__collector_setenv(): ERROR: no pointer found.\\n\");\n-@@ -758,8 +758,8 @@ __collector_setenv (const char *name, const char *value, int overwrite)\n- }\n- \n- /*------------------------------------------------------------- unsetenv */\n--int unsetenv () __attribute__ ((weak, alias (\"__collector_unsetenv\")));\n--int _unsetenv () __attribute__ ((weak, alias (\"__collector_unsetenv\")));\n-+int unsetenv (const char*) __attribute__ ((weak, alias (\"__collector_unsetenv\")));\n-+int _unsetenv (const char*) __attribute__ ((weak, alias (\"__collector_unsetenv\")));\n- \n- int\n- __collector_unsetenv (const char *name)\n-@@ -767,9 +767,9 @@ __collector_unsetenv (const char *name)\n-   if (CALL_UTIL (unsetenv) == __collector_unsetenv ||\n-       CALL_UTIL (unsetenv) == NULL)\n-     { // __collector_libc_funcs_init failed\n--      CALL_UTIL (unsetenv) = (int(*)())dlsym (RTLD_NEXT, \"unsetenv\");\n-+      CALL_UTIL (unsetenv) = (int(*)(const char*))dlsym (RTLD_NEXT, \"unsetenv\");\n-       if (CALL_UTIL (unsetenv) == NULL || CALL_UTIL (unsetenv) == __collector_unsetenv)\n--\tCALL_UTIL (unsetenv) = (int(*)())dlsym (RTLD_DEFAULT, \"unsetenv\");\n-+\tCALL_UTIL (unsetenv) = (int(*)(const char*))dlsym (RTLD_DEFAULT, \"unsetenv\");\n-       if (CALL_UTIL (unsetenv) == NULL || CALL_UTIL (unsetenv) == __collector_unsetenv)\n- \t{\n- \t  TprintfT (DBG_LT2, \"__collector_unsetenv(): ERROR: no pointer found.\\n\");\n-diff --git a/gprofng/libcollector/jprofile.c b/gprofng/libcollector/jprofile.c\n-index cd498bed0a3..d8f2d049a84 100644\n---- a/gprofng/libcollector/jprofile.c\n-+++ b/gprofng/libcollector/jprofile.c\n-@@ -99,8 +99,8 @@ static void rwrite (int fd, const void *buf, size_t nbyte);\n- static void addToDynamicArchive (const char* name, const unsigned char* class_data, int class_data_len);\n- static void (*AsyncGetCallTrace)(JVMPI_CallTrace*, jint, ucontext_t*) = NULL;\n- static void (*collector_heap_record)(int, int, void*) = NULL;\n--static void (*collector_jsync_begin)() = NULL;\n--static void (*collector_jsync_end)(hrtime_t, void *) = NULL;\n-+static void (*collector_jsync_begin)(void) = NULL;\n-+static void (*collector_jsync_end)(hrtime_t, void*) = NULL;\n- \n- #define gethrtime collector_interface->getHiResTime\n- \n-@@ -224,7 +224,7 @@ open_experiment (const char *exp)\n-       else if (__collector_strStartWith (args, \"s:\") == 0)\n- \t{\n- \t  java_sync_mode = 1;\n--\t  collector_jsync_begin = (void(*)(hrtime_t, void *))dlsym (RTLD_DEFAULT, \"__collector_jsync_begin\");\n-+\t  collector_jsync_begin = (void(*)(void))dlsym (RTLD_DEFAULT, \"__collector_jsync_begin\");\n- \t  collector_jsync_end = (void(*)(hrtime_t, void *))dlsym (RTLD_DEFAULT, \"__collector_jsync_end\");\n- \t}\n- #endif\n-@@ -249,7 +249,7 @@ __collector_jprofile_enable_synctrace ()\n-       return;\n-     }\n-   java_sync_mode = 1;\n--  collector_jsync_begin = (void(*)(hrtime_t, void *))dlsym (RTLD_DEFAULT, \"__collector_jsync_begin\");\n-+  collector_jsync_begin = (void(*)(void))dlsym (RTLD_DEFAULT, \"__collector_jsync_begin\");\n-   collector_jsync_end = (void(*)(hrtime_t, void *))dlsym (RTLD_DEFAULT, \"__collector_jsync_end\");\n-   TprintfT (DBG_LT1, \"jprofile: turning on Java synctrace, and requesting events\\n\");\n- }\n-@@ -1123,7 +1123,7 @@ jprof_find_asyncgetcalltrace ()\n- {\n-   void *jvmhandle;\n-   if (__collector_VM_ReadByteInstruction == NULL)\n--    __collector_VM_ReadByteInstruction = (int(*)()) dlsym (RTLD_DEFAULT, \"Async_VM_ReadByteInstruction\");\n-+    __collector_VM_ReadByteInstruction = (int(*)(unsigned char*)) dlsym (RTLD_DEFAULT, \"Async_VM_ReadByteInstruction\");\n- \n-   /* look for stack unwind function using default path */\n-   AsyncGetCallTrace = (void (*)(JVMPI_CallTrace*, jint, ucontext_t*))\n-diff --git a/gprofng/libcollector/libcol_util.c b/gprofng/libcollector/libcol_util.c\n-index baac15db5c4..a73488e3f60 100644\n---- a/gprofng/libcollector/libcol_util.c\n-+++ b/gprofng/libcollector/libcol_util.c\n-@@ -1114,7 +1114,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"munmap\");\n-   if (ptr)\n--    __collector_util_funcs.munmap = (int(*)())ptr;\n-+    __collector_util_funcs.munmap = (int(*)(void *, size_t))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT munmap: %s\\n\", dlerror ());\n-@@ -1123,7 +1123,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"close\");\n-   if (ptr)\n--    __collector_util_funcs.close = (int(*)())ptr;\n-+    __collector_util_funcs.close = (int(*)(int))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT close: %s\\n\", dlerror ());\n-@@ -1158,7 +1158,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"close\");\n-   if (ptr)\n--    __collector_util_funcs.close = (int(*)())ptr;\n-+    __collector_util_funcs.close = (int(*)(int))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT close: %s\\n\", dlerror ());\n-@@ -1167,7 +1167,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"read\");\n-   if (ptr)\n--    __collector_util_funcs.read = (ssize_t (*)())ptr;\n-+    __collector_util_funcs.read = (ssize_t (*)(int, void*, size_t))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT read: %s\\n\", dlerror ());\n-@@ -1176,7 +1176,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"write\");\n-   if (ptr)\n--    __collector_util_funcs.write = (ssize_t (*)())ptr;\n-+    __collector_util_funcs.write = (ssize_t (*)(int, void*, size_t))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT write: %s\\n\", dlerror ());\n-@@ -1186,14 +1186,14 @@ __collector_util_init ()\n- #if ARCH(Intel) && WSIZE(32)\n-   ptr = dlvsym (libc, \"pwrite\", \"GLIBC_2.2\"); // it is in /lib/libpthread.so.0\n-   if (ptr)\n--    __collector_util_funcs.pwrite = (ssize_t (*)())ptr;\n-+    __collector_util_funcs.pwrite = (ssize_t (*)(int, void*, size_t, off_t))ptr;\n-   else\n-     {\n-       Tprintf (DBG_LT0, \"libcol_util: WARNING: dlvsym for %s@%s failed. Using dlsym() instead.\", \"pwrite\", \"GLIBC_2.2\");\n- #endif /* ARCH(Intel) && WSIZE(32) */\n-       ptr = dlsym (libc, \"pwrite\");\n-       if (ptr)\n--\t__collector_util_funcs.pwrite = (ssize_t (*)())ptr;\n-+\t__collector_util_funcs.pwrite = (ssize_t (*)(int, const void*, size_t, off_t))ptr;\n-       else\n- \t{\n- \t  CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT pwrite: %s\\n\", dlerror ());\n-@@ -1213,7 +1213,7 @@ __collector_util_init ()\n- #endif /* ARCH(Intel) && WSIZE(32) */\n-       ptr = dlsym (libc, \"pwrite64\");\n-       if (ptr)\n--\t__collector_util_funcs.pwrite64_ = (ssize_t (*)())ptr;\n-+\t__collector_util_funcs.pwrite64_ = (ssize_t (*)(int, const void*, size_t, off_t))ptr;\n-       else\n- \t__collector_util_funcs.pwrite64_ = __collector_util_funcs.pwrite;\n- #if ARCH(Intel) && WSIZE(32)\n-@@ -1222,7 +1222,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"lseek\");\n-   if (ptr)\n--    __collector_util_funcs.lseek = (off_t (*)())ptr;\n-+    __collector_util_funcs.lseek = (off_t (*)(int, off_t, int))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT lseek: %s\\n\", dlerror ());\n-@@ -1231,7 +1231,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"access\");\n-   if (ptr)\n--    __collector_util_funcs.access = (int(*)())ptr;\n-+    __collector_util_funcs.access = (int(*)(const char*, int))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT access: %s\\n\", dlerror ());\n-@@ -1240,7 +1240,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"mkdir\");\n-   if (ptr)\n--    __collector_util_funcs.mkdir = (int(*)())ptr;\n-+    __collector_util_funcs.mkdir = (int(*)(const char*, mode_t))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT mkdir: %s\\n\", dlerror ());\n-@@ -1249,7 +1249,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"opendir\");\n-   if (ptr)\n--    __collector_util_funcs.opendir = (DIR * (*)())ptr;\n-+    __collector_util_funcs.opendir = (DIR * (*)(const char*))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT opendir: %s\\n\", dlerror ());\n-@@ -1258,7 +1258,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"closedir\");\n-   if (ptr)\n--    __collector_util_funcs.closedir = (int(*)())ptr;\n-+    __collector_util_funcs.closedir = (int(*)(DIR*))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT closedir: %s\\n\", dlerror ());\n-@@ -1267,7 +1267,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"execv\");\n-   if (ptr)\n--    __collector_util_funcs.execv = (int(*)())ptr;\n-+    __collector_util_funcs.execv = (int(*)(const char*, char* const*))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT execv: %s\\n\", dlerror ());\n-@@ -1276,7 +1276,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"exit\");\n-   if (ptr)\n--    __collector_util_funcs.exit = (void(*)())ptr;\n-+    __collector_util_funcs.exit = (void(*)(int))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT exit: %s\\n\", dlerror ());\n-@@ -1285,7 +1285,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"vfork\");\n-   if (ptr)\n--    __collector_util_funcs.vfork = (pid_t (*)())ptr;\n-+    __collector_util_funcs.vfork = (pid_t (*)(void))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT vfork: %s\\n\", dlerror ());\n-@@ -1294,7 +1294,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"waitpid\");\n-   if (ptr)\n--    __collector_util_funcs.waitpid = (pid_t (*)())ptr;\n-+    __collector_util_funcs.waitpid = (pid_t (*)(pid_t, int*, int))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT waitpid: %s\\n\", dlerror ());\n-@@ -1313,7 +1313,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"getcontext\");\n-   if (ptr)\n--    __collector_util_funcs.getcontext = (int(*)())ptr;\n-+    __collector_util_funcs.getcontext = (int(*)(ucontext_t*))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT getcontext: %s\\n\", dlerror ());\n-@@ -1331,7 +1331,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"putenv\");\n-   if (ptr)\n--    __collector_util_funcs.putenv = (int(*)())ptr;\n-+    __collector_util_funcs.putenv = (int(*)(char*))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT putenv: %s\\n\", dlerror ());\n-@@ -1340,7 +1340,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"getenv\");\n-   if (ptr)\n--    __collector_util_funcs.getenv = (char*(*)())ptr;\n-+    __collector_util_funcs.getenv = (char*(*)(const char*))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT getenv: %s\\n\", dlerror ());\n-@@ -1349,7 +1349,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"time\");\n-   if (ptr)\n--    __collector_util_funcs.time = (time_t (*)())ptr;\n-+    __collector_util_funcs.time = (time_t (*)(time_t*))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT time: %s\\n\", dlerror ());\n-@@ -1358,7 +1358,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"mktime\");\n-   if (ptr)\n--    __collector_util_funcs.mktime = (time_t (*)())ptr;\n-+    __collector_util_funcs.mktime = (time_t (*)(struct tm*))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT mktime: %s\\n\", dlerror ());\n-@@ -1372,7 +1372,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"gmtime_r\");\n-   if (ptr)\n--    __collector_util_funcs.gmtime_r = (struct tm * (*)())ptr;\n-+    __collector_util_funcs.gmtime_r = (struct tm * (*)(const time_t*, struct tm*))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT gmtime_r: %s\\n\", dlerror ());\n-@@ -1381,7 +1381,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"strtol\");\n-   if (ptr)\n--    __collector_util_funcs.strtol = (long (*)())ptr;\n-+    __collector_util_funcs.strtol = (long (*)(const char*, char**, int))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT strtol: %s\\n\", dlerror ());\n-@@ -1390,7 +1390,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"strtoll\");\n-   if (ptr)\n--    __collector_util_funcs.strtoll = (long long (*)())ptr;\n-+    __collector_util_funcs.strtoll = (long long (*)(const char*, char**, int))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT strtoll: %s\\n\", dlerror ());\n-@@ -1402,7 +1402,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"setenv\");\n-   if (ptr)\n--    __collector_util_funcs.setenv = (int(*)())ptr;\n-+    __collector_util_funcs.setenv = (int(*)(const char*, const char*, int))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT setenv: %s\\n\", dlerror ());\n-@@ -1411,7 +1411,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"unsetenv\");\n-   if (ptr)\n--    __collector_util_funcs.unsetenv = (int(*)())ptr;\n-+    __collector_util_funcs.unsetenv = (int(*)(const char*))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT unsetenv: %s\\n\", dlerror ());\n-@@ -1507,7 +1507,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"pclose\");\n-   if (ptr)\n--    __collector_util_funcs.pclose = (int(*)())ptr;\n-+    __collector_util_funcs.pclose = (int(*)(FILE*))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT pclose: %s\\n\", dlerror ());\n-@@ -1516,7 +1516,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"fgets\");\n-   if (ptr)\n--    __collector_util_funcs.fgets = (char*(*)())ptr;\n-+    __collector_util_funcs.fgets = (char*(*)(char*, int, FILE*))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT fgets: %s\\n\", dlerror ());\n-@@ -1543,7 +1543,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"vsnprintf\");\n-   if (ptr)\n--    __collector_util_funcs.vsnprintf = (int(*)())ptr;\n-+    __collector_util_funcs.vsnprintf = (int(*)(char*, size_t, const char*, ...))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT vsnprintf: %s\\n\", dlerror ());\n-@@ -1552,7 +1552,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"atoi\");\n-   if (ptr)\n--    __collector_util_funcs.atoi = (int(*)())ptr;\n-+    __collector_util_funcs.atoi = (int(*)(const char*))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT atoi: %s\\n\", dlerror ());\n-@@ -1561,7 +1561,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"calloc\");\n-   if (ptr)\n--    __collector_util_funcs.calloc = (void*(*)())ptr;\n-+    __collector_util_funcs.calloc = (void*(*)(size_t, size_t))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT calloc: %s\\n\", dlerror ());\n-@@ -1571,7 +1571,7 @@ __collector_util_init ()\n-   ptr = dlsym (libc, \"free\");\n-   if (ptr)\n-     {\n--      __collector_util_funcs.free = (void(*)())ptr;\n-+      __collector_util_funcs.free = (void(*)(void*))ptr;\n-     }\n-   else\n-     {\n-@@ -1581,7 +1581,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"strdup\");\n-   if (ptr)\n--    __collector_util_funcs.libc_strdup = (char*(*)())ptr;\n-+    __collector_util_funcs.libc_strdup = (char*(*)(const char*))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT strdup: %s\\n\", dlerror ());\n-@@ -1594,7 +1594,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"strerror\");\n-   if (ptr)\n--    __collector_util_funcs.strerror = (char*(*)())ptr;\n-+    __collector_util_funcs.strerror = (char*(*)(int))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT strerror: %s\\n\", dlerror ());\n-@@ -1602,7 +1602,7 @@ __collector_util_init ()\n-     }\n-   ptr = dlsym (libc, \"strerror_r\");\n-   if (ptr)\n--    __collector_util_funcs.strerror_r = (int(*)())ptr;\n-+    __collector_util_funcs.strerror_r = (int(*)(int, char*, size_t))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT strerror_r: %s\\n\", dlerror ());\n-@@ -1610,7 +1610,7 @@ __collector_util_init ()\n-     }\n-   ptr = dlsym (libc, \"strspn\");\n-   if (ptr)\n--    __collector_util_funcs.strspn = (size_t (*)())ptr;\n-+    __collector_util_funcs.strspn = (size_t (*)(const char*, const char*))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT strspn: %s\\n\", dlerror ());\n-@@ -1619,7 +1619,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"strtoul\");\n-   if (ptr)\n--    __collector_util_funcs.strtoul = (unsigned long int(*)())ptr;\n-+    __collector_util_funcs.strtoul = (unsigned long int(*)(const char*, char**, int))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT strtoul: %s\\n\", dlerror ());\n-@@ -1628,7 +1628,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"strtoull\");\n-   if (ptr)\n--    __collector_util_funcs.strtoull = (unsigned long long int(*)())ptr;\n-+    __collector_util_funcs.strtoull = (unsigned long long int(*)(const char*, char**, int))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT strtoull: %s\\n\", dlerror ());\n-@@ -1673,7 +1673,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"sysconf\");\n-   if (ptr)\n--    __collector_util_funcs.sysconf = (long(*)())ptr;\n-+    __collector_util_funcs.sysconf = (long(*)(int))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT sysconf: %s\\n\", dlerror ());\n-@@ -1682,7 +1682,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"sigfillset\");\n-   if (ptr)\n--    __collector_util_funcs.sigfillset = (int(*)())ptr;\n-+    __collector_util_funcs.sigfillset = (int(*)(sigset_t*))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT sigfillset: %s\\n\", dlerror ());\n-@@ -1691,7 +1691,7 @@ __collector_util_init ()\n- \n-   ptr = dlsym (libc, \"sigprocmask\");\n-   if (ptr)\n--    __collector_util_funcs.sigprocmask = (int(*)())ptr;\n-+    __collector_util_funcs.sigprocmask = (int(*)(int, const sigset_t*, sigset_t*))ptr;\n-   else\n-     {\n-       CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT sigprocmask: %s\\n\", dlerror ());\n-diff --git a/gprofng/libcollector/mmaptrace.c b/gprofng/libcollector/mmaptrace.c\n-index f07f4d76513..2a6857ab58e 100644\n---- a/gprofng/libcollector/mmaptrace.c\n-+++ b/gprofng/libcollector/mmaptrace.c\n-@@ -1209,7 +1209,7 @@ process_vsyscall_page ()\n- /*\n-  * collector API for dynamic functions\n-  */\n--void collector_func_load () __attribute__ ((weak, alias (\"__collector_func_load\")));\n-+void collector_func_load (char*, char*, char*, void*, int, int, DT_lineno *) __attribute__ ((weak, alias (\"__collector_func_load\")));\n- void\n- __collector_func_load (char *name, char *alias, char *sourcename,\n- \t\t       void *vaddr, int size, int lntsize, DT_lineno *lntable)\n-@@ -1218,7 +1218,7 @@ __collector_func_load (char *name, char *alias, char *sourcename,\n- \t\t\t     vaddr, size, lntsize, lntable);\n- }\n- \n--void collector_func_unload () __attribute__ ((weak, alias (\"__collector_func_unload\")));\n-+void collector_func_unload (void *vaddr) __attribute__ ((weak, alias (\"__collector_func_unload\")));\n- void\n- __collector_func_unload (void *vaddr)\n- {\n-diff --git a/gprofng/libcollector/unwind.c b/gprofng/libcollector/unwind.c\n-index 55fa2e9e9e7..e08afa165d1 100644\n---- a/gprofng/libcollector/unwind.c\n-+++ b/gprofng/libcollector/unwind.c\n-@@ -421,7 +421,7 @@ __collector_ext_unwind_init (int record)\n-   omp_no_walk = 1;\n- \n-   if (__collector_VM_ReadByteInstruction == NULL)\n--    __collector_VM_ReadByteInstruction = (int(*)()) dlsym (RTLD_DEFAULT, \"Async_VM_ReadByteInstruction\");\n-+    __collector_VM_ReadByteInstruction = (int(*)(unsigned char*)) dlsym (RTLD_DEFAULT, \"Async_VM_ReadByteInstruction\");\n- \n- #if ARCH(SPARC)\n- #if WSIZE(64)\n-diff --git a/gprofng/src/collector_module.h b/gprofng/src/collector_module.h\n-index ebcdbca561f..fd888cd58dd 100644\n---- a/gprofng/src/collector_module.h\n-+++ b/gprofng/src/collector_module.h\n-@@ -110,7 +110,7 @@ typedef struct CollectorUtilFuncs\n-   long (*sysinfo)(int command, char *buf, long count);\n-   time_t (*time)(time_t *tloc);\n-   int (*unsetenv)(const char *name);\n--  int (*vsnprintf)(char *str, size_t size, const char *format, va_list ap);\n-+  int (*vsnprintf)(char *str, size_t size, const char *format, ...);\n-   pid_t (*waitpid)(pid_t pid, int *stat_loc, int options);\n-   ssize_t (*write)(int, void *, size_t);\n-   double (*atof)();\n--- \n-2.50.1\n-\ndiff --git a/package/binutils/2.43.1/0007-gprofng-fix-build-with-std-gnu23.patch b/package/binutils/2.43.1/0007-gprofng-fix-build-with-std-gnu23.patch\ndeleted file mode 100644\nindex fe03b4b5cf..0000000000\n--- a/package/binutils/2.43.1/0007-gprofng-fix-build-with-std-gnu23.patch\n+++ /dev/null\n@@ -1,199 +0,0 @@\n-From 9ca25799ea0e92855d19adc46634e6dd0675a0b7 Mon Sep 17 00:00:00 2001\n-From: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>\n-Date: Thu, 21 Nov 2024 14:48:20 -0800\n-Subject: [PATCH] gprofng: fix build with -std=gnu23\n-\n-Fix function pointer types accordingly.\n-Remove unused function pointers.\n-\n-gprofng/ChangeLog\n-2024-11-21  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>\n-\n-\tPR gprofng/32374\n-\tPR gprofng/32373\n-\t* common/cpuid.c: Define ATTRIBUTE_UNUSED if necessary.\n-\t* libcollector/libcol_util.c (sysinfo): Remove unused pointer.\n-\t* src/collector_module.h: Likewise.\n-\t* libcollector/dispatcher.c (setitimer): Fix prototype.\n-\t* libcollector/linetrace.c (system, grantpt, ptsname): Likewise.\n-\t* testsuite/gprofng.display/mttest/mttest.c (dump_arrays): Likewise.\n-\t* testsuite/gprofng.display/synprog/endcases.c (xinline_code,\n-\ts_inline_code): Likewise.\n-\t* testsuite/gprofng.display/synprog/inc_inline.h (ext_inline_code):\n-\tLikewise.\n-\t* testsuite/gprofng.display/synprog/synprog.c (doabort): Rename nullptr.\n-\n-Upstream: 4e943705e3e8a5a9448d087502bcb390a694ad02\n-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>\n----\n- gprofng/common/cpuid.c                                 |  2 ++\n- gprofng/libcollector/dispatcher.c                      |  2 +-\n- gprofng/libcollector/libcol_util.c                     |  9 ---------\n- gprofng/libcollector/linetrace.c                       | 10 +++++-----\n- gprofng/src/collector_module.h                         |  1 -\n- gprofng/testsuite/gprofng.display/mttest/mttest.c      |  2 +-\n- gprofng/testsuite/gprofng.display/synprog/endcases.c   |  4 ++--\n- gprofng/testsuite/gprofng.display/synprog/inc_inline.h |  2 +-\n- gprofng/testsuite/gprofng.display/synprog/synprog.c    |  4 ++--\n- 9 files changed, 14 insertions(+), 22 deletions(-)\n-\n-diff --git a/gprofng/common/cpuid.c b/gprofng/common/cpuid.c\n-index 891d5471335..b4caef54f57 100644\n---- a/gprofng/common/cpuid.c\n-+++ b/gprofng/common/cpuid.c\n-@@ -21,7 +21,9 @@\n- #if defined(__i386__) || defined(__x86_64)\n- #include <cpuid.h>  /* GCC-provided */\n- #elif defined(__aarch64__)\n-+#if !defined(ATTRIBUTE_UNUSED)\n- #define ATTRIBUTE_UNUSED __attribute__((unused))\n-+#endif\n- \n- static inline uint_t __attribute_const__\n- __get_cpuid (unsigned int op ATTRIBUTE_UNUSED, unsigned int *eax,\n-diff --git a/gprofng/libcollector/dispatcher.c b/gprofng/libcollector/dispatcher.c\n-index 4eda18ec324..6f0364cc52c 100644\n---- a/gprofng/libcollector/dispatcher.c\n-+++ b/gprofng/libcollector/dispatcher.c\n-@@ -1280,4 +1280,4 @@ __collector_ext_clone_pthread (int (*fn)(void *), void *child_stack, int flags,\n- // weak symbols:\n- int sigprocmask (int, const sigset_t*, sigset_t*) __attribute__ ((weak, alias (\"__collector_sigprocmask\")));\n- int thr_sigsetmask (int, const sigset_t*, sigset_t*) __attribute__ ((weak, alias (\"__collector_thr_sigsetmask\")));\n--int setitimer () __attribute__ ((weak, alias (\"_setitimer\")));\n-+__typeof(setitimer) setitimer __attribute__ ((weak, alias (\"_setitimer\")));\n-diff --git a/gprofng/libcollector/libcol_util.c b/gprofng/libcollector/libcol_util.c\n-index a73488e3f60..77dc886be22 100644\n---- a/gprofng/libcollector/libcol_util.c\n-+++ b/gprofng/libcollector/libcol_util.c\n-@@ -1427,15 +1427,6 @@ __collector_util_init ()\n-       err = COL_ERROR_UTIL_INIT;\n-     }\n- \n--  ptr = dlsym (libc, \"sysinfo\");\n--  if (ptr)\n--    __collector_util_funcs.sysinfo = (long (*)())ptr;\n--  else\n--    {\n--      CALL_UTIL (fprintf)(stderr, \"collector_util_init COL_ERROR_UTIL_INIT sysinfo: %s\\n\", dlerror ());\n--      err = COL_ERROR_UTIL_INIT;\n--    }\n--\n-   ptr = dlsym (libc, \"clearenv\");\n-   if (ptr)\n-     __collector_util_funcs.clearenv = (int(*)())ptr;\n-diff --git a/gprofng/libcollector/linetrace.c b/gprofng/libcollector/linetrace.c\n-index 66844bc1337..c81ae1a2272 100644\n---- a/gprofng/libcollector/linetrace.c\n-+++ b/gprofng/libcollector/linetrace.c\n-@@ -1527,7 +1527,7 @@ DCL_FUNC_VER (DCL_POSIX_SPAWNP, posix_spawnp_2_2, posix_spawnp@GLIBC_2.2)\n- DCL_POSIX_SPAWNP (posix_spawnp)\n- \n- /*------------------------------------------------------------- system */\n--int system () __attribute__ ((weak, alias (\"__collector_system\")));\n-+int system (const char *cmd) __attribute__ ((weak, alias (\"__collector_system\")));\n- \n- int\n- __collector_system (const char *cmd)\n-@@ -1582,10 +1582,10 @@ DCL_FUNC_VER (DCL_POPEN, popen_2_0, popen@GLIBC_2.0)\n- DCL_POPEN (popen)\n- \n- /*------------------------------------------------------------- grantpt */\n--int grantpt () __attribute__ ((weak, alias (\"__collector_grantpt\")));\n-+int grantpt (int fildes) __attribute__ ((weak, alias (\"__collector_grantpt\")));\n- \n- int\n--__collector_grantpt (const int fildes)\n-+__collector_grantpt (int fildes)\n- {\n-   if (NULL_PTR (grantpt))\n-     init_lineage_intf ();\n-@@ -1607,10 +1607,10 @@ __collector_grantpt (const int fildes)\n- }\n- \n- /*------------------------------------------------------------- ptsname */\n--char *ptsname () __attribute__ ((weak, alias (\"__collector_ptsname\")));\n-+char *ptsname (int fildes) __attribute__ ((weak, alias (\"__collector_ptsname\")));\n- \n- char *\n--__collector_ptsname (const int fildes)\n-+__collector_ptsname (int fildes)\n- {\n-   if (NULL_PTR (ptsname))\n-     init_lineage_intf ();\n-diff --git a/gprofng/src/collector_module.h b/gprofng/src/collector_module.h\n-index fd888cd58dd..6640f12fa3c 100644\n---- a/gprofng/src/collector_module.h\n-+++ b/gprofng/src/collector_module.h\n-@@ -107,7 +107,6 @@ typedef struct CollectorUtilFuncs\n-   int (*symlink)(const char *s1, const char *s2);\n-   int (*syscall)(int number, ...);\n-   long (*sysconf)(int name);\n--  long (*sysinfo)(int command, char *buf, long count);\n-   time_t (*time)(time_t *tloc);\n-   int (*unsetenv)(const char *name);\n-   int (*vsnprintf)(char *str, size_t size, const char *format, ...);\n-diff --git a/gprofng/testsuite/gprofng.display/mttest/mttest.c b/gprofng/testsuite/gprofng.display/mttest/mttest.c\n-index e0835c833e5..3db5b8d8e86 100644\n---- a/gprofng/testsuite/gprofng.display/mttest/mttest.c\n-+++ b/gprofng/testsuite/gprofng.display/mttest/mttest.c\n-@@ -171,7 +171,7 @@ void computeJ (workStruct_t *x);\n- void computeK (workStruct_t *x);\n- void addone (workCtr_t *x);\n- void init_arrays (int strat);\n--void dump_arrays ();\n-+void dump_arrays (hrtime_t real, hrtime_t cpu, int case_index);\n- void *do_work (void *v);\n- void thread_work ();\n- void nothreads (Workblk *array, struct scripttab *k);\n-diff --git a/gprofng/testsuite/gprofng.display/synprog/endcases.c b/gprofng/testsuite/gprofng.display/synprog/endcases.c\n-index a6a1389658a..6f1c83b6859 100644\n---- a/gprofng/testsuite/gprofng.display/synprog/endcases.c\n-+++ b/gprofng/testsuite/gprofng.display/synprog/endcases.c\n-@@ -40,8 +40,8 @@ static void s_inline_code (int);\n- void ext_inline_code (int);\n- \n- #ifndef NO_INLINE\n--void xinline_code () __attribute__ ((always_inline));\n--void s_inline_code () __attribute__ ((always_inline));\n-+void xinline_code (int) __attribute__ ((always_inline));\n-+void s_inline_code (int) __attribute__ ((always_inline));\n- #endif\n- \n- #include \"inc_inline.h\"\n-diff --git a/gprofng/testsuite/gprofng.display/synprog/inc_inline.h b/gprofng/testsuite/gprofng.display/synprog/inc_inline.h\n-index da42563c828..6600eacb66d 100644\n---- a/gprofng/testsuite/gprofng.display/synprog/inc_inline.h\n-+++ b/gprofng/testsuite/gprofng.display/synprog/inc_inline.h\n-@@ -19,7 +19,7 @@\n-    MA 02110-1301, USA.  */\n- \n- #ifndef NO_INLINE\n--void ext_inline_code() __attribute__ ((always_inline));\n-+void ext_inline_code(int) __attribute__ ((always_inline));\n- #endif\n- \n- void\n-diff --git a/gprofng/testsuite/gprofng.display/synprog/synprog.c b/gprofng/testsuite/gprofng.display/synprog/synprog.c\n-index cf1bc5b0909..05920dc7419 100644\n---- a/gprofng/testsuite/gprofng.display/synprog/synprog.c\n-+++ b/gprofng/testsuite/gprofng.display/synprog/synprog.c\n-@@ -528,14 +528,14 @@ reapchildren ()\n- int\n- doabort (int k)\n- {\n--  char *nullptr = NULL;\n-+  char *p = NULL;\n-   char c;\n- \n-   /* Log the event */\n-   wlog (\"start of doabort\", NULL);\n- \n-   /* and dereference a NULL */\n--  c = *nullptr;\n-+  c = *p;\n- \n-   /* this should never be reached */\n-   return (int) c;\n--- \n-2.50.1\n-\ndiff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host\nindex 0b264131e0..8032bfe005 100644\n--- a/package/binutils/Config.in.host\n+++ b/package/binutils/Config.in.host\n@@ -16,9 +16,6 @@ config BR2_BINUTILS_VERSION_ARC\n \tbool \"binutils arc (2.43)\"\n \tdepends on BR2_arc\n \n-config BR2_BINUTILS_VERSION_2_43_X\n-\tbool \"binutils 2.43.1\"\n-\n config BR2_BINUTILS_VERSION_2_44_X\n \tbool \"binutils 2.44\"\n \n@@ -33,7 +30,6 @@ endchoice\n config BR2_BINUTILS_VERSION\n \tstring\n \tdefault \"arc-2024.12-release\"\tif BR2_BINUTILS_VERSION_ARC\n-\tdefault \"2.43.1\"\tif BR2_BINUTILS_VERSION_2_43_X\n \tdefault \"2.44\"\t\tif BR2_BINUTILS_VERSION_2_44_X\n \tdefault \"2.45.1\"\tif BR2_BINUTILS_VERSION_2_45_X\n \tdefault \"2.46.0\"\tif BR2_BINUTILS_VERSION_2_46_X\ndiff --git a/package/binutils/binutils.hash b/package/binutils/binutils.hash\nindex 45668d88ed..df2613055a 100644\n--- a/package/binutils/binutils.hash\n+++ b/package/binutils/binutils.hash\n@@ -1,5 +1,4 @@\n # From https://gcc.gnu.org/pub/binutils/releases/sha512.sum\n-sha512  20977ad17729141a2c26d358628f44a0944b84dcfefdec2ba029c2d02f40dfc41cc91c0631044560d2bd6f9a51e1f15846b4b311befbe14f1239f14ff7d57824  binutils-2.43.1.tar.xz\n sha512  b85d3bbc0e334cf67a96219d3c7c65fbf3e832b2c98a7417bf131f3645a0307057ec81cd2b29ff2563cec53e3d42f73e2c60cc5708e80d4a730efdcc6ae14ad7  binutils-2.44.tar.xz\n sha512  ea030419eba387579ab717be7e3223fc99e93b586860b06003c12489f93441640d4082736f76aa5e98233db4f46e232f536a45e471486de1f5b64e1b827c167e  binutils-2.45.1.tar.xz\n sha512  32f880bb4f69351f4ae54a5d00359625c6c49d8e76624fb5cffdf174c79c8d3212f66225b81c12933c6ed59604ab652560773dd92fab384b930c97a9d4e1fdf2  binutils-2.46.0.tar.xz\n",
    "prefixes": [
        "3/3"
    ]
}