This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Add getrandom implementation [BZ #17252]
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: <libc-alpha at sourceware dot org>
- Date: Fri, 10 Jun 2016 21:36:26 +0000
- Subject: Re: [PATCH] Add getrandom implementation [BZ #17252]
- Authentication-results: sourceware.org; auth=none
- References: <20160610210303 dot 6CE3E40141175 at oldenburg dot str dot redhat dot com> <alpine dot DEB dot 2 dot 20 dot 1606102115300 dot 20503 at digraph dot polyomino dot org dot uk>
On Fri, 10 Jun 2016, Joseph Myers wrote:
> > + # We use a dedicated symbol version so that we can scan the
> > + # .gnu.version_r section to identify binaries which use the
> > + # getrandom function. This allows us to avoid lazy opening of the
> > + # emulation file descriptors if this proves too error-prone.
>
> I understand this even less than the other safeguards. Why is this
> different from all other functions? What is "us"? I don't see any
> special dynamic linker code to check for this version, for example.
And, what happens to this version for new ports where GLIBC_2.25 or later
is the minimum symbol version? And what inheritance relations does it
have with other symbol versions (not that I'm clear on what significance
the inheritance relations actually have)?
Versioning a symbol in a way different from all our other symbol
versioning seems high-risk and needs a compelling justification.
--
Joseph S. Myers
joseph@codesourcery.com