Date: Thu, 11 Sep 2025 18:44:36 +0300 From: Toomas Soome <tsoome@me.com> To: FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: git: d549de769055 - main - libc: Remove readdir_r(3) [This broke building rust 1.88] Message-ID: <C79DD894-11FD-4919-B3EE-147978D36AF8@me.com> In-Reply-To: <aMLmbXgsjUm7GqEr@nuc> References: <1F6A4621-1505-4F78-97C6-85EA556B2165@yahoo.com> <86bjnhi7s2.fsf@ltc.des.dev> <CAOtMX2gJJ-wGtK3%2BQwyz_eODYWK6pwaMA6gbnN74Pvqc1QW6Mw@mail.gmail.com> <86zfb1ghj7.fsf@ltc.des.dev> <aMLmbXgsjUm7GqEr@nuc>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] > On 11. Sep 2025, at 18:10, Mark Johnston <markj@FreeBSD.org> wrote: > > On Thu, Sep 11, 2025 at 05:01:16PM +0200, Dag-Erling Smørgrav wrote: >> Alan Somers <asomers@freebsd.org> writes: >>> Dag-Erling Smørgrav <des@freebsd.org> writes: >>>> Tell that to the Rust developers. They have been repeatedly warned >>>> against using readdir_r(3) for years, as far back as 2016. >>> Have they? Looking at rust's github page, I see discussions about >>> using readdir_r on Fuchsia and Linux, but nothing about BSD. >> >> If you look at these tickets, there are people pointing out that >> readdir_r() doesn't work correctly even on platforms where it isn't >> formally deprecated. The Rust developers chose to fix the Linux case >> because it produced a link-time warning and ignored the rest. That's on >> them. >> >> They also seem to be providing their own prototype for readdir_r(), >> which suppresses the deprecation warning they should be getting on >> FreeBSD 15, and turns the issue from a failure to compile into a failure >> to link. That's also on them. > > It doesn't really matter whose responsibility it is. If rust can't be > compiled on FreeBSD after a FreeBSD change, then it's up to us to fix > it. The purpose of FreeBSD, like any other useful OS, is to run the > software that people want to run. > > +1 to Alan's request to back out the change for now. How about putting up pull request for rust to fix it?;) rgds, toomas [-- Attachment #2 --] <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><br id="lineBreakAtBeginningOfMessage"><div><br><blockquote type="cite"><div>On 11. Sep 2025, at 18:10, Mark Johnston <markj@FreeBSD.org> wrote:</div><br class="Apple-interchange-newline"><div><meta charset="UTF-8"><span style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">On Thu, Sep 11, 2025 at 05:01:16PM +0200, Dag-Erling Smørgrav wrote:</span><br style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><blockquote type="cite" style="font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;">Alan Somers <asomers@freebsd.org> writes:<br><blockquote type="cite">Dag-Erling Smørgrav <des@freebsd.org> writes:<br><blockquote type="cite">Tell that to the Rust developers. They have been repeatedly warned<br>against using readdir_r(3) for years, as far back as 2016.<br></blockquote>Have they? Looking at rust's github page, I see discussions about<br>using readdir_r on Fuchsia and Linux, but nothing about BSD.<br></blockquote><br>If you look at these tickets, there are people pointing out that<br>readdir_r() doesn't work correctly even on platforms where it isn't<br>formally deprecated. The Rust developers chose to fix the Linux case<br>because it produced a link-time warning and ignored the rest. That's on<br>them.<br><br>They also seem to be providing their own prototype for readdir_r(),<br>which suppresses the deprecation warning they should be getting on<br>FreeBSD 15, and turns the issue from a failure to compile into a failure<br>to link. That's also on them.<br></blockquote><br style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">It doesn't really matter whose responsibility it is. If rust can't be</span><br style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">compiled on FreeBSD after a FreeBSD change, then it's up to us to fix</span><br style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">it. The purpose of FreeBSD, like any other useful OS, is to run the</span><br style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">software that people want to run.</span><br style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><br style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">+1 to Alan's request to back out the change for now.</span><br style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"></div></blockquote></div><br><div><br></div><div>How about putting up pull request for rust to fix it?;)</div><div><br></div><div>rgds,</div><div>toomas</div></body></html>help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C79DD894-11FD-4919-B3EE-147978D36AF8>
