[Bug 3336] openssh-8.6_p1 fails to build tests with glibc 2.34
bugzilla-daemon at mindrot.org
bugzilla-daemon at mindrot.org
Tue Aug 10 20:19:14 AEST 2021
https://bugzilla.mindrot.org/show_bug.cgi?id=3336
Darren Tucker <dtucker at dtucker.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dtucker at dtucker.net
--- Comment #1 from Darren Tucker <dtucker at dtucker.net> ---
Sigh. From the OpenBSD closefrom(2) man page:
"""
int
closefrom(int fd);
[...]
HISTORY
The closefrom() function first appeared in Solaris 9 and has been
available since OpenBSD 3.5.
"""
However in glibc 2.34:
$ grep closefrom posix/unistd.h
extern void closefrom (int __lowfd) __THROW;
(Despite its presence under posix/, POSIX does not specify closefrom():
https://pubs.opengroup.org/onlinepubs/9699919799/functions/close.html
"""
The standard developers rejected a proposal to add closefrom() to the
standard. Because the standard permits implementations to use inherited
file descriptors as a means of providing a conforming environment for
the child process, it is not possible to standardize an interface that
closes arbitrary file descriptors above a certain value while still
guaranteeing a conforming environment.
"""
Of the systems that I have at hand:
- on OpenBSD 6.9, NetBSD 8 and DragonFlyBSD 6, MINIX3 closefrom
returns int.
- on Solaris 10, FreeBSD 12 closefrom return void.
so it's already a tire fire.
I vaguely recall a reason it doesn't include openbsd-compat.h. We
might be able to get away with just config.h and HAVE_CLOSEFROM.
--
You are receiving this mail because:
You are watching someone on the CC list of the bug.
You are watching the assignee of the bug.
More information about the openssh-bugs
mailing list