From nobody Wed Sep 18 03:19:54 2024 X-Original-To: freebsd-toolchain@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X7kRZ5sCWz52F23 for ; Wed, 18 Sep 2024 03:20:10 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic301-20.consmr.mail.gq1.yahoo.com (sonic301-20.consmr.mail.gq1.yahoo.com [98.137.64.146]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4X7kRZ1wVDz4rrX for ; Wed, 18 Sep 2024 03:20:10 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1726629607; bh=jnF3vDTGd00QHEjoobWZNWMlSbhtCCsbhpZXRrx6LEE=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=PbhMuvt98lr0n5p3r3TxfR14aPaSup8TBpeZA6yizvEMcgx3aKyXKJr++X7w2a0bfNOkk71SQmxL+kVMLuUfZMqKPVw44o9sTH5NzQ96ajJ3EiVc/62dyy8AjmoF1aM2wHAbTLK8RGz8F2wbhBBUYcM8otee5bTnODTjtee/Wq16F0vMssfLBDkqIubLbBsHc/lWumnYRaQMT4vo90ezQka3PuCkSoNRSVJH3q7QJVUs6r6PumQoxPz+JRJnEjdYUnkqY2acW+GTENTwoChQg0SQA0yVydA2kdcZ4sSCmvq3p71ykf8jaMWoqibGXu+G1EXZC7AxVY66LuM7901zwQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1726629607; bh=zW038VDi1LiWM+QHsG3ojWsRaVhtaargeW8KhKsNTCV=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=LmwTeCkFAQuz9nYD1aEHh0ZS76etg6ERkPj1FyzY/sRWiKOcpAJkM76F+81bASMbRLqXcqDV4gBjneuDsu6evKKMyo4OVjFDncxGMu/ClBUI6oFjsr16BqHldT8eFCTdknEmsDB+NJcvug7TVuwSC/duUrwCIB1QkQxHq9+03MG2fJjDOo8Fgffztd2bNilXMdgTFRIu3Ip37Ap92GD8+gaOyd1/NxfbLL06pYmD93Ga04a1/sRCN0E/ZYMVb912mkUmfu9oLCk5MTF9mTKTxcy+Qd7YfD9Wr8TCS345SqQLOCycAWrnTKs8vmy5TO1VzdJmAKLYVhmB8oMetkIRsQ== X-YMail-OSG: lE70BVkVM1k6gIbiz4GuCcIHOghLiZ4A0cZMp1T.PCaTNh.I37ZBG2rrHDVX5Vc xwHdgSWWILPbbVhqAyZCkjOhunsWqBZebLKtBTPyzhfesR2wPSxqCcFJiOsqwYaPoyDQHIMnWHXJ r6iMSanAgzR6BRgr3hNDw4YOqi7q5fDXxVKO9yZjA2ejBVn07xFSTSQ1b_xU5ElQWRAaPr_9akFf 7NFfGuaqW4CqzhQYXpyVgqw4Bj.42mitGCtRtvpot_.IlcYv_V_cMU1Ch9DJmb_9bt.JGdQ_rlgg Ov4molZUFNSSg5AXNTijx8j4lSq59NcSx3EKckDuDdsuiS8rw42F5WEmLXXInJvDvyops50KWPJb yK6esHudTjsHXv3hchNjPoXRCktjpnF2VZNtTbf60RoFE.mvc3HG0t7kHVbiNMTW1egjbUUzDGmV 8ajbQZXoc3nj1QJB3mXMV6Mycs.J4t7b9l2MxK6Y6WKhkI_c5KuZkpd2MZaupukwggaS52YoKNdD epyw2En6H7glMRB9FBBID7sq2HjtXNF62eJqcDYsxfF0C_v7KsOv3vec6uPTuUby8LQuB32A0XgT XfMXzJPfdyW7mgC.FGruymWa8u0TtJ3wsFRW6H6aG63CqAwl.jJIHQGFHLyooDvetFa_FO3HCiXj IKKCn0JTWaAjMGmkVAH.XPaKE_x11NaAuRszeCA8srLJA_crPIdNGaiB_QRxKbMgj13XT.q1Bcr8 72vg3JD2OTkEU.n9FwcLW.0ZkTto5UR0GoFL.ptwv1deGxTKD7stSp7RAJFUHx1DG.nmru6B4IDL w8_rvenXR091v5ouPawh3yECiYnIvR9CqgMx0dD5OXNmK_Z4y1UUmtxyuw6jBT1HRK1pGnioHVKz 32DBn0DTWPz4f7eFwLOtHT5YApP5Yh5UQECwV_5_13d.SBNliM.puDp1QpitxrVBsD5wLFlzGPOV jMhK_JZ2v1J3bQBxJuBIXXIHr3chSesLLQzAFo.mm.njl7XXCxH3_v17GKt5OQ33bJ_hJYLzRjaZ TtX13nc_3brPYOiJqdKC1of_rxxKg.oZ3vEUBfymu2p1HeOBSmosyDchoZB38Y7iCq2M4jRtS7yl FC7_bASf54no6T3zfQuegLIWjYVXrJnUjtfKtAZratrcKbxFZ.0y6U3P0EW5r1vc3d4XKydyUzqu VfHVl5rSgufpDduaRSiAjGF287gx.hHuLVo3UoZtdFHj8yKTLUa_egQnb7iR8kjKvFbrWpTpUhBE BK0PM1FypTYDbqOy.6u7HxLze5dwQk1z1_Pk_BKIwLQDRLArp0s1McJPWdbO9Ovfm1wWoByDSmE_ Q5RdbK8ODQI4Mfu0i_bNlQ5TUw_32qIN9f7GG7Ax2aGZ4n6BSa3RBsf6bVQ.qa7aCdL91F5KUnjy GCQFgfoiqx21lv8AVWBxG5oOZUvD8sHcG2R68YW2ucI1cloMYX_GBnqEdSvjjihIJD5JzaPuJICX mnF2DtjIR199vYRmcLQAD83RZmcazPaunotoBknSGNYRYZSQee6eh9ND7es3bj_EHeNF.Qxhcpo9 wjJQT6rQ.hXI4WyBQl21H2DfIPtDwFPo3wVj6yKzIXHSJDvPGbZpLxuGMjyFBub0ZFGGMK2DL5Ru xJMcULhNu7FnkmSeE474TkfTOo.IFZY0ymfd3sLQ5o63Rgl4R9faidXKVEJKuxKT8csW8juWkOmA n3tM1Kv8EGjxf.CU8TrRnUdBUA03iLTzHB8Ef1cHxDsfX2kR4qv2rimnTAtKHMjr2GwNPYNCbWa9 s9BDhPbqq3q14kDLILK4XRD8AHzh2cBX6DLpSkvK69i4Mk318Z5B8X0zFd5.MEmLrbGgkoppfUec ph1mXsEk5JzUdcoOIGBmF7ok_JcxAdaNMAoLKA_PFfbqso8k8eEPE8sBbk82kaJUiTg7EBYICw7w BWm.i4KgNPd0E5sNE.1k5etxJ97UmP80ZQQuXc9aijdmngWKNk77iGUBFgUWNGDQXh5lOvTh4sap LnvVyrZJiiseuS6MLfmH0ofvmkcnqtOqiUl1hD7_G2aq.jiRA_f0HYl7adWlP2Q_TOvtKdbJBaNk kanFCXFzsykppc0ssRYIqtsRXnsKlykp5X08bRWBykgTQkIQ.MlzSFkxx7gzyC3Loqi2GvYXtWSr .IclOJdgaPSvKzuPlVXLHPUkPjdzBlGlj6r6PXW3Ot5EcViOOtUmffYmMtpnEojMk6sdfD.rqTm3 NTjg3V6ZBBZkF_RH7IMeTK2ko40t5VKxa2.UoJUe6uQk88XZVls1ZMEFQPsgs22Y7ZfgKiFt8wbu WoL1AJzgvTb1e44ZKrgKcP36X893fYph2aSswfJgNUA-- X-Sonic-MF: X-Sonic-ID: dd3185cf-eefa-4559-86c2-bdb7d72429ba Received: from sonic.gate.mail.ne1.yahoo.com by sonic301.consmr.mail.gq1.yahoo.com with HTTP; Wed, 18 Sep 2024 03:20:07 +0000 Received: by hermes--production-gq1-5d95dc458-4tw7n (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID a693d42011b7fe54cddb482bfc70e291; Wed, 18 Sep 2024 03:20:05 +0000 (UTC) Content-Type: text/plain; charset=us-ascii List-Id: Maintenance of FreeBSD s integrated toolchain List-Archive: https://lists.freebsd.org/archives/freebsd-toolchain List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-toolchain@freebsd.org Sender: owner-freebsd-toolchain@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3776.700.51\)) Subject: Re: official lang/gcc14 package builds are broken, at least for armv7: "error: attempt to use a poisoned identifier" and more From: Mark Millard In-Reply-To: Date: Tue, 17 Sep 2024 20:19:54 -0700 Cc: FreeBSD Toolchain , FreeBSD Mailing List , Lorenzo Salvadore , Brooks Davis , fuz@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <44F55AB3-D1C3-4171-9EE7-C852EBF2055C.ref@yahoo.com> <44F55AB3-D1C3-4171-9EE7-C852EBF2055C@yahoo.com> To: Dimitry Andric X-Mailer: Apple Mail (2.3776.700.51) X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US] X-Rspamd-Queue-Id: 4X7kRZ1wVDz4rrX On Sep 17, 2024, at 11:40, Dimitry Andric wrote: > This is because of gcc's weird identifier poisoning system, and them = not correctly marking all used standard C++ headers for inclusion before = the poisoning takes place. >=20 > Try the attached patch, which I have been using for a long time now = (months, at least since the bootstrap options were deleted, but which I = reverted locally). >=20 > -Dimitry >=20 > >=20 >> On 17 Sep 2024, at 16:24, Mark Millard wrote: >>=20 >> Also: no member named 'fancy_abort' in namespace 'std' >>=20 >> Such is associated with not using STANDARD_BOOTSTRAP for armv7, given = GCC's historic lack of keeping builds of everything working for just = direct use of clang++/libc++ or the like. >>=20 >> The specific change that got back into this issue was: >>=20 >> -LANGUAGES:=3D c,c++,objc,fortran >> +LANGUAGES:=3D c,c++,objc,fortran,jit >>=20 >> It is the jit part of the build that fails to build as stands. >>=20 >> See: >>=20 >> = https://pkg-status.freebsd.org/ampere2/data/main-armv7-default/p13f486017d= 78_s3df987c99/logs/errors/gcc14-14.2.0_1.log >>=20 >> Example: >>=20 >> In file included from = /wrkdirs/usr/ports/lang/gcc14/work/gcc-14.2.0/gcc/jit/dummy-frontend.cc:23= : >> In file included from = /wrkdirs/usr/ports/lang/gcc14/work/gcc-14.2.0/gcc/jit/jit-playback.h:24: >> In file included from /usr/include/c++/v1/string:594: >> In file included from = /usr/include/c++/v1/__memory_resource/polymorphic_allocator.h:20: >> In file included from /usr/include/c++/v1/tuple:1455: >> In file included from /usr/include/c++/v1/exception:82: >> /usr/include/c++/v1/__exception/exception_ptr.h:111:3: error: no = member named 'fancy_abort' in namespace 'std'; did you mean simply = 'fancy_abort'? >> 111 | std::abort(); >> | ^~~~~ >> /wrkdirs/usr/ports/lang/gcc14/work/gcc-14.2.0/gcc/system.h:808:13: = note: 'fancy_abort' declared here >> 808 | extern void fancy_abort (const char *, int, const char *) >> | ^ >> In file included from = /wrkdirs/usr/ports/lang/gcc14/work/gcc-14.2.0/gcc/jit/dummy-frontend.cc:23= : >> In file included from = /wrkdirs/usr/ports/lang/gcc14/work/gcc-14.2.0/gcc/jit/jit-playback.h:26: >> In file included from /usr/include/c++/v1/vector:325: >> In file included from = /usr/include/c++/v1/__format/formatter_bool.h:20: >> In file included from = /usr/include/c++/v1/__format/formatter_integral.h:35: >> /usr/include/c++/v1/locale:288:32: error: attempt to use a poisoned = identifier >> 288 | __status =3D (unsigned char*)malloc(__nkw); >> | ^ >> /usr/include/c++/v1/locale:1385:24: error: attempt to use a poisoned = identifier >> 1385 | __ob =3D (char_type*)malloc(2 * static_cast(__nc) * = sizeof(char_type)); >> | ^ >> /usr/include/c++/v1/locale:2429:31: error: attempt to use a poisoned = identifier >> 2429 | _Tp* __t =3D (_Tp*)std::realloc(__owns ? __b.get() : 0, = __new_cap); >> | ^ >> /usr/include/c++/v1/locale:2632:24: error: attempt to use a poisoned = identifier >> 2632 | __h.reset((char*)malloc(static_cast(__wn - __wb.get() = + 2))); >> | ^ >> /usr/include/c++/v1/locale:2910:28: error: attempt to use a poisoned = identifier >> 2910 | __hd.reset((char_type*)malloc(static_cast(__n) * = sizeof(char_type))); >> | ^ >> /usr/include/c++/v1/locale:2936:28: error: attempt to use a poisoned = identifier >> 2936 | __hw.reset((char_type*)malloc(__exn * sizeof(char_type))); >> | ^ >> /usr/include/c++/v1/locale:2974:27: error: attempt to use a poisoned = identifier >> 2974 | __h.reset((char_type*)malloc(__exn * sizeof(char_type))); >> | ^ >>=20 In my environment (that somewhat predates the change that made the ampere2 based build fail), I set up a poudriere-devel test for lang/gcc14 ( not lang/gcc14-devel ): # poudriere ports -l PORTSTREE METHOD TIMESTAMP PATH default null 2021-04-18 02:05:47 /usr/ports # ~/fbsd-based-on-what-commit.sh -C /usr/ports/ d13cce06daa6 (HEAD -> main, freebsd/main, freebsd/HEAD) = graphics/gmic-qt: Update to 3.4.1 Author: Jason E. Hale Commit: Jason E. Hale CommitDate: 2024-09-02 04:05:53 +0000 branch: main merge-base: d13cce06daa6361cdbd6b97b768ab80aa60b8677 merge-base: CommitDate: 2024-09-02 04:05:53 +0000 n675562 (--first-parent --count for merge-base) (Note: I've made no commits.) # git -C /usr/ports/ status lang/gcc14 On branch main Your branch is up to date with 'freebsd/main'. Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git restore ..." to discard changes in working directory) modified: lang/gcc14/Makefile Untracked files: (use "git add ..." to include in what will be committed) lang/gcc14/files/patch-gcc_jit_dummy-frontend.cc lang/gcc14/files/patch-gcc_jit_jit-builtins.cc lang/gcc14/files/patch-gcc_jit_jit-playback.cc lang/gcc14/files/patch-gcc_jit_jit-recording.cc lang/gcc14/files/patch-gcc_jit_libgccjit.cc no changes added to commit (use "git add" and/or "git commit -a") (Note, below the whitespace details might not be preserved, so the text is only suggestive.) # git -C /usr/ports/ diff lang/gcc14 diff --git a/lang/gcc14/Makefile b/lang/gcc14/Makefile index 53bac89a7f14..17029847fa7c 100644 --- a/lang/gcc14/Makefile +++ b/lang/gcc14/Makefile @@ -73,7 +73,7 @@ CONFIGURE_TARGET=3D = x86_64-portbld-${OPSYS:tl}${OSREL} CONFIGURE_ARGS+=3D --with-abi=3Delfv2 .endif =20 -LANGUAGES:=3D c,c++,objc,fortran +LANGUAGES:=3D c,c++,objc,fortran,jit TARGLIB=3D ${PREFIX}/lib/gcc${SUFFIX} TARGLIB32=3D ${PREFIX}/lib32 # The version information is added = later LIBEXEC=3D ${PREFIX}/libexec/gcc${SUFFIX} And, from the content of your patch: # head -30 /usr/ports/lang/gcc14/files/patch-gcc_jit_*.cc =3D=3D> /usr/ports/lang/gcc14/files/patch-gcc_jit_dummy-frontend.cc <=3D=3D= --- gcc/jit/dummy-frontend.cc.orig 2024-01-14 22:32:46 UTC +++ gcc/jit/dummy-frontend.cc @@ -18,6 +18,8 @@ along with GCC; see the file COPYING3. If not see . */ =20 #include "config.h" +#define INCLUDE_STRING +#define INCLUDE_VECTOR #include "system.h" =3D=3D> /usr/ports/lang/gcc14/files/patch-gcc_jit_jit-builtins.cc <=3D=3D --- gcc/jit/jit-builtins.cc.orig 2024-01-14 22:32:46 UTC +++ gcc/jit/jit-builtins.cc @@ -18,6 +18,8 @@ along with GCC; see the file COPYING3. If not see . */ =20 #include "config.h" +#define INCLUDE_STRING +#define INCLUDE_VECTOR #include "system.h" #include "coretypes.h" #include "target.h" =3D=3D> /usr/ports/lang/gcc14/files/patch-gcc_jit_jit-playback.cc <=3D=3D --- gcc/jit/jit-playback.cc.orig 2024-01-14 22:32:46 UTC +++ gcc/jit/jit-playback.cc @@ -20,6 +20,8 @@ along with GCC; see the file COPYING3. If not see =20 #include "config.h" #define INCLUDE_MUTEX +#define INCLUDE_STRING +#define INCLUDE_VECTOR #include "libgccjit.h" #include "system.h" #include "coretypes.h" =3D=3D> /usr/ports/lang/gcc14/files/patch-gcc_jit_jit-recording.cc <=3D=3D= --- gcc/jit/jit-recording.cc.orig 2024-01-14 22:32:46 UTC +++ gcc/jit/jit-recording.cc @@ -20,6 +20,8 @@ along with GCC; see the file COPYING3. If not see =20 #include "config.h" #define INCLUDE_SSTREAM +#define INCLUDE_STRING +#define INCLUDE_VECTOR #include "system.h" #include "coretypes.h" #include "tm.h" =3D=3D> /usr/ports/lang/gcc14/files/patch-gcc_jit_libgccjit.cc <=3D=3D /jit/libgccjit.cc.orig 2024-01-14 22:32:46 UTC +++ gcc/jit/libgccjit.cc @@ -20,6 +20,8 @@ along with GCC; see the file COPYING3. If not see =20 #include "config.h" #define INCLUDE_MUTEX +#define INCLUDE_STRING +#define INCLUDE_VECTOR #include "system.h" #include "coretypes.h" #include "timevar.h" The result for poudriere bulk lang/gcc14 was: [00:06:55] [01] [00:00:00] Building lang/gcc14 | gcc14-14.2.0 [00:28:00] [01] [00:21:05] Finished lang/gcc14 | gcc14-14.2.0: Success = ending TMPFS: 1.61 GiB So it looks like adding your files/patch-gcc_jit_*.cc files to lang/gcc14 would allow the ampere2 builds of lang/gcc14 for armv7 to work without use of STANDARD_BOOTSTRAP (at least for now). ( The "ending TMPFS: . . . GiB" is something I add to poudirere for helping to find packages that I might want to add to TMPFS_BLACKLIST .) The context has: # poudriere jail -jmain-armv7 -i Jail name: main-armv7 Jail version: 15.0-CURRENT Jail arch: armv7 Jail method: pkgbase Jail mount: /usr/local/poudriere/jails/main-armv7-poud Jail fs: Jail updated: 2024-08-27 21:47:56 Jail pkgbase: disabled The pkgbase system for the jail is from the official materials at the time it was last updated. It is not my personal world build at all. Thanks, Mark =3D=3D=3D Mark Millard marklmi at yahoo.com