From nobody Sun Feb 12 23:09:24 2023 X-Original-To: freebsd-hackers@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 4PFNTh5B2Sz3pMvV for ; Sun, 12 Feb 2023 23:09:44 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic310-22.consmr.mail.gq1.yahoo.com (sonic310-22.consmr.mail.gq1.yahoo.com [98.137.69.148]) (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 4PFNTg5D1rz3FKs for ; Sun, 12 Feb 2023 23:09:43 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=MqA6fUPI; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.69.148 as permitted sender) smtp.mailfrom=marklmi@yahoo.com; dmarc=pass (policy=reject) header.from=yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1676243381; bh=CidQYlmBmJbRsAuVJlF3nCLeIdxjS1rY4bjUCaRuFRs=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=MqA6fUPIgI/kCVTkNGpjX2TVDHbSS0YyMigRQRdVVJoP6lWX5b5mxxSW+d8GGy3DGX/VxVq43nT6/zU/0hZMeKjQXf7+QP02K5EzbcSxtrwRzdeTbTznqrgGrSZoPSE4gAukZQG3e/WxK2RMjR5bBSF5lRlEMACl+Is8YKcHUO7PYsxrTxxxHYRR+YK+YO5tJCrOSLNYKh1cxlTWSyIJHpXhztn4rkM267pAgRGPAf8F5gimBIG7UaSlFDLpomWfaPcuCg72USKVj70jpTm+pnJa/dI0upZUGzL6tHfUyaR7sbX4VbIWEUcPhQSqPBcNuxBpNUmDbFa+nbio8euLpA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1676243381; bh=FdAAgPOpCVSYuVOVJvWuNqSeqYYbtza3cx3qU/zUQf8=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=gA3T5mAKefhHxIs8dNanZNooPK6FbQgWjRzctxO54hfawJ8QbJi7eg+MRasyXTx4SV442W/q2uHvIOfh9EO6BaaNz3FQclSTDmOhryShBg4CDuHVOmz/sTSsmFESA1NCvDNO1RIK/v7oHeRq9BAo6jH1vB8Ce1+xrM/2fuEQS2dusj1AT9g1/i9J7SGxu0hBEgrWcEdU+RguuKrdHUeTq0qCNjec+nE/o9goNetRCjaMlszZ9JmTWG6fGkL8YiWFFR7fNDoctJgYCyW1G/ykLkqgQH6u+earme8bd8XODAlipB0+WY5PgLbECtJj8LHSw/xIIXPLKqSJuM5uo3w+qw== X-YMail-OSG: ZjIYSHoVM1kDLebvijvRDCRvX4ZjjkMIgxyHzqoT_xpRMJi_zmM9VidrQOVeyLK jY8b9sR5xIchdFvmNmDZ0EXD5YiHSbseHqGReJx2NMAh.BgYp9c5ouwFDEI99cr1gXNg.SgfxbKm rKddUHIP0k8MOAXgGTfYzGzewQkBJA1G4nWIvG_aCxFTUWblrjORVXXB0zVuky5M1R60VFAj_iww PBvuQwsoBtSKhcjGfNwPTQeIAwNGX36ekie4o4WImKkI_4_lRo4HcTDc5hE1BIRb8vsDb.1Np116 fiDvsFIx1_qFQV2veiJrZNCPwsGeWziy9.j4jBDcN1IvKkOZk0_GmEd2cnk9b11nFE_V4YttS0qZ I_cThN9uMi8GIHoy6Ps2gWjsrO0uMaDnsKOkHCNLu8nUbazkrkP5gTHqeqHsqJqIvdTEdEOu.zck ecoBQqJ.2bkQrnxIa6mCZdHPJERvK3oraWXxnaOS0QKtOE96LFT.FP5ssETvU3aLwwB4yLPx1d7g L4pjtlN5OCXuHeAvZCv3lXO3FJrossoTpCQAgl5xp97co3bQGqKyuTun0gtR58w8KbZrp.jLheN1 PFgUbMF0RXrjPvy3Ek49xlsiSJZoWW60zEuV.PIOgk9.ckGQtBMQOOg5O9S0IUqS0rnw6svPO58x C0Mzka_HaOUMtz9Q2fx1.SLc9T2zzZ7ZM4Gt35JT9kDZ9CzhYfsM18J0kp7eARp0Gp3OIGzrRV1d YCluREdvZu8l8oBjFI5Fo0oNh5aKWO7FM2lW_K5VoDt8OLWtFWZjMM56Hzhu2op4zb5iYz5qvmTZ TOLmAImx1W.YYIwNOADjQED7PrRkCpPIUO609rJUBAb_A8S8acJgfRYZjk6dDB7.t6CYYrJwHyEE GzWFR8g4qQOhjozY02Mnmbz92S_aPNdHp7aktbww1UPT_wtvrZJqQYq6BS.r_wSSv9PqmtnUTmd5 K8LXOCbvry6GJ542xn3bv4.BkQqiuLrTDZKeYCUi_ZrmLtr34xMdmouX9ar4yIqaBUaIAUIijR8k Eyx8.32zoE5Fk.yJbb7IqYB2fbMkGKAaldXvJACdobQPJO4zQaZr9oYA.TDgvtFhogXccaVhjF3R sF9uZqjuQDQ.ta6VSLBpw3UM6kh2vUUmIKjyhT.OjaaUsMZsTPJwLObjDQvP9CqDoF5FVl8Rk9R5 KJcK2MC5nRnTDw1FjXWp8qa8YiSf5hV.RFKrBwXci8sj0cDWnGKu0A94zJDSCRut4zgUE823nfWB GNfB9.ZxyuyM1EDx6pemEbfUFGeYVvPqejMKrJswA5DFwtjy4QQ18w8E4wim72KVwmcCUrk2QWNf DfEXdxLO_SFbtoyYsbM.vkfczZVwO4rUWBvm7FlQCaWfNQS.Gea5uhon18e0Z53sl1aepgCSq6Yx syrJlJFwszBcS2zbm1scSpvdJYhArmfj32YhPdpjbkjcX2tDUpK9uoBZaj_0Nkgw5yPQ9V5hkJCB VyvXCVBX0uz2Xun9bXfp5U5.bDJLC0LhvNJZPtJkh6QTCKhU3Oew4s1fvvEf7OpcCPyQ1jxwRrGu Rx0BErd4JYgEYGF6UWo5SVMUQzHAs00QFvc._zTRN8RpJCWBQx8Xxykp19Lln.nMVGA3XVdTbKGs NQbbomjzBwR_ME8tts.qfhKA1Sx1g26ZnIyBeH8M61mFBoseSIupoxOhN.3t3Uy2VhhFOStD65kR zRufB84_UM7tPkgnsWuK0MYb_YFHWZ7oH1KMaFeGZkMDeYneHWa2bLOhv2GABkQ8nPAAvl5mk9cl p9Ug7ApJILf0tzQ63mhT98Yp5Z8zvKBTY3il3q0IBMHbTUBQmfUvGcFMUULR5OGqShgSg62d5a.a aq7FZF_ZTDcar37WRFWx3GO6u9QblNJgHK19M2a0c6gPoTsseNHZfrN5dCHRbIWeqbU8x75KQSCo _mXXIW5kS1xZfqiGtInLqBIhxON.Gyx1XswhRL98fCiRtiASmJt6pJIaOlX5KZcMPzEoB69zl4gR _EC9cOtKbTJjRk9yWj4yeVod3ohXMl1m6wkpaQclhQiQqn0pZ7D.cKbLcHKK9b9oIg8h.Dm2AlM2 klw1iBm_SYnKK5mOzyXaLKuWStomTv2JlAWLHdAa0sGUd26TUA6pMa2aGVgQIoSGd6JsgoiJr5HF VteN0GasxgTgrADBLLiG4hjQU6Wy3kefMqVgK3Pl5xx_pQOkz5Hrp0f_eEVsy_1gbBWGKhIYoPRD 2e6PMB0pFWlpcgdQkcP2ai4w2MXFvhEpEVrfU6aQp1zbdC8.UAdtYJQ_AdhxpRYXLpm0.bNQeqk9 4SsM- X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic310.consmr.mail.gq1.yahoo.com with HTTP; Sun, 12 Feb 2023 23:09:41 +0000 Received: by hermes--production-bf1-57c96c66f6-7l94f (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 2b36145ab0194d295d0629b842c34bfc; Sun, 12 Feb 2023 23:09:37 +0000 (UTC) Content-Type: text/plain; charset=utf-8 List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.300.101.1.3\)) Subject: Re: CFT: snmalloc as libc malloc (the source_location issue) From: Mark Millard In-Reply-To: Date: Sun, 12 Feb 2023 15:09:24 -0800 Cc: FreeBSD Hackers , shawn.webb@hardenedbsd.org, Dimitry Andric Content-Transfer-Encoding: quoted-printable Message-Id: References: <22F8AD1A-C1F9-48FA-BCED-E165E2DA5260@yahoo.com> <1982263E-57E0-4709-AAB3-DBB4F75C7546@yahoo.com> <96652C51-EAB7-46C7-9039-557A5DCDAB75@yahoo.com> To: David Chisnall X-Mailer: Apple Mail (2.3731.300.101.1.3) X-Spamd-Result: default: False [-3.38 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.88)[-0.883]; MV_CASE(0.50)[]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; MIME_GOOD(-0.10)[text/plain]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; ARC_NA(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.69.148:from]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; RCVD_TLS_LAST(0.00)[]; MLMMJ_DEST(0.00)[freebsd-hackers@freebsd.org]; RCVD_COUNT_THREE(0.00)[3]; FREEMAIL_FROM(0.00)[yahoo.com]; TO_DN_SOME(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; MIME_TRACE(0.00)[0:+]; FROM_EQ_ENVFROM(0.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.69.148:from] X-Rspamd-Queue-Id: 4PFNTg5D1rz3FKs X-Spamd-Bar: --- X-ThisMailContainsUnwantedMimeParts: N [Previously noted in another exchange, I note the snmalloc source issue in reply to this message as well, to hopefully avoid confusions when someone reads this particular exchange.] On Feb 11, 2023, at 09:13, David Chisnall wrote: > On 10 Feb 2023, at 21:34, Mark Millard wrote: >>=20 >> # find / -name source_location -print | more >> = /usr/obj/DESTDIRs/main-amd64-chroot/usr/local/lib/gcc12/include/c++/experi= mental/source_location >> = /usr/obj/DESTDIRs/main-amd64-chroot/usr/local/lib/gcc12/include/c++/source= _location >> /usr/local/lib/gcc12/include/c++/experimental/source_location >> /usr/local/lib/gcc12/include/c++/source_location >>=20 >> So, none for FreeBSD and its llvm15. >>=20 >> This makes sense, https://libcxx.llvm.org/Status/Cxx20.html shows: >>=20 >> P1208R6 LWG Adopt source_location for C++20 Cologne Complete 16.0 >>=20 >> So, likely FreeBSD will not have this until it progresses to >> LLVM16 . It just changed to LLVM15 in main [so: FreeBSD 14]. >=20 > The include of source_location is guarded under an #if __has_include, I do not see such when I look at: = https://github.com/microsoft/snmalloc/blob/main/src/snmalloc/ds_core/defin= es.h What I see is version checking that is based on llvm15 and above having source_location : #if (defined(__GNUC__) && !defined(__clang__) && __GNUC__ >=3D 11) || \ (defined(__clang__) && __clang_major__ >=3D 15) # include . . . __clang_major__ >=3D 16 would be appropriate, based on: https://libcxx.llvm.org/Status/Cxx20.html Other tests, less dependent on version checking, might work instead. > it should be used only if it exists. If it doesn=E2=80=99t, there=E2=80= =99s a stub implementation. If you have GCC includes in your include = path, is it possible that it=E2=80=99s finding a source_location that is = then guarded behind a check for a compiler builtin that clang doesn=E2=80=99= t have? =3D=3D=3D Mark Millard marklmi at yahoo.com