From nobody Fri Feb 27 20:55:40 2026 X-Original-To: dev-commits-src-all@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 4fN0wR5gLCz6TFQn for ; Fri, 27 Feb 2026 20:55:51 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic305-21.consmr.mail.gq1.yahoo.com (sonic305-21.consmr.mail.gq1.yahoo.com [98.137.64.84]) (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 4fN0wR0TsYz3cKl for ; Fri, 27 Feb 2026 20:55:50 +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=1772225742; bh=3idFX0p5l0Kmq+7QjKEevF2hm/ITNr2KdtgEV6KeDfk=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=YBZMEd+Jt6z37JaBoD92wnl4r82osMyeIQxf1GvkmGHb8nxWjb27kgmMd+ykhmr3sRPaRWi9BDAGG6DOmyPgffRp6zjsN8q+radrVx0KSRcWQvK8apFQvEnuExy0lt+5kDYwcbM1Sadlx/X9ejEBRWGFFuKuO/uXblUqS4mTGWvrMB9qLhVx4RqGPuNa7jlQoY6z2W+zt8yhLWiO8EVLiLXTKHKsLwXZ1/g6qsG8mvZO38td66gVfmLYwDIAxkr9KTkKzwOtx8OF87lQJg7qWOKGHo4railqCXvvnHDLbbVifoeu0CpSn9RWNhlCDB9PBs0aCGABW4VMi2YZ3pWQow== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1772225742; bh=ATb/8sorAv99pZxeHqz5YebVku8YlHevxOB5d+BPQ03=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=O2zh6mqyI5QCYUYVzBhalgQM7YoIN9ezi4sMhfIYcLMq/MDd2gzVhsvcEIwp6ZkWDDgpI64ypKlupWO0qA1W5K28UAwrr9r+5QdIAnb//IXeg35zL6YCXjGwR25IUbYWvV8PKcUxyRI7YNOc9RUAEvSZ6DGliHlxbhDuej44syqAui8AsCFbgpmi+iPN11aiBSX0+ChOAJpSTm1yrZ0LADkqIf497i+t6Gff/A0puxYCyqPFM0peQl92Nz7HYoiN/Lw8ptz6Yw/Ll+0Gcmvdlok9rb6jjeTLd9Ad/0MU6hP4OER4ol9ujdJNZvcaSqFpgcjm1WdCbmpddO+X9TPYSw== X-YMail-OSG: kCtpluoVM1mx1aKBhp2wf.e1k2EsbpDo.CjcqFv3JyFCEO7NWbNlYyzFHnPBGgz aDYsyZbvDwMZ4djANy5yW_0vmhCcH_YrGqVDgz_RR_WB1KHFXCe5K4v9dA3dZvQr6GK40JS6twDf hh4iSxnAhVJ1uQL8xgdGpGjQThQDynLm0rNkgLO2aogtXgO.owOkrdQ.yhZifXfoAyT8m02s1_6T sdMfRIubynNkWUk7GCWOZ4JA_q2aIa.wGiKm71rdz2BR13bJ3F_AU5HiNiUcjaFtOf1Xmwv.BkTI 2d3r3BalprzmcF4muCQO8mhR24tXSL9FYnHB.l.lo8W536Ys6yycJgBzk0l5aOYdCRVZk4kGbvjc _Kd6Tpp.QleOYi9YfTvMfeN.qVez5FhOdx9SyOp0ebN7oxDEkU0eJ7mmY7YTPIxO.9tB9xthgsM2 34_j7JcM.6LDWOhv9XTGaA54FAUV1VGHMBb9GawF3csTPL71WajeVV42yirmKhDefUzddYT5R3ZI 7wV3nP9lOECDScned3oqmWfqn6YZoHBJ7En3dRrxKfHo7r2Rcjg8_8vYsuf7Y3ifMyxDJeP2oalx eF0AeCHeWKziTPDVVewu4p238XCbqWPCSDY6Ps4.aspOkk1KBxrtam0SnvxZwINW5sGauZMuyTKK vwc1z6gRGDIWLLMHDz.Ua4ZLu4PGAM.9aw0I5cSnJN0MdlzzaJV1E92I8rCwbYJjlWWwNoWP2C4N kc2.BDD28G10KoVzs0OiqL0JUNpVJQLuzRbYghLWWpyTdQaufbTpYtwEc3O4v9ZA2Qnqy1ozwDUf ZJtzo5iQR46lYUyNnvTXNNtto7gp5LGbMP8NlE9nWGhVMbhGye.UFNvDvQu1hEjlAleb3mW5jHY1 ll3b11j8GTTm4XKIXczqqYSCXmIsSweWXo7VMPeE5u4o8.JNkGdqgoffWyD7LFOaO_fhGWyOgryY eJkQh2K1.EvaKMTcYJ1MMBoXHm9piIQTEET..jz.gIZqX6rgsDfkBbTgo8B48ez9383GiOu0O.y7 AVw9SGdWjiVOEtnmh94854kW9ACi69uyxp251XXIXjrEW3YIUB6YTAv4cABGrW981L4wgxm1Q4Re bAj_L7DooHHiW1ugSM1w_1IlimWnEGThb58rf3Gb4qFdsXWpmnh8FJZc7vqwIsJwRClOfRkKK7mS NfE9vnXw5aX_2tT2f_9BJas3702iZSDhmPOtL3IN0nOCU3mVe1uWb7FIixiCSEY_TN6qxb0_HJ5B fXYzBvxpVkKRN.PoqzqyMujhgkG0w2GgZzXQF3dn7oBWIOGuchrcRgBHFGlEZYw3GBxHNtJ_GHOG gixBuksSXHgt3klG_eddCgpZX1c9TMHDSotZ9rc9LSrLILD05QSIWSfudL_QNC9QLjlmvxqKJPPn i6.2Pwb9mm0sm2KFM93ZN3aU.dzMQ81RkxWZxVKcVm3rTFv9XED6tFosyBKNjfqCo16KSJXVLlkL MrNYNTO3lQHvbxkG10xr5oN_J3SCdIG8_VCiE1NpsYO3qM9gUFFLEDDlbIq0i6DaU7NMm5572CJD v9uQmPRVbqAcwPOdYNDGkO1xPyOFVx6whBBvvIIzRVk24YAHbN9OgSWSs8ZNPv1QYUScot2zSUKL X9iBZXQbopXQvMFpdB3aRVggw1pImMw9Le1NCWukU5Mnmqyl38q_zkUj7XL.IKZKH28XW9jLVc9L ekz__necbAO2TUfXPVE._r.8pxRzdRGHkHnclTeXHxal3t3CRmlu6fF4jpD5mN6s9Dna5PL8oTb8 Ac.wtQsXhqF3Snuip9Hnb5WvZuwAynikyYfyaPvw.YDtDk2OUpY2AXZIubI8COrx6P4diGpg6W1A GYi_jY_23ZUMOIp9ATlzhJ1hKLgpn18edDpMpWD3iCgNXWnVb31_76._9zpeDmqUx4VEsn5sUeFa 5Hv7PskchVPJX9jCP8QeFV_V11g.Kf2.fPZwNWxPk.25w8AoPI6LcN06hKPUcWdSaxDs6Kpxi9yQ fom8PboPZzTMPwAuvO7KoYJ9XQjZ52dOlbB8NqFqQRXDXAJjN40f8N6XWRLfxAss612IyFNG.km9 yofwhhGKXd5vsTIZGkQJgrAIqaIGq2T0WJU5TV1h7.UemEePZld.SHq9dJabFJxver4_JQU6DkyJ 4fZXikH9ymbXGkorB2taAtzMLnimdOJ8JF3iie.w50P_d7zZFcNxdGkSZ9qHeV73ctGc3V68wDui zQqqfn_Zdq28jhQ_DPGhNTz_E9ilXRna4U1BvG5HGbtEktqwVgnSKmwQ.ys9WdkBio28nsJqUDMZ jLkwSx0CFnG4TwjMPPjhHHqKEggZq.qM4QlPJht7c1dBgVLxGcw-- X-Sonic-MF: X-Sonic-ID: b2e59341-e11c-4115-be40-2ae2734ee0f7 Received: from sonic.gate.mail.ne1.yahoo.com by sonic305.consmr.mail.gq1.yahoo.com with HTTP; Fri, 27 Feb 2026 20:55:42 +0000 Received: by hermes--production-gq1-6dfcf9f8b-w5q67 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID eda8e9d00c566dc1045b0c6471b1e65e; Fri, 27 Feb 2026 20:55:41 +0000 (UTC) Message-ID: <720e4cb6-fd13-4686-93d9-ef095ad611c2@yahoo.com> Date: Fri, 27 Feb 2026 12:55:40 -0800 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: ee73475119ff - main - llvm: Link private LLVM libraries against compiler_rt for aarch64 To: John Baldwin , Jessica Clarke Cc: "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" , Andrew Turner References: <698a0b1e.1d294.40e36519@gitrepo.freebsd.org> <23acebb1-f71c-46e6-9eea-3fa44316335d@FreeBSD.org> Content-Language: en-US From: Mark Millard In-Reply-To: <23acebb1-f71c-46e6-9eea-3fa44316335d@FreeBSD.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Mailer: WebService/1.1.25198 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo 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: 4fN0wR0TsYz3cKl X-Spamd-Bar: ---- On 2/27/26 09:27, John Baldwin wrote: > On 2/9/26 11:47, John Baldwin wrote: >> On 2/9/26 11:40, Jessica Clarke wrote: >>> On 9 Feb 2026, at 16:28, John Baldwin wrote: >>>> >>>> The branch main has been updated by jhb: >>>> >>>> URL: https://cgit.FreeBSD.org/src/commit/? >>>> id=ee73475119ff7aa98bd11828625d524f6ab87f06 >>>> >>>> commit ee73475119ff7aa98bd11828625d524f6ab87f06 >>>> Author:     John Baldwin >>>> AuthorDate: 2026-02-09 16:26:52 +0000 >>>> Commit:     John Baldwin >>>> CommitDate: 2026-02-09 16:26:52 +0000 >>>> >>>>      llvm: Link private LLVM libraries against compiler_rt for aarch64 >>>> >>>>      This is required for GCC which uses libcalls for outlined atomics. >>> >>> This doesn’t seem right, they’re provided by libgcc.a, so why aren’t >>> they being pulled in? libcompiler_rt.a doesn’t even have the symbols. >> >> My guess is that we don't link libraries against libgcc by default, only >> binaries (maybe this is a GCC feature/bug vs clang)?  I have another >> review >> open for a couple of google test libraries which similarly fail to link. > > So after some more digging (along with Jessica), it seems that GCC only > uses -lgcc_s (and not -lgcc) for C++ (but not C) on both Linux and FreeBSD. > clang's FreeBSD toolchain driver is supposed to mimic GCC but doesn't, it > applies the C rules even for C++ linking, so clang is implicitly adding > both -lgcc and -lgcc_s for C++. > > On Linux, libgcc.so is a linker script that includes both the dynamic > library and -lgcc which is how the static libgcc (including outline atomics > for aarch64) is effectively linked into C++ shared libraries on Linux. > (Note: libgcc.so is a linker script on seemingly all arches on Linux, not > just aarch64) > > So I think we have a couple of choices here.  I can patch the devel/ > freebsd-gccN > ports to stop passing -shared-libgcc to cc1plus which will cause GCC to > follow > the same rules as clang on FreeBSD (passing -lgcc -as-needed -lgcc_s - > no-as-needed > instead of -lgcc_s), or we could change libgcc.so to be a linker script > to match > Linux (and then eventually fix the FreeBSD driver in clang to only pass > -lgcc_s for C++ linking) (I think Andrew already has a review to make > libgcc.so > a linker script). > > I can see arguments both ways.  Using a linker script seems kind of dumb > given > all the hoops GCC goes to internally to decide whether or not to link only > shared or static or both.  (Esp given libgcc is in theory part of the > compiler, > so the compiler should know that libgcc_s should depend on libgcc and be > able > to encode that in the default drivers.)  OTOH, the linker script > approach would > mean we would more closely align with Linux.  I think Jess favors > patching GCC. > Does anyone else have any strong opinions? > Is the question limited to devel/freebsd-gcc* ? Or does it span lang/gcc* use as well? -- === Mark Millard marklmi at yahoo.com