Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.2/patches/2219850/?format=api
{ "id": 2219850, "url": "http://patchwork.ozlabs.org/api/1.2/patches/2219850/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/20260404234813.676699-2-sloosemore@baylibre.com/", "project": { "id": 17, "url": "http://patchwork.ozlabs.org/api/1.2/projects/17/?format=api", "name": "GNU Compiler Collection", "link_name": "gcc", "list_id": "gcc-patches.gcc.gnu.org", "list_email": "gcc-patches@gcc.gnu.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260404234813.676699-2-sloosemore@baylibre.com>", "list_archive_url": null, "date": "2026-04-04T23:48:12", "name": "[PUSHED,2/3] doc: Move Picolibc option documentation", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "3ed285edcfd8d05ef5d7da8147caeff3233d9f88", "submitter": { "id": 87955, "url": "http://patchwork.ozlabs.org/api/1.2/people/87955/?format=api", "name": "Sandra Loosemore", "email": "sloosemore@baylibre.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/20260404234813.676699-2-sloosemore@baylibre.com/mbox/", "series": [ { "id": 498754, "url": "http://patchwork.ozlabs.org/api/1.2/series/498754/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=498754", "date": "2026-04-04T23:48:11", "name": "[PUSHED,1/3] doc: Rename \"Submodel Options\"", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/498754/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2219850/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2219850/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "gcc-patches@gcc.gnu.org" ], "Delivered-To": [ "patchwork-incoming@legolas.ozlabs.org", "gcc-patches@gcc.gnu.org" ], "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=baylibre-com.20251104.gappssmtp.com\n header.i=@baylibre-com.20251104.gappssmtp.com header.a=rsa-sha256\n header.s=20251104 header.b=TG63Ei57;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)", "sourceware.org;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=baylibre-com.20251104.gappssmtp.com\n header.i=@baylibre-com.20251104.gappssmtp.com header.a=rsa-sha256\n header.s=20251104 header.b=TG63Ei57", "sourceware.org;\n dmarc=none (p=none dis=none) header.from=baylibre.com", "sourceware.org; spf=pass smtp.mailfrom=baylibre.com", "server2.sourceware.org;\n arc=none smtp.remote-ip=209.85.210.51" ], "Received": [ "from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fpC3p6JRwz1yFs\n\tfor <incoming@patchwork.ozlabs.org>; Sun, 05 Apr 2026 09:49:10 +1000 (AEST)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id C5BE14BA2E29\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 4 Apr 2026 23:49:08 +0000 (GMT)", "from mail-ot1-f51.google.com (mail-ot1-f51.google.com\n [209.85.210.51])\n by sourceware.org (Postfix) with ESMTPS id 65E524BA2E29\n for <gcc-patches@gcc.gnu.org>; Sat, 4 Apr 2026 23:48:25 +0000 (GMT)", "by mail-ot1-f51.google.com with SMTP id\n 46e09a7af769-7d556c1a79eso3801396a34.3\n for <gcc-patches@gcc.gnu.org>; Sat, 04 Apr 2026 16:48:25 -0700 (PDT)", "from nenufar.hsd1.co.comcast.net ([2601:281:d901:97c0::9a27])\n by smtp.gmail.com with ESMTPSA id\n 006d021491bc7-680a63c7fd1sm6100242eaf.8.2026.04.04.16.48.22\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Sat, 04 Apr 2026 16:48:23 -0700 (PDT)" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org C5BE14BA2E29", "OpenDKIM Filter v2.11.0 sourceware.org 65E524BA2E29" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 65E524BA2E29", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 65E524BA2E29", "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1775346505; cv=none;\n b=k1576qwa/OYIW4OWG1p7ty+1CVWLHqDG9J8rjCMx2zMJafEBaZ3Y0gS5GycvZrVU3U9InHGnVYxq8otBPzsso/qSHfguFZJ0/FiXaMGDwGrysnmEso2FNlrXQLBvm5F93jqry30R6tpuvRmuxR3BceiKNIq7Vw387RLj9duTLWI=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1775346505; c=relaxed/simple;\n bh=Tk7LtcaKrVt8yDOQVeOYF7SDwqA0UhsKSn4PUyBSq/Y=;\n h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version;\n b=cuL6xKJiP+YUx239gcs7q3A5d+IfFxjj/dUiw5jZVLrHg+SxY8gyAG7SJNInCuV2mym/2LSrzv3AawdJw+7RTSLuBNif9RiRJGFJlx9Uz27p8moF5ibLav6rB85JcKGDNCLCuF95rI46pYzijOkI+EcaEfBUh2HIBX5uP6eOm6I=", "ARC-Authentication-Results": "i=1; server2.sourceware.org", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=baylibre-com.20251104.gappssmtp.com; s=20251104; t=1775346504;\n x=1775951304;\n darn=gcc.gnu.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:to:from:from:to:cc:subject:date:message-id\n :reply-to; bh=jGEeLZTuPvfk5FW3o7x2NgUiqoA+ZVqrfZzElBn5z3A=;\n b=TG63Ei57xqgOl2Q84JyIyAjgpByDIpJ94h9gzcUFmPNRIwvPcrQz+YoXDaDSiK1Pto\n ecnyVPAw/nd7vE6AAIKuLLNdzJEfmFBCTs6093/XzQwRC0GeB13d4b/uuI6eotfWf1Nz\n cy4eiHlmbcDo7keHthSMNkW8dyyQ0mVmhXY30U3RfysnE3p7xIkgP4uQRtztImF18LM/\n JVSDim8br++2PpZSRexVZ93Irn+jXuP0q6QwTTUb9Bm8hxMFdVbEoXzWq2uJlcMR6wBI\n Trcz2EJogjdBSNBEwuSI3ukaIqYratZ1IPrH3WX6qrZODbm9slyEroUx1QXcvO4qAEi6\n O1qA==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1775346504; x=1775951304;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to\n :cc:subject:date:message-id:reply-to;\n bh=jGEeLZTuPvfk5FW3o7x2NgUiqoA+ZVqrfZzElBn5z3A=;\n b=R/kQJ6KT6KUZdD9E1UrVoSrwFT/3q/Rxp257ID9yXt9/9xgo8UeBAjxcJYzadCoiev\n 4MjmOuYBKRHnx7vmSsYeRNC+84UHxchk0aO8strgY9pWOI7IcEgokxXwNfhFQm+jGwDF\n 9QeGlNrrmm6QqVBo1zd5cvZPMTvEDl0bFEKyGicj5XjuLwXzcyXgLpiv3feXvD4NgMBO\n 6EYwl61QTLBCD1CGJvhkvYfjfv0PQqSJ7DS3fWyveZTzRkUZ26B4B1PXUzx+HFg1MOlc\n 8vAd2Ote5MEoAw42FlYD6sVuAVVrY8bu291sujSUXXcn19OpYK5u7aUHEuBv+RATD7Hk\n zvnA==", "X-Gm-Message-State": "AOJu0YxEoqC8ik+5Qm2zuKKuA6QuHLYdrMQ5FqMYoSHK+cPLTFRw02y+\n sVtOa/fdQNGt7gx2KtZMuPc+RAW2ty2vOqDEX/ZKU9XnwKQaxHXst7HqdDIarIfFnVBa2KcBNmc\n Z649t", "X-Gm-Gg": "AeBDieuv3oXOVtIUjvXzb2hSzHrFU4S/T5IzsZUv5xdSs2aBoT7jqZgUonmDxvvNNdf\n eCmkWLHgmAgN/mguX79/nVIHwl4eyFSzFXLGKABgt/S2qPXjF/XyLMcpJ02NinXS1Sy3RpUnjR2\n RitJVZ3+72f+2pEAYMIc1fpiYCJsUgKfsy/uW8HQ8BZWjA4dT1DYMWUJmbsbMmdemt1JY8AVQKT\n bFusbiL87eOA10YsKMCAMIqh/S+Jx5QAjiT/RTQX66jb9Q0LggSy2T8RzT05HyziZr+I2J6FRAD\n A38A4OnJ61dXageZX5lkvckZu9edHX7fhC4ltfpVwPHQmQcwvu/CbcDZNCnaRpfcV58L0ukRt5y\n rSxDFGe0JaOq+NRZxhaVmvG9+JHbcQ3g77bpooS37jy4fVAUgCteaCGqlI+YnBIGCYFpX1VSgoX\n ArDy1g/XZUDzFnLcfqER+a1so2ytwYizH2", "X-Received": "by 2002:a05:6820:180d:b0:67e:882:b04b with SMTP id\n 006d021491bc7-6821dd7801fmr4595659eaf.16.1775346504517;\n Sat, 04 Apr 2026 16:48:24 -0700 (PDT)", "From": "Sandra Loosemore <sloosemore@baylibre.com>", "To": "gcc-patches@gcc.gnu.org", "Subject": "[PUSHED 2/3] doc: Move Picolibc option documentation", "Date": "Sat, 4 Apr 2026 17:48:12 -0600", "Message-Id": "<20260404234813.676699-2-sloosemore@baylibre.com>", "X-Mailer": "git-send-email 2.34.1", "In-Reply-To": "<20260404234813.676699-1-sloosemore@baylibre.com>", "References": "<20260404234813.676699-1-sloosemore@baylibre.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "gcc-patches@gcc.gnu.org", "X-Mailman-Version": "2.1.30", "Precedence": "list", "List-Id": "Gcc-patches mailing list <gcc-patches.gcc.gnu.org>", "List-Unsubscribe": "<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>", "List-Archive": "<https://gcc.gnu.org/pipermail/gcc-patches/>", "List-Post": "<mailto:gcc-patches@gcc.gnu.org>", "List-Help": "<mailto:gcc-patches-request@gcc.gnu.org?subject=help>", "List-Subscribe": "<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>", "Errors-To": "gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org" }, "content": "The documentation for Picolibc options was inserted at the top level\nwithin the GCC options section. It really should be classified with\nthe target-specific options; that's where we document other options\nspecific to the runtime configuration, including MinGW, Darwin,\nGnu/Linux, etc.\n\ngcc/ChangeLog\n\t* doc/invoke.texi (GCC Command Options): Move Picolibc Options\n\tsection to Target-Specific Options.\n\t(Option Summary): Likewise.\n---\n gcc/doc/invoke.texi | 137 ++++++++++++++++++++++----------------------\n 1 file changed, 68 insertions(+), 69 deletions(-)", "diff": "diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi\nindex aab93f49e7a..68f0b3b2270 100644\n--- a/gcc/doc/invoke.texi\n+++ b/gcc/doc/invoke.texi\n@@ -164,7 +164,6 @@ listing and explanation of the binary and decimal byte size prefixes.\n * Link Options:: Specifying libraries and so on.\n * Directory Options:: Where to find header files and libraries.\n Where to find the compiler executable files.\n-* Picolibc Options:: Select compile and link options when using picolibc.\n * Code Gen Options:: Specifying conventions for function calls, data layout\n and register usage.\n * Developer Options:: Printing GCC configuration info, statistics, and\n@@ -798,11 +797,6 @@ Objective-C and Objective-C++ Dialects}.\n --no-canonical-prefixes --no-standard-includes\n --prefix=@var{prefix} --sysroot=@var{dir}}\n \n-@item Picolibc Options\n-@xref{Picolibc Options,,Options for use with Picolibc}.\n-@gccoptlist{--oslib=@var{library} --crt0=@r{[}none@r{|}minimal@r{|}hosted@r{|}semihost@r{]}\n---printf=@r{[}d@r{|}f@r{|}l@r{|}i@r{|}m@r{]} --scanf=@r{[}d@r{|}f@r{|}l@r{|}i@r{|}m@r{]}}\n-\n @item Code Generation Options\n @xref{Code Gen Options,,Options for Code Generation Conventions}.\n @gccoptlist{-fcall-saved-@var{reg} -fcall-used-@var{reg}\n@@ -1319,6 +1313,10 @@ Objective-C and Objective-C++ Dialects}.\n -mint32 -mint16\n -msplit -munix-asm -mdec-asm -mgnu-asm -mlra}\n \n+@emph{Picolibc Options} (@ref{Picolibc Options})\n+@gccoptlist{--oslib=@var{library} --crt0=@r{[}none@r{|}minimal@r{|}hosted@r{|}semihost@r{]}\n+--printf=@r{[}d@r{|}f@r{|}l@r{|}i@r{|}m@r{]} --scanf=@r{[}d@r{|}f@r{|}l@r{|}i@r{|}m@r{]}}\n+\n @emph{PowerPC Options}\n See RS/6000 and PowerPC Options.\n \n@@ -18928,69 +18926,6 @@ such a suffix.\n \n @end table\n \n-@node Picolibc Options\n-@section Options for use with Picolibc\n-@cindex picolibc options\n-@cindex options, picolibc\n-\n-These options control compilation and linking when using picolibc:\n-\n-@table @gcctabopt\n-@opindex oslib\n-@item --oslib=@var{library}\n-Search the library named @var{library} after the C library, permitting\n-symbols undefined by the C library to be defined by this library. The\n-C library, libgcc and this library are placed between\n-@option{--start-group} and @option{--end-group} flags so that each can\n-refer to symbols in the others. For many targets, picolibc provides a\n-@samp{semihost} variant (specified with @option{--oslib=semihost})\n-which provides enough basic OS functionality to support console and\n-file I/O when run in an emulator or when using an in-circuit debugger.\n-\n-@opindex crt0\n-@item --crt0=@r{[}none@r{|}minimal@r{|}hosted@r{|}semihost@r{]}\n-Replace the default @file{crt0.o} name with\n-@file{crt0-@var{variant}.o}. The @samp{none} variant provides no\n-startup code at all, allowing the user to supply their\n-own. @samp{minimal} performs basic memory setup but does not invoke\n-any constructors. When no @option{-crt0} option is provided, the\n-default initialization code adds calls to all\n-constructors. @samp{hosted} adds a call to @code{exit} when\n-@code{main} returns. @samp{semihost} accesses a command line parameter\n-supplied via the semihosting interface and splits that into arguments\n-at whitespace boundaries, passing the resulting array of strings to\n-main in @code{argc} and @code{argv}. On some targets, including\n-aarch64, arc, arm, loongarch, m68k, riscv, super-h and x86,\n-@samp{semihost} also traps hardware exceptions and prints information\n-to the console. Note that @option{--crt0=semihost} depends upon APIs\n-provided by @option{--oslib=semihost}.\n-\n-@opindex printf\n-@item --printf=@r{[}d@r{|}f@r{|}l@r{|}i@r{|}m@r{]}\n-Select the printf variant. Picolibc provides five different printf\n-variants which offer decreasing levels of functionality along with\n-decreasing code size. @samp{d} is the default level, offering full C17\n-and POSIX.1-2024 conformance. @samp{f} provides the same feature set,\n-but supports @code{float} values instead of @code{double} which are\n-passed using the @code{printf_float} macro. @samp{l} elides all\n-floating point and POSIX positional parameter support. @samp{i} limits\n-integers to those no larger than @code{long}. @samp{m} removes support\n-for most formatting options including width and precision. The formats\n-and arguments are still parsed correctly, but output does not respect\n-those parameters.\n-\n-@opindex scanf\n-@item --scanf=@r{[}d@r{|}f@r{|}l@r{|}i@r{|}m@r{]}\n-Select the scanf variant. Picolibc provides five different scanf\n-variants which offer decreasing levels of functionality along with\n-decreasing code size. @samp{d} is the default level, offering full C17\n-and POSIX.1-2024 conformance. @samp{f} removes support for\n-@code{double} values. @samp{l} elides all floating point\n-support. @samp{i} limits integers to those no larger than\n-@code{long}. @samp{m} removes support for @code{%[} conversion specifiers.\n-\n-@end table\n-\n @node Code Gen Options\n @section Options for Code Generation Conventions\n @cindex code generation conventions\n@@ -21258,6 +21193,7 @@ other compilers on the same platform.\n * Nvidia PTX Options::\n * OpenRISC Options::\n * PDP-11 Options::\n+* Picolibc Options::\n * PowerPC Options::\n * PRU Options::\n * RISC-V Options::\n@@ -30915,6 +30851,69 @@ Use the new LRA register allocator. By default, the old ``reload''\n allocator is used.\n @end table\n \n+@node Picolibc Options\n+@subsection Picolibc Options\n+@cindex picolibc options\n+@cindex options, picolibc\n+\n+These options control compilation and linking when using picolibc:\n+\n+@table @gcctabopt\n+@opindex oslib\n+@item --oslib=@var{library}\n+Search the library named @var{library} after the C library, permitting\n+symbols undefined by the C library to be defined by this library. The\n+C library, libgcc and this library are placed between\n+@option{--start-group} and @option{--end-group} flags so that each can\n+refer to symbols in the others. For many targets, picolibc provides a\n+@samp{semihost} variant (specified with @option{--oslib=semihost})\n+which provides enough basic OS functionality to support console and\n+file I/O when run in an emulator or when using an in-circuit debugger.\n+\n+@opindex crt0\n+@item --crt0=@r{[}none@r{|}minimal@r{|}hosted@r{|}semihost@r{]}\n+Replace the default @file{crt0.o} name with\n+@file{crt0-@var{variant}.o}. The @samp{none} variant provides no\n+startup code at all, allowing the user to supply their\n+own. @samp{minimal} performs basic memory setup but does not invoke\n+any constructors. When no @option{-crt0} option is provided, the\n+default initialization code adds calls to all\n+constructors. @samp{hosted} adds a call to @code{exit} when\n+@code{main} returns. @samp{semihost} accesses a command line parameter\n+supplied via the semihosting interface and splits that into arguments\n+at whitespace boundaries, passing the resulting array of strings to\n+main in @code{argc} and @code{argv}. On some targets, including\n+aarch64, arc, arm, loongarch, m68k, riscv, super-h and x86,\n+@samp{semihost} also traps hardware exceptions and prints information\n+to the console. Note that @option{--crt0=semihost} depends upon APIs\n+provided by @option{--oslib=semihost}.\n+\n+@opindex printf\n+@item --printf=@r{[}d@r{|}f@r{|}l@r{|}i@r{|}m@r{]}\n+Select the printf variant. Picolibc provides five different printf\n+variants which offer decreasing levels of functionality along with\n+decreasing code size. @samp{d} is the default level, offering full C17\n+and POSIX.1-2024 conformance. @samp{f} provides the same feature set,\n+but supports @code{float} values instead of @code{double} which are\n+passed using the @code{printf_float} macro. @samp{l} elides all\n+floating point and POSIX positional parameter support. @samp{i} limits\n+integers to those no larger than @code{long}. @samp{m} removes support\n+for most formatting options including width and precision. The formats\n+and arguments are still parsed correctly, but output does not respect\n+those parameters.\n+\n+@opindex scanf\n+@item --scanf=@r{[}d@r{|}f@r{|}l@r{|}i@r{|}m@r{]}\n+Select the scanf variant. Picolibc provides five different scanf\n+variants which offer decreasing levels of functionality along with\n+decreasing code size. @samp{d} is the default level, offering full C17\n+and POSIX.1-2024 conformance. @samp{f} removes support for\n+@code{double} values. @samp{l} elides all floating point\n+support. @samp{i} limits integers to those no larger than\n+@code{long}. @samp{m} removes support for @code{%[} conversion specifiers.\n+\n+@end table\n+\n @node PowerPC Options\n @subsection PowerPC Options\n @cindex PowerPC options\n", "prefixes": [ "PUSHED", "2/3" ] }