From nobody Fri Jul 16 18:26:28 2021 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 3986A8D7084 for ; Fri, 16 Jul 2021 18:26:36 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic315-54.consmr.mail.gq1.yahoo.com (sonic315-54.consmr.mail.gq1.yahoo.com [98.137.65.30]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4GRKSq2hXGz3tnb for ; Fri, 16 Jul 2021 18:26:35 +0000 (UTC) (envelope-from marklmi@yahoo.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1626459993; bh=xZ6QdTcktI8uXCj2krWz2C3n2DTZ/MFuGlerGVgQar0=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=qxi7rOCZptBA2FDg2R1mJ7d0HZy42CEbjXG6PcylW1aaXY+L8AerKHu7/Dd4BQN3Itt3EtrXBdUMy8gfvR4JMrLGBgKz5nLag3gTKN1V6c/fe2LsnWrcmt31IbXyDa0ZTW1HY5PHak3dzPYiYrI1JG6FfDFQAhBYCFcJ74ux6muQwzClLSvxvH9OrFUiRXFczi6mdcX7UJxciNWqFJrUqlsOHiBJJf0BcmVGheVovscNTLNL9gB9DtB3pAuKoZN8WWzo92EO+LF4E7H56je3KJbRxT3LJ9K6t183Lltgo6wdUoUE0B23NnDGkwJjhf0NO4mpakpfUFNGKYKIs6bsMQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1626459993; bh=+etpfyLHbNCOJ6PWDEDSjKDa0ao7XUcAqLidg9qv3Wb=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=C/QD8unspnJzsz9umQz8pcABzGVNB4ofx0/280b+1W5JDKnsoVTlZc/g4f4b+jOopzwC6XN7PClTo0WeSoGvPF9aXA6rbZwFj+xHFbO8cfhpurq0oGMynBSnGE0Ku1yUCPfMy3X8CcAzn3fkCW4a6TAO7Q2ZAD/HHNRRJf4NEN5Sk5HMyuuYSosIblVdo6YXoHX9leUjwPh+uAukhWeA6jyUanJLq2O24NCNMg7jP4v5s3xlysTH7qKKkFxqy7OMhOCZ0uNAAZNhcE7X02AXBP2PhM9+Xnn9fBUsSEI9/883UlEWreAq0RXzve+hMsBK9ZeRkpe+VWkeX9xK6GRH5A== X-YMail-OSG: aMr289IVM1k35wfIgkv3aDObUmZTshNBQrJTIV4CcdrFt3our4fM2zjSAyZe2Gp fiX2Q7x2VGAbuIWuGUw3.voHXkV6QywecVRpw7_FHmQ7_lGmR3UvEgRSXwpdpf8T0GFCmVFtE6Ga .CnHLbt6FhYJ07U04SmW86V.lAoFh6fDSqsH6.3543XwPdQtbvZfSZcwUREjQsh7A6H2dFIBtLdg Y5ljdE3VP49xLs0SmrDSj8Efvm5lqoedqA9oV5rewOO1Snrbt7XOJSh136LScJCGQyy.uiNOjoF3 8A4rrjR2kAIvqBUgjtjpQQbqH_YXbnISSXWngPZQq1MGOjg_.Lic3Vibq3YbPgHUUXbC9Q2RGHmX n9UVwonHScf2m5MibCX88h1nbZ34JWwOteTxYl3jYm.Di_CkUMXAKUCT.._9Xqkobexv89lA3dfb XTm6Xs7wT0YXMrrk5y9xF4kIWSgjaKQDfqTIXucZZBm3zQMwlgLihLPb6GfIK7oLlpmyErHHVBYT vrdt7XXsuO4uZP7_.mgxvlcQy.RaEwAmre6.c6.hRiHCMD87bGJraOJzvy1u1OFhn_SQcsdkO1By bfBGTFK2YVrGLmuyOSRM16oUt3AMpVZoE4lIADzAHHydpdCiPCP3wM.oNyX8aOn0Wvc8PZFutp8E buDLUrEebZKUUSbxAej70y.C5ggEOIJes60oWA49Nc_kPyzPC7z91zY.uOD2FGw4NLwKE5KqDGnh MLZVvdPw3OrLisMxRH4sG.zdgQikgjnUExg4mD7tbyImQJ5UnSsdo.cAO6aywq9167MnVIGFgnLP pmKu9kG0Fbyq9cTWoP_COUFhrxj2UuyN7A.KTtp__7E6ldzJOeBrXGNCKHRsckYCWFHT1j_Sxdet CvagIUmCWqm1bZkoP_958miqXqfH1X5U63bcBj.kaPzLxSmwZSW6l0MLUXxlnbpeYOGUthHfWfmw Hh9LFwE6bHs7jrAkmL1sK6wo9Fgi1SBylLkrNo3kIvZogz4ika_pfsl5puex_ms6aso7wYG9RHVu cGbYsBTa_b0OScpEKK68G3_NuKHIELtCCy0eM7oqFROkN3xMNGyAqC15qysUk323zPUI6fyTjdkT 41xZT7NuV4ZsZQr_neTYox1Rap1N28s4euQiVrUju8QpmsyQQ8vNHvI8f2GRe3edBV00UBojhUpB I9.7Y3ySU1evrC10yXpIsGGRlQPjLJcgsLxEK7XLvbnuoz4BgmHmv1u8EbsdmOY4S7fTWlx1N_Ai CBAnMbfg17ud27erNbiB2oXMTgF3bz3gqY8w__CwXG6a1a0t0tfUHRbywvLD1BPfyHU1puQHP.5r Qes4sENEHr4D4R9ia6ISy61ZJ7Nat507e7MXE21FbKBuZgCeGoHVsXESoHZIe1qgWhWATMKJIs3f v_ImznSFnUxrMw6YHZobTL7rQf8seyuKh4KiG6fcxRVWQFGkRyR98k__g8C4hCDluY_HuiT6U1mK vAnIQgZFsK5Nt6RVz1P2Fvter2hl6ZHRdPX93vosj9WpuaKY24bayc9QJiz49eXv8dYTn7tiKnZ2 CIBHs3aX9hIxYR7YtPIUUG09Ja4fGKOTVWzVs._03Ja5hbWWDdULl0Omf0pQAaT09o2h.UBDeB9. YdAiqQub2dUKY2Kq3z_mveF0_cytBe2Ywh3ZFwFPujSk39HaAMi7bQx2YUjdTYPUd.M7rJQ1kh8Z 2j0tH3nuArx2yoJ4R8smJSZgA.ey_Qlf5wRZYGHgdpXM_82vx8j6wT9ruWsQ4nUUhXVm.k5Gd8Am sqcgrK7XFjw11Jyvb4SP.Y7AAtCVRggcJ60dnKa4UTAEOgNHBK27IdFqY2Jd0xoi5yC0y2z1tanJ gsgsFcxATCTvYnKeSiJ7yqUVzwx3ZztCpzdaUdmLvrlM69k.2Xr3nbZwpt3tElgog47nzrthwVya Ox_n244D4TX29FkVo3c7_jrOdSEMIlhLsPqUR7oIhmTkesN6sh1ii8odkTTotSzbG1Ho72zD87IE 0VBNUAbrsTRL1m3yK1Mt2vf7Lkdiw5_L7QenngePCsCcV1nzMeiwTqIgqSoyp0zofz0KNwj0.YMt qJpVrgBH8VOZLUF4NSWxbhX3sumGqZQGYGd..IppWQO5u1ODdnQ0FixYjKEUawgsDj9h25MBT8a7 SCj4AFBUbwHa7mieWJR09el35zOoUsn_7xjdmjKts.LT6UQ2lej.gBVohZJxJwuf4pU7i9tYDEiK jxdduqbMtcml_LkrNxUGQeZ.fmvLp1Jn2ftt68MH9gFUTy2Zw1IaRWtjHK30iapjpMXsDVO9huRr 1gEAJMpaxAh9xN2.DhSJH_ycunhaSPfZmYsIY7g6YMhq7wdtIN2w5EVthtLMfTiEARyukCEdX.Uj sWCFmkUrMKFOWBB6vquEto34pQGb14.TAwRsNrzjthglY.vMAoVEK3yckDdYWejhmKgxjgGGJKcG k_idqRzq8dbFmQAsqgNOkur.IJLg6anphUM6o66OCnQmJcpLYb7L6qYHy3hadaCraU8l8IzPdvwf pIEuWbF2Mvjv98ZXoMYgaXf2bvolluiZxJTEoH5Ir1mvDyj8cUo9mcBXox5RjTVdgUynJsMy0I.p hbeOmGNd1Fk64zE4PX0TdxMTQJtI4tQ-- X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic315.consmr.mail.gq1.yahoo.com with HTTP; Fri, 16 Jul 2021 18:26:33 +0000 Received: by kubenode548.mail-prod1.omega.bf1.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID 6f9582280ddfb6f1cf3ca1275f4d9833; Fri, 16 Jul 2021 18:26:30 +0000 (UTC) Content-Type: text/plain; charset=us-ascii List-Id: Maintenance List-Archive: https://lists.freebsd.org/archives/freebsd-toolchain List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-toolchain@freebsd.org X-BeenThere: freebsd-toolchain@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.100.0.2.22\)) Subject: Re: Why is main's system clang (12.0.1-rc2) using /usr/local/bin/aarch64-unknown-freebsd14.0-ld ? (such breaks things) In-Reply-To: <3B5C7A3A-344F-4CC7-A50D-56E391D04E59@yahoo.com> Date: Fri, 16 Jul 2021 11:26:28 -0700 Cc: FreeBSD Toolchain Content-Transfer-Encoding: quoted-printable Message-Id: References: <7073D16F-4505-4948-8232-A9618DF2FE5F.ref@yahoo.com> <7073D16F-4505-4948-8232-A9618DF2FE5F@yahoo.com> <77803112-7C05-40EA-9A46-8A5EB419950C@FreeBSD.org> <3B5C7A3A-344F-4CC7-A50D-56E391D04E59@yahoo.com> To: Dimitry Andric X-Mailer: Apple Mail (2.3654.100.0.2.22) X-Rspamd-Queue-Id: 4GRKSq2hXGz3tnb X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=qxi7rOCZ; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.65.30 as permitted sender) smtp.mailfrom=marklmi@yahoo.com X-Spamd-Result: default: False [-3.48 / 15.00]; FREEMAIL_FROM(0.00)[yahoo.com]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; NEURAL_HAM_SHORT(-0.98)[-0.979]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; ARC_NA(0.00)[]; SUBJECT_HAS_QUESTION(0.00)[]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; NEURAL_HAM_MEDIUM(-1.00)[-0.999]; FROM_HAS_DN(0.00)[]; RBL_DBL_DONT_QUERY_IPS(0.00)[98.137.65.30:from]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; SPAMHAUS_ZRD(0.00)[98.137.65.30:from:127.0.2.255]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.65.30:from]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.65.30:from]; RCVD_COUNT_TWO(0.00)[2]; MAILMAN_DEST(0.00)[freebsd-toolchain] Reply-To: marklmi@yahoo.com From: Mark Millard via freebsd-toolchain X-Original-From: Mark Millard X-ThisMailContainsUnwantedMimeParts: N On 2021-Jul-16, at 04:15, Mark Millard wrote: > On 2021-Jul-16, at 03:23, Dimitry Andric wrote: >=20 >> On 16 Jul 2021, at 02:21, Mark Millard via freebsd-toolchain = wrote: >>> # c++ -v -o trivial trivial.cpp >>> FreeBSD clang version 12.0.1 (git@github.com:llvm/llvm-project.git = llvmorg-12.0.1-rc2-0-ge7dac564cd0e) >>> Target: aarch64-unknown-freebsd14.0 >>> Thread model: posix >>> InstalledDir: /usr/bin >>> "/usr/bin/c++" -cc1 -triple aarch64-unknown-freebsd14.0 -emit-obj = -mrelax-all --mrelax-relocations -disable-free -disable-llvm-verifier = -discard-value-names -main-file-name trivial.cpp -mrelocation-model = static -mframe-pointer=3Dnon-leaf -fno-rounding-math = -mconstructor-aliases -munwind-tables -target-cpu generic = -target-feature +neon -target-abi aapcs = -fallow-half-arguments-and-returns -fno-split-dwarf-inlining = -debugger-tuning=3Dgdb -v -resource-dir /usr/lib/clang/12.0.1 = -internal-isystem /usr/include/c++/v1 -fdeprecated-macro = -fdebug-compilation-dir /usr/home/root/c_tests -ferror-limit 19 = -fno-signed-char -fgnuc-version=3D4.2.1 -fcxx-exceptions -fexceptions = -faddrsig -o /tmp/trivial-5d90b5.o -x c++ trivial.cpp >>> clang -cc1 version 12.0.1 based upon LLVM 12.0.1 default target = aarch64-unknown-freebsd14.0 >>> #include "..." search starts here: >>> #include <...> search starts here: >>> /usr/include/c++/v1 >>> /usr/lib/clang/12.0.1/include >>> /usr/include >>> End of search list. >>> "/usr/local/bin/aarch64-unknown-freebsd14.0-ld" --eh-frame-hdr = -dynamic-linker /libexec/ld-elf.so.1 --enable-new-dtags -o trivial = /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o -L/usr/lib = /tmp/trivial-5d90b5.o -lc++ -lm -lgcc --as-needed -lgcc_s --no-as-needed = -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/crtend.o = /usr/lib/crtn.o >>=20 >> Yes, this is an unfortunate (and sometimes unwanted) side effect of = the >> way the clang driver searches for its linker(s). It prefers "target >> specific executables" (meaning, those beginning with the target = triple) >> above generic executables, when searching for linkers, assemblers and >> other external tools. >=20 > As far as I know the /usr/bin/clang++ related FreeBSD > toolchain never has a file aarch64-unknown-freebsd14.0-ld > in FreeBSD. (And similarly fr other suffices than ld.) >=20 > In other words, why is aarch64-unknown-freebsd14.0-ld > even listed in TargetSpecificExecutables for the system > toolchain's clang++ ? >=20 > I would argue that the default FreeBSD system toolchain > configuration/operation should be adjusted/patched to not > have automatic defaults that cause parts of that toolchain > to not be used even though they are present, just because > some unrelated/independent port(s) have been installed that > are a different toolchain. (Explicitly enabling/allowing > alternate matches may well be reasonable.) >=20 > As far as I know, there is no guarantee of compatibility > with the gcc/g++/gnu related toolchain, with the error > message that I reported being an example for attempted > -flto use. >=20 >> See the Driver::GetProgramPath() function: >> = https://github.com/llvm/llvm-project/blob/release/12.x/clang/lib/Driver/Dr= iver.cpp#L4981 >=20 > It looks like if there was an implcit/automatic -B /usr/bin > when /usr/bin/clang++ is the native FreeBSD toolchain one, > that the problem would be avoided. >=20 > But, as, stands, that has to be done explicitly on the > command lines in order to tell clang++ to use its own > related FreeBSD toolchain instead of using one from > ports. >=20 >> In short, if it finds aarch64-unknown-freebsd14.0-$TOOL in your PATH, = it >> will prefer that over $TOOL, even if the 'naked' $TOOL would be found = in >> an earlier PATH component. >>=20 >> For programs like ld, as and such, these will be found if you install >> the devel/binutils port with an arch-specific FLAVOR. In this case, I >> assume this was because you installed a CROSS_TOOLCHAIN package such = as >> freebsd9-gcc, or directly installed the aarch64-binutils package? >=20 > # pkg which /usr/local/bin/aarch64-unknown-freebsd14.0-ld > /usr/local/bin/aarch64-unknown-freebsd14.0-ld was installed by package = aarch64-binutils-2.33.1_4,1 >=20 > # pkg delete aarch64-binutils > Checking integrity... done (0 conflicting) > Deinstallation has been requested for the following 3 packages (of 0 = packages in the universe): >=20 > Installed packages to be REMOVED: > aarch64-binutils: 2.33.1_4,1 > aarch64-gcc6: 6.5.0_3 > aarch64-gcc9: 9.3.0_1 >=20 > Number of packages to be removed: 3 >=20 > The operation will free 278 MiB. >=20 > Proceed with deinstalling packages? [y/N]: N >=20 > So /usr/local/bin/aarch64-unknown-freebsd14.0-ld > exists because I built and installed: >=20 > devel/freebsd-gcc6@aarch64 > devel/freebsd-gcc9@aarch64 > devel/binutils@aarch64 >=20 >> Note that the native binutils package does not cause these problems, >> since it prefixes its tools with $arch-portbld-freebsd14.0. E.g., the >> 'vendor' field of the triple is set to "portbld", not "unknown". >>=20 >> I guess the flavored binutils packages do use the "unknown" vendor = field >> to avoid installation conflicts. But at some point this should be >> resolved: either all binutils ports should use the "portbld" vendor, = or >> all of them should use "unknown", but this mixing is causing trouble, = in >> my opinion. >=20 > It has been all portbld at times in the past. That mix is also a > problem. 3 distinct naming structures are needed, not just 2, in > order to prevent mixing from occurring without some form of > explicit request for a mix. Another command line way to potentially control this might be use of: -fuse-ld=3Dlld That might change the name looked for to: = aarch64-unknown-freebsd14.0-lld and not match any existing toolchains. =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)