FD_SET and FORTIFY_SOURCE
Carlos O'Donell
carlos@redhat.com
Mon Mar 25 17:04:00 GMT 2013
On 03/24/2013 04:17 PM, KOSAKI Motohiro wrote:
> 1. only turn on __FD_ELT check when running on hurd.
> 2. only turn on __FD_ELT check when defined some specific macro. (e.g.
> likes darwin,
> but disable by default)
> 2-2. make FORTIFY_SOURCE variant and check POSIX compliance if enabled.
> 3. provide select_large_fdset() likes solaris. (I strongly don't
> recommend. all application
> need to modify and recompilation)
>
> What do you think?
The value of __FD_SETSIZE is part of the ABI and can't be changed.
Imagine one library using a value >1024 while another uses one
that has a value ==1024. You would have to recompile all of userspace
to ensure it works reliable and that's what we call an ABI breakage.
Therefore #1, #2, and #2-2 would break the ABI.
The only option is #3, as Solaris did, and they probably did it
exactly for this reason.
Alternatively rewrite using poll/epoll.
Does that make sense?
Cheers,
Carlos.
More information about the Libc-alpha
mailing list