Re: git: d549de769055 - main - libc: Remove readdir_r(3) [This broke building rust 1.88]

From: Dag-Erling_Smørgrav <des_at_FreeBSD.org>
Date: Thu, 11 Sep 2025 15:01:16 UTC
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.

> possibly with the aid of installing misc/compat14x

That won't make any difference since readdir_r() is still in our libc.

DES
-- 
Dag-Erling Smørgrav - des@FreeBSD.org