Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2217739/?format=api
{ "id": 2217739, "url": "http://patchwork.ozlabs.org/api/patches/2217739/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/yddwlytscsu.fsf@CeBiTec.Uni-Bielefeld.DE/", "project": { "id": 17, "url": "http://patchwork.ozlabs.org/api/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": "<yddwlytscsu.fsf@CeBiTec.Uni-Bielefeld.DE>", "list_archive_url": null, "date": "2026-03-30T12:48:49", "name": "wwwdocs: Mention GCC 16 Solaris changes and caveats", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "ba6fdacacf99f9ffd82776b4bf0a0aeb2705515d", "submitter": { "id": 4362, "url": "http://patchwork.ozlabs.org/api/people/4362/?format=api", "name": "Rainer Orth", "email": "ro@CeBiTec.Uni-Bielefeld.DE" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/yddwlytscsu.fsf@CeBiTec.Uni-Bielefeld.DE/mbox/", "series": [ { "id": 498024, "url": "http://patchwork.ozlabs.org/api/series/498024/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=498024", "date": "2026-03-30T12:48:49", "name": "wwwdocs: Mention GCC 16 Solaris changes and caveats", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/498024/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2217739/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2217739/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=cebitec.uni-bielefeld.de header.i=@cebitec.uni-bielefeld.de\n header.a=rsa-sha256 header.s=20200306 header.b=PW9xSo8n;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=38.145.34.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=cebitec.uni-bielefeld.de header.i=@cebitec.uni-bielefeld.de\n header.a=rsa-sha256 header.s=20200306 header.b=PW9xSo8n", "sourceware.org; dmarc=none (p=none dis=none)\n header.from=CeBiTec.Uni-Bielefeld.DE", "sourceware.org;\n spf=pass smtp.mailfrom=cebitec.uni-bielefeld.de", "server2.sourceware.org;\n arc=none smtp.remote-ip=129.70.160.84" ], "Received": [ "from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fkrgM4g98z1y1q\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 30 Mar 2026 23:49:51 +1100 (AEDT)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 88A2D4BA2E3B\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 30 Mar 2026 12:49:49 +0000 (GMT)", "from smtp.CeBiTec.Uni-Bielefeld.DE (smtp.CeBiTec.Uni-Bielefeld.DE\n [129.70.160.84])\n by sourceware.org (Postfix) with ESMTPS id B62994B920C5\n for <gcc-patches@gcc.gnu.org>; Mon, 30 Mar 2026 12:48:51 +0000 (GMT)", "from localhost (localhost.CeBiTec.Uni-Bielefeld.DE [127.0.0.1])\n by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTP id AA6DBDB28A;\n Mon, 30 Mar 2026 14:48:50 +0200 (CEST)", "from smtp.CeBiTec.Uni-Bielefeld.DE ([127.0.0.1])\n by localhost (smtp.cebitec.uni-bielefeld.de [127.0.0.1]) (amavisd-new,\n port 10026)\n with ESMTP id 3or5b4uCjEKQ; Mon, 30 Mar 2026 14:48:50 +0200 (CEST)", "from manam.CeBiTec.Uni-Bielefeld.DE (p4fddbd74.dip0.t-ipconnect.de\n [79.221.189.116]) (Authenticated sender: ro)\n by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTPSA id E9DB5DAAFF;\n Mon, 30 Mar 2026 14:48:49 +0200 (CEST)" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org 88A2D4BA2E3B", "OpenDKIM Filter v2.11.0 sourceware.org B62994B920C5" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org B62994B920C5", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org B62994B920C5", "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1774874932; cv=none;\n b=kQLY9iGuheDz4WVY1hfcQ8Kjc6RCrV6DA1ps0BqEORp6qOFsEpVPyDc6Z3QrDr+M3FU2wjL8PkArVjDgJuUYTRJ+wjcB2UOMKsfkUSfxiQOrDInliRLm3e13aP/z4vIbQ21EaM7mSMFhB7uhbGk/t1ZZ7BpAq+iUcpTDReHimoU=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1774874932; c=relaxed/simple;\n bh=JOBbhhmlnpeD/ETT+HAmRV5FXpNNbFkDJUXVAjoOSvk=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=DPnu/hYSVyQeW7ntn3ZAW2IVs67jYiBJy0KVmEHDkMQheVEebKGgHsATNIvdlBt3frV7PK3NSo/DqvBL36AJhd2bHX1Wq0AByBJUr9ABYleXbatYekDjJxPDWgzWowjJx0GACy6KpctSdYSRtIIzVgGIU3xzCc8tlTMzgLDs8oQ=", "ARC-Authentication-Results": "i=1; server2.sourceware.org", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=\n cebitec.uni-bielefeld.de; h=content-type:content-type\n :mime-version:user-agent:message-id:date:date:subject:subject\n :from:from:received:received; s=20200306; t=1774874930; bh=JOBbh\n hmlnpeD/ETT+HAmRV5FXpNNbFkDJUXVAjoOSvk=; b=PW9xSo8nFT/wwihOwNguX\n 29c7PS6fAKNmUTiDdqtgwDJwVxkvKHie+jLPaNuKanQGpcEAKj4+iZflfQZzwDL2\n uBtAz/GTxFZytjPHZjI77L0J4kun2WlOEihZ0TiBUHutg6su013g0Ssj35k7J+Rt\n HPwmAr8W9CxSKXj5rsoyJZKqU5M7ExZjcmtr0rbY2ioUTZqQ1b7YxW8CHW6ACoPf\n xHpe9RBI1Wmvc0NFhsmMitB3oMZdTKNGIOjsktbC90vBY+Y60NtS39QYcQVSRi5H\n aehJue71QjJujrQgcaP8EEaCI2ErNb86+ZUW1L75FUX/nSzaEMT9AR+BZ+XPkvRP\n g==", "X-Virus-Scanned": "amavisd-new at cebitec.uni-bielefeld.de", "From": "Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>", "To": "gcc-patches@gcc.gnu.org", "Cc": "Sandra Loosemore <sloosemore@baylibre.com>,\n Gerald Pfeifer <gerald@pfeifer.com>, Jonathan Wakely <jwakely@redhat.com>", "Subject": "[PATCH] wwwdocs: Mention GCC 16 Solaris changes and caveats", "Date": "Mon, 30 Mar 2026 14:48:49 +0200", "Message-ID": "<yddwlytscsu.fsf@CeBiTec.Uni-Bielefeld.DE>", "User-Agent": "Gnus/5.13 (Gnus v5.13)", "MIME-Version": "1.0", "Content-Type": "multipart/mixed; boundary=\"=-=-=\"", "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": "This patch documents Solaris-specific changes in GCC 16 and resulting\ncaveats.\n\nOk for wwwdocs?\n\n\tRainer", "diff": "diff --git a/htdocs/gcc-16/changes.html b/htdocs/gcc-16/changes.html\n--- a/htdocs/gcc-16/changes.html\n+++ b/htdocs/gcc-16/changes.html\n@@ -30,7 +30,14 @@ a work-in-progress.</p>\n <!-- .................................................................. -->\n <h2>Caveats</h2>\n <ul>\n- <li>...</li>\n+ <li><code>int8_t</code> etc. is now <code>signed char</code> on Solaris\n+ for conformance with the C99 standard. However, this is an\n+ incompatible change. See <a href=\"porting_to.html#solaris\">the\n+ porting notes</a> for more information.</li>\n+ <li>The <code>-pthread</code> option no longer\n+ predefines <code>_REENTRANT</code> on Solaris.\n+ See <a href=\"porting_to.html#solaris\">the porting notes</a> for more\n+ information.</li></li>\n </ul>\n \n \n@@ -510,7 +517,12 @@ struct Affected : E\n \n <!-- <h3 id=\"rtems\">RTEMS</h3> -->\n \n-<!-- <h3 id=\"solaris\">Solaris</h3> -->\n+<h3 id=\"solaris\">Solaris</h3>\n+<ul>\n+ <li>GCC now supports the easy generation of Solaris CTF (Compact C Type\n+ Format) with the <code>-gsctf</code> option. More information can be\n+ found on the <code>ctf(5)</code> manual page.</li>\n+</ul>\n \n <!-- <h3 id=\"vxmils\">VxWorks MILS</h3> -->\n \ndiff --git a/htdocs/gcc-16/porting_to.html b/htdocs/gcc-16/porting_to.html\n--- a/htdocs/gcc-16/porting_to.html\n+++ b/htdocs/gcc-16/porting_to.html\n@@ -80,5 +80,44 @@ casting to <code>(void)</code>, or lower\n <code>-Wunused-but-set-*</code></a> documentation for more details.\n </p>\n \n+<h2 id=\"os\">Operating Systems</h2>\n+\n+<h3 id=\"solaris\">Solaris</h3>\n+<ul>\n+ <li>The <code>int8_t</code>, <code>int_fast8_t</code>,\n+ and <code>int_least8_t</code> types are defined as <code>char</code>\n+ on Solaris. While this sort of works because <code>char</code> is\n+ signed, it violates C99, 7.18.1.1, Exact-width integer types. This\n+ requires <code>int8_t</code> etc. to be signed integer types,\n+ which <code>char</code> is not. This standards violation repeatedly\n+ caused compile or runtime failures with C++ code, so GCC 16 changes\n+ these types in a private copy of\n+ the <code><sys/int_types.h></code> header. Unfortunately, this\n+ is an incompatible, ABI-breaking change, but considered rare enough\n+ for the benefit to outweigh the cost. The change causes the mangling\n+ of C++ functions taking <code>int8_t</code> arguments to change,\n+ resulting in link failures. To avoid this, it's best to recompile\n+ affected code bases with GCC 16. If this is not possible, the\n+ traditional types can be restored by\n+ predefining <code>_LEGACY_INT8_T</code>. This will also be necessary\n+ when linking with code created by either the Studio <code>CC</code>\n+ compiler with the\n+ non-default <code>-std=c++03</code>, <code>c++11</code>,\n+ or <code>c++14</code> options or <code>clang++</code> which still use\n+ the definitions from the unpatched Solaris headers.</li>\n+ <li>The <code>-pthread</code> and <code>-pthreads</code> options used to\n+ link with <code>libpthread</code> and define the preprocessor\n+ symbols <code>_REENTRANT</code> and\n+ <code>_PTHREADS</code>. However, in Solaris\n+ 10 <code>libpthread</code> has been folded into the Solaris C\n+ library. In Solaris 11.4 <code>_REENTRANT</code> is no longer\n+ used in system headers while <code>_PTHREADS</code> has long been\n+ unused, so both options are now silently ignored. In the rare cases\n+ that user code references them for its own purposes, it has to define\n+ those symbols themselves. Background information can be found\n+ on <a href=\"https://www.linker-aliens.org/blogs/ali/entry/mtreentrant/\">Goodbye\n+ (And Good Riddance) to -mt -and -D_REENTRANT</a>.</li>\n+</ul>\n+\n </body>\n </html>\n", "prefixes": [] }