Date: Tue, 3 Sep 2024 19:24:10 -0400 From: Karl Denninger <karl@denninger.net> To: freebsd-hackers@freebsd.org Subject: Re: It's not Rust, it's FreeBSD (and LLVM) Message-ID: <757f500d-e1bb-4536-ad8a-c2ff45c8baf3@denninger.net> In-Reply-To: <ff0c26cbe5a7162468fc22af84a5f4dd@bsdforge.com> References: <202409031532.483FW0If007252@critter.freebsd.dk> <159D15FA-6235-484C-A54A-565E3CDEA690@gmail.com> <ff0c26cbe5a7162468fc22af84a5f4dd@bsdforge.com>
next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------7kPlG3XboJRWXbAL1O9opkQs Content-Type: multipart/mixed; boundary="------------NQAUL9qKhMaiNxL0TdXfiw9Y"; protected-headers="v1" From: Karl Denninger <karl@denninger.net> To: freebsd-hackers@freebsd.org Message-ID: <757f500d-e1bb-4536-ad8a-c2ff45c8baf3@denninger.net> Subject: Re: It's not Rust, it's FreeBSD (and LLVM) References: <202409031532.483FW0If007252@critter.freebsd.dk> <159D15FA-6235-484C-A54A-565E3CDEA690@gmail.com> <ff0c26cbe5a7162468fc22af84a5f4dd@bsdforge.com> In-Reply-To: <ff0c26cbe5a7162468fc22af84a5f4dd@bsdforge.com> --------------NQAUL9qKhMaiNxL0TdXfiw9Y Content-Type: multipart/alternative; boundary="------------RtfdySRvwTlfMZLZFxvS0e8V" --------------RtfdySRvwTlfMZLZFxvS0e8V Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 T24gOS8zLzIwMjQgMTg6MTYsIENocmlzIHdyb3RlOg0KPiBPbiAyMDI0LTA5LTAzIDEyOjM2 LCBEYXZpZCBDcm9zcyB3cm90ZToNCj4+PiBPbiBTZXAgMywgMjAyNCwgYXQgMTE6MzLigK9B TSwgUG91bC1IZW5uaW5nIEthbXAgPHBoa0BwaGsuZnJlZWJzZC5kaz4gDQo+Pj4gd3JvdGU6 DQo+Pj4NCj4+PiDvu79XaGF0IGlzIEZyZWVCU0QgPw0KPj4+IC0tLS0tLS0tLS0tLS0tLS0t DQo+Pj4NCj4+PiBGb3JnZXQgUnVzdCBmb3IgdGhlIG1vbWVudCwgSSBwcm9taXNlIEkgd2ls bCBjb21lIGJhY2sgdG8gaXQuDQo+Pj4NCj4+PiBGcmVlQlNEIGFzIGEgcHJvamVjdCB3YXMg Y3JlYXRlZCBhbG1vc3QgZW50aXJlbHkgYXMgcHJvdGVzdCBhZ2FpbnN0DQo+Pj4gdGhlIGlu Y29tcGV0ZW50ICJVTklYLWluZHVzdHJ5IiBhcyBpdCBleGlzdGVkIGFyb3VuZCAxOTkwLg0K PiAuLi4NCj4+Pg0KPj4+IFRoaXMgZGlzdHJpYnV0aW9uIGZvcm1hdCBpcyBuZWl0aGVyIG1v cmUgbm9yIGxlc3MgcGVyZmVjdCB3aXRoDQo+Pj4gcmVzcGVjdCB0byByZXByb2R1Y2libGUg YnVpbGRzIGFuZCAiUmVmbGVjdGlvbnMgb24gdHJ1c3RpbmcgdHJ1c3QiDQo+Pj4gdGhhbiB3 aGF0IHdlIGhhdmUgdG9kYXkuDQo+Pj4NCj4+PiBBbmQgeWVzLCB3ZSBoYXZlIHBvcnRzIHdy aXR0ZW4gaW4gUnVzdCwgd2h5IGRvIHlvdSBhc2s/DQo+Pj4NCj4+PiBQb3VsLUhlbm5pbmcN Cj4+Pg0KPj4+IFBTOiBJIG92ZXJkb3NlZCBvbiByZWxlYXNlIHdvcmsgMjUrIHllYXJzIGFn bywgYW5kIGhhdmUgbm90IGJlZW4NCj4+PiBwYXlpbmcgdGhlbSBtdWNoIGF0dGVudGlvbiBz aW5jZSwgYnV0IGlmIHRoaXMgaXMgd2hhdCB0aGUgcGtnYmFzZQ0KPj4+IGNyZXcgaGFzIGJl ZW4gcHVzaGluZyBmb3IgbW9yZSB0aGFuIGEgZGVjYWRlLCB3ZSBhbGwgb3dlIHRoZW0gYW4N Cj4+PiBhcG9sb2d5Lg0KPj4NCj4+IEFzIGEgcXVpY2sgbm90ZSBJIGNvbnN0YW50bHkgYnVp bGQgZnJlZWJzZCBmcm9tIHNvdXJjZS4gSSBkbyBpdCBmb3IgDQo+PiBhbGwgb2YgbXkNCj4+ IHN5c3RlbXMgZm9yIGFsbCB1cGRhdGVzLCBhbGwgcGF0Y2ggcmVsZWFzZXMuDQo+Pg0KPj4g SSBtYXkgYmUgYW4gb3V0bGllciBoZXJlLCAuLi4NCj4gWW91J3JlIGRlZmluaXRlbHkgbm90 LiBJIGJ1aWxkIHdvcmxkL2tlcm5lbCBmb3IgdGhlIG11bHRpdHVkZSBvZiANCj4gc2VydmVy cyAoYW5kIGhvbWUNCj4gZXF1aXBtZW50KS4gRm9yIHRoZSBzZXJ2ZXJzLCBJIG9ubHkgbmVl ZCB0byBkbyBpdCBvbmNlIChwZXIgaGFyZHdhcmUgDQo+IHByb2ZpbGUpLiBXaGVyZSBJDQo+ IHRoZW4gc2ltcGx5IG1ha2UgaW1hZ2VzIGFuZCBwb3VyIGl0IG9udG8gdGhlIGJvb3Qvc3Rv cmFnZSBtZWRpYS4NCj4NCj4gSW4gbXkgb3BpbmlvbiwgdGhlIG1vc3QgYXR0cmFjdGl2ZSBm ZWF0dXJlIG9mIHRoZSBCU0QncyBhcmUgdGhhdCB0aGVyZSANCj4gYXJlIHNvIGRhcm5lZA0K PiBtYW55IG9wdGlvbnMuIFRoZXJlIGlzIG5vIG9uZS1zaXplLWZpdHMtYWxsIGZvciBhbnl0 aGluZywgYW5kIHRoZSBmYWN0IA0KPiB0aGF0IEZyZWVCU0QNCj4gcHJvdmlkZXMgc28gbWFu eSBvcHRpb25zIHRvIG1ha2UvaW5zdGFsbC9hZGQvc3VidHJhY3QvLi4uIHByb3ZpZGVzIGEg DQo+IG5lYXIgcGVyZmVjdCBtYXRjaA0KPiB0aGF0IHRhaWxvcnMgdG8gYW55b25lJ3MgbmVl ZHMuDQo+DQo+IC0tQ2hyaXMNCj4NCkknbGwgdGhpcmQgdGhhdC4NCg0KL09uZSBvZiB0aGUg cmVhc29ucyBJIHVzZSBGcmVlQlNEIGFsbW9zdC1leGNsdXNpdmVseSwgL2JleW9uZCBteSAN CnBlcnNvbmFsIGZhbWlsaWFyaXR5IChJIHVzZWQgaXQgYXMgdGhlIFVuaXggInBvd2VyIiBp ZiB5b3Ugd2lsbCBiZWhpbmQgDQpteSBJU1AgaW4gdGhlIDE5OTBzKSBpcyB0aGF0IEkgY2Fu IHRhaWxvciBpdCB0aHJvdWdoIHRoZSBzb3VyY2UgYnVpbGQgDQpwcm9jZXNzIHF1aXRlLWVh c2lseSB0byBtdWx0aXBsZSBwdXJwb3Nlcy4NCg0KTXkgcHJpbWFyeSBidWlsZCBhbmQgb3Bl cmF0aW5nIHBsYXRmb3JtIGhlcmUgaXMgL2Fsd2F5cyAvYnVpbHQgYW5kIA0KdXBkYXRlZCBm cm9tIHNvdXJjZSwgYW5kIGhhcyBzZXZlcmFsIHZlcnNpb25zIG9uIGl0IGFzICJ3b3JrdHJl ZXMiIGF0IA0KYW55IGdpdmVuIHBvaW50IGluIHRpbWUuwqAgVGhhdCBpbiB0dXJuIGJ1aWxk cyBib3RoIHJlbGVhc2UgbWVkaWEgL2FuZCANCi9tb3JlLXNwZWNpYWxpemVkICJyZWxlYXNl cyIgdGhhdCBhcmUgbW9yZSAiYXBwbGlhbmNlIiBsaWtlIGZvciBzcGVjaWZpYyANCnB1cnBv c2VzIHdoaWNoIGFyZSB0aGVuIGRlcGxveWVkIHRvIHZhcmlvdXMgcGxhY2VzLsKgIE1vc3Qg b2YgdGhvc2UgYXJlIA0KbmFub2JzZCAob3IgQ3JvY2hldCwgc2FtZSBiYXNpYyBkZWFsKSBi YXNlZCBiZWNhdXNlIHRoZXkgbmVlZCB0byBiZSANCmV4dHJlbWVseSBwb3dlci1mYWlsIHRv bGVyYW50IGFuZCBlZmZlY3RpdmVseSBvcGVyYXRlLCBvdGhlciB0aGFuIHdoZW4gDQpzYXZp bmcgY29uZmlndXJhdGlvbiBjaGFuZ2VzLCB3aXRob3V0IGhhdmluZyB0byBoYXZlIGFuIHIv dyBtb3VudGVkIA0KZmlsZXN5c3RlbSBkdXJpbmcgbm9ybWFsIG9wZXJhdGlvbi7CoCBEdWFs IHBhcnRpdGlvbiBzZXR1cCBhbGxvd3MgZm9yIA0KImxpdmUiIHVwZGF0aW5nOyB1cGRhdGUg dGhlIG5vbi1ydW5uaW5nIG9uZSBhbmQgcmVib290Lg0KDQpJIGFsc28gaGF2ZSBtYWNoaW5l cyBpbi1maWVsZCB0aGF0IGFyZSBiaW5hcnkgdXBkYXRlZCB3aXRoIA0KZnJlZWJzZC11cGRh dGUgLS0gdGhvc2Ugc3lzdGVtcyBhcmUgcXVpdGUgInZhbmlsbGEiIGluIHRlcm1zIG9mIHRo ZWlyIA0KcmVxdWlyZW1lbnRzLsKgIEkgYWxzbyBoYXZlIHN5c3RlbXMgdGhhdCBJIHdhbnQg dG8gYW5kIGRvIHVwZGF0ZSBmcm9tIA0KLVNUQUJMRSB3aGVuIGNvbW1pdHMgY29tZSBpbnRv IHRoZSBjb2RlYmFzZSBidXQgZG9uJ3QgbmVjZXNzYXJpbHkgbWVyaXQgDQphICJyZWxlYXNl LXB4IiBwYXRjaC4NCg0KV2hlbiBsbHZtIGNhbWUgaW50byB0aGUgdG9vb2xjaGFpbiBidWls ZCB0aW1lcyB3ZW50IHZlcnRpY2FsLiANCkZvcnR1bmF0ZWx5IGJ5IHRoZW4gc28gaGFkIHBy b2Nlc3NpbmcgcG93ZXIgYW5kIEkvTyBwZXJmb3JtYW5jZSBmb3IgDQoicmVhc29uYWJsZSIg ZXF1aXBtZW50LCBidXQgcGxlYXNlIGRvIG5vdCBraWQgeW91cnNlbGYgb24gdGhlIGltcGFj dCAtLSANCml0IHdhcyBleHRyZW1lbHkgc2lnbmlmaWNhbnQgaW4gdGhhdCBzZWxmLWhvc3Rl ZCBidWlsZHMgb24gbGVzc2VyIA0KbWFjaGluZXMgYmVjYW1lIGludG9sZXJhYmxlLsKgIFRv ZGF5IEkgY3Jvc3NidWlsZCByYXRoZXIgdGhhbiBuYXRpdmUgaW4gDQpzb21lIGNhc2VzIGJl Y2F1c2UgSSBiYXNpY2FsbHkgL2hhdmUgdG8gL2luIG9yZGVyIHRvIGdldCByZWFzb25hYmxl IA0KYnVpbGQgdGltZXMsIGFuZCBpbmNpZGVudGFsbHkgdGhlcmUncyBhIGhhcmQtdG8tcmVw cm9kdWNlIChhbmQgdGh1cyBmYXIgDQpubyBmaXggYXMgYSByZXN1bHQpIGlzc3VlIEkgaGF2 ZSBvcGVuIGZyb20gaGF2aW5nIHRvIGRvIGl0IHRoYXQgd2F5IA0KcmlnaHQgbm93IGFnYWlu c3Qgc29tZSBBUk0gc3lzdGVtcyANCihodHRwczovL2J1Z3MuZnJlZWJzZC5vcmcvYnVnemls bGEvc2hvd19idWcuY2dpP2lkPTI4MDAzOCkgdGhhdCBzaG93ZWQgDQp1cCB3aXRoIGFuIExM Vk0gZml4IGZvciBhbiBpc3N1ZSB0aGF0IGxvb2tzIGxpa2UgaXQgcmVzdWx0cyBpbiBhbiAN CmFsaWdubWVudCBwcm9ibGVtIHdpdGhpbiBMTFZNIGluIHRoZSB0YXJnZXQgb24gdGhlIGNv ZGUgdGhhdCBnZXRzIGJ1aWx0LCANCmJ1dCBkaXNhcHBlYXJzIGlmIHlvdSB0cnkgdG8gZW5h YmxlIGRlYnVnZ2luZyBzeW1ib2xzLCBhc3NlcnRpb25zIGFuZCANCmV2ZW4gYnVpbGRpbmcg d2l0aCBkZWJ1ZyBmaWxlcyAoYW5kIHRoZW4gcmVtb3ZpbmcgdGhlbSBiZWZvcmUgaW5zdGFs bC4pwqAgDQpPZiBjb3Vyc2Ugd2l0aG91dCBzeW1ib2xzIHRoZSBiYWNrdHJhY2UgaXMgdmVy eSBjbG9zZSB0byB1c2VsZXNzIGluIA0KZmlndXJpbmcgb3V0IGV4YWN0bHkgd2hlcmUgaXRz IHNlZ2ZhdWx0aW5nIGFuZCB3aXRoIHRoZW0gaW5jbHVkZWQgaXQgDQpkb2Vzbid0IGJsb3cg dXAuwqAgV291bGQgdGhpcyBiZSBpbW1lZGlhdGVseSBhYmxlIHRvIGJlIGlzb2xhdGVkIGlu IGEgDQpuYXRpdmUgYnVpbGQgKG9yIGV2ZW4gbm90IGhhcHBlbiBhcyBpdHMgYW4gYXJ0aWZh Y3Qgb2YgDQpjcm9zcy1jb21waWxpbmcpP8KgIEkgZG9uJ3Qga25vdywgYnV0IGF0IDEyIGhv dXJzIGEgY3JhY2sgdG8gdHJ5IG9uIGEgDQpQaTMsIGlmIExMVk0gd2lsbCBldmVuIGJ1aWxk IGF0IGFsbCBvbiB0aGF0IGR1ZSB0byBSQU0gbGltaXRhdGlvbnMsIEknbSANCm5vdCB2ZXJ5 IGluY2xpbmVkIHRvIHRyeSB0byBmaW5kIG91dC7CoCBNeSB3b3JrYXJvdW5kIGZvciB0aGUg cHJlc2VudCBpcyANCnRvIGluY2x1ZGUgdGhlIGRlYnVnIGZpbGVzIC0tIGJ1dCBzdHJpcCB0 aGVtIGZyb20gdGhlIGZpbmlzaGVkIG1lZGlhIC0tIA0Kd2hpY2ggbWFrZXMgdGhlIHByb2Js ZW0gZGlzYXBwZWFyLg0KDQpNYWtpbmcgdGhhdCBzb3J0IG9mIHByb2JsZW0gd29yc2UsIGlu IG15IG9waW5pb24sIGlzIHRvIGJlIGF2b2lkZWQgaWYgDQp0aGUgcHJvamVjdCBjYW4gcmVh c29uYWJseSBkbyBzby4NCg0KLS0gDQpLYXJsIERlbm5pbmdlcg0Ka2FybEBkZW5uaW5nZXIu bmV0DQovVGhlIE1hcmtldCBUaWNrZXIvDQovW1MvTUlNRSBlbmNyeXB0ZWQgZW1haWwgcHJl ZmVycmVkXS8NCg== --------------RtfdySRvwTlfMZLZFxvS0e8V Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <!DOCTYPE html> <html> <head> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF= -8"> </head> <body> <div class=3D"moz-cite-prefix">On 9/3/2024 18:16, Chris wrote:<br> </div> <blockquote type=3D"cite" cite=3D"mid:ff0c26cbe5a7162468fc22af84a5f4dd@bsdforge.com">On 2024-09-03 12:36, David Cross wrote: <br> <blockquote type=3D"cite"> <blockquote type=3D"cite">On Sep 3, 2024, at 11:32=E2=80=AFAM, Poul-Henning Kamp <a class=3D"moz-txt-link-rfc2396E" href=3D"ma= ilto:phk@phk.freebsd.dk"><phk@phk.freebsd.dk></a> wrote: <br> <br> =EF=BB=BFWhat is FreeBSD ? <br> ----------------- <br> <br> Forget Rust for the moment, I promise I will come back to it. <br> <br> FreeBSD as a project was created almost entirely as protest against <br> the incompetent "UNIX-industry" as it existed around 1990. <br> </blockquote> </blockquote> ... <br> <blockquote type=3D"cite"> <blockquote type=3D"cite"> <br> This distribution format is neither more nor less perfect with <br> respect to reproducible builds and "Reflections on trusting trust" <br> than what we have today. <br> <br> And yes, we have ports written in Rust, why do you ask? <br> <br> Poul-Henning <br> <br> PS: I overdosed on release work 25+ years ago, and have not been <br> paying them much attention since, but if this is what the pkgbase <br> crew has been pushing for more than a decade, we all owe them an <br> apology. <br> </blockquote> <br> As a quick note I constantly build freebsd from source. I do it for all of my <br> systems for all updates, all patch releases. <br> <br> I may be an outlier here, ... <br> </blockquote> You're definitely not. I build world/kernel for the multitude of servers (and home <br> equipment). For the servers, I only need to do it once (per hardware profile). Where I <br> then simply make images and pour it onto the boot/storage media. <br> <br> In my opinion, the most attractive feature of the BSD's are that there are so darned <br> many options. There is no one-size-fits-all for anything, and the fact that FreeBSD <br> provides so many options to make/install/add/subtract/... provides a near perfect match <br> that tailors to anyone's needs. <br> <br> --Chris <br> <br> </blockquote> <p>I'll third that.</p> <p><i>One of the reasons I use FreeBSD almost-exclusively, </i>beyond= my personal familiarity (I used it as the Unix "power" if you will behind my ISP in the 1990s) is that I can tailor it through the source build process quite-easily to multiple purposes.</p> <p>My primary build and operating platform here is <i>always </i>buil= t and updated from source, and has several versions on it as "worktrees" at any given point in time.=C2=A0 That in turn builds b= oth release media <i>and </i>more-specialized "releases" that are more "appliance" like for specific purposes which are then deployed to various places.=C2=A0 Most of those are nanobsd (or Crochet, same basic deal) based because they need to be extremely power-fail tolerant and effectively operate, other than when saving configuration changes, without having to have an r/w mounted filesystem during normal operation.=C2=A0 Dual partition se= tup allows for "live" updating; update the non-running one and reboot.<= /p> <p>I also have machines in-field that are binary updated with freebsd-update -- those systems are quite "vanilla" in terms of their requirements.=C2=A0 I also have systems that I want to and do= update from -STABLE when commits come into the codebase but don't necessarily merit a "release-px" patch.<br> </p> <p>When llvm came into the tooolchain build times went vertical.=C2=A0= Fortunately by then so had processing power and I/O performance for "reasonable" equipment, but please do not kid yourself on the impact -- it was extremely significant in that self-hosted builds on lesser machines became intolerable.=C2=A0 Today I crossbuild rat= her than native in some cases because I basically <i>have to </i>in order to get reasonable build times, and incidentally there's a hard-to-reproduce (and thus far no fix as a result) issue I have open from having to do it that way right now against some ARM systems (<a class=3D"moz-txt-link-freetext" href=3D"https://bugs.fr= eebsd.org/bugzilla/show_bug.cgi?id=3D280038">https://bugs.freebsd.org/bug= zilla/show_bug.cgi?id=3D280038</a>) that showed up with an LLVM fix for an issue that looks like it results in an alignment problem within LLVM in the target on the code that gets built, but disappears if you try to enable debugging symbols, assertions and even building with debug files (and then removing them before install.)=C2=A0 Of course without symbols the backtrace is very close to useless in figuring out exactly where its segfaulting and with them included it doesn't blow up.=C2=A0 Would this be immediately able to be isolated in a native build (or even not happen as its an artifact of cross-compiling)?=C2=A0 I don't know, but at 12 hours a crack to tr= y on a Pi3, if LLVM will even build at all on that due to RAM limitations, I'm not very inclined to try to find out.=C2=A0 My workaround for the present is to include the debug files -- but strip them from the finished media -- which makes the problem disappear.</p> <p>Making that sort of problem worse, in my opinion, is to be avoided if the project can reasonably do so.<br> </p> <div class=3D"moz-signature">-- <br> Karl Denninger<br> <a href=3D"mailto:karl@denninger.net" class=3D"moz-txt-link-freetex= t">karl@denninger.net</a><br> <i>The Market Ticker</i><br> <font size=3D"-2"><i>[S/MIME encrypted email preferred]</i></font><= /div> </body> </html> --------------RtfdySRvwTlfMZLZFxvS0e8V-- --------------NQAUL9qKhMaiNxL0TdXfiw9Y-- --------------7kPlG3XboJRWXbAL1O9opkQs Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- wsF5BAABCAAjFiEEvWWSxnGhSYSUSaCtby3AFeuPWXgFAmbXmpoFAwAAAAAACgkQby3AFeuPWXiw fxAAlEzTP3/ix34jhFtDt+9cU1JG09xFojmgRW8CAEIFg2mfXoanHz78atjiUtKvD9GRqw5WK4OY GXK6ZqKl2moz5Nn/JAJTtVtGda1e82nmoD33pyI3LmLlR5Vj2MP1wU9jksBUrrVWwzo1WcSLTg1s //mz4PgWq9feRd4tT52ihT8YyfPNOqoE6GFYP17wQn1Lhx8aFHgH0gP+Z5+25zc0rYO9TkYZdRX5 9kfu6LSjiQI+xl1Okj8PVsvCPu6pEX83ULmg8lZU8Zvc3Ri61EH2fOPsDBaqrCNSJLq+In7Qsd5m AsrrGT3yCTX+AvVA6Bryx8t6y8hHZTr1HGD0ZewKCxBLCVUPPFi+XRqZB8XutMQb0k2bLWmlVeNH rzDlK0Avq/+v+o5EMWNswjdvroNZQXhkPXqeyTDjLTc4M4tutq7c4WJ03Spnf07MzkKtQwua6cDw jfOhAt8EgfPCPid97kLij1SWE+MlR3y+h9O5IwLEGmMt8NvFkp122QQu0szpj6P0x09jOwugfohw 65wxZgI3mv9h4qSGqXwYofgv/8HrSsvYJ9o4Pd2lfzpNNK4kzZZVlpGx2OkOKRSPZkmZAkk8KwpG 20Pv6Kxebck94qC12h0Zu0LNmLp9Xsyp8V3op8/sscfC+m7gqW4hX4R0hW/Fh3EGrxlutayxSBEW Vs4= =CeW5 -----END PGP SIGNATURE----- --------------7kPlG3XboJRWXbAL1O9opkQs--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?757f500d-e1bb-4536-ad8a-c2ff45c8baf3>