Message ID | 6b46f44b-b651-97cb-e6c0-a11213aa438a@redhat.com |
---|---|
State | Dropped |
Headers |
Received: (qmail 54108 invoked by alias); 8 Sep 2016 14:02:06 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: <libc-alpha.sourceware.org> List-Unsubscribe: <mailto:libc-alpha-unsubscribe-##L=##H@sourceware.org> List-Subscribe: <mailto:libc-alpha-subscribe@sourceware.org> List-Archive: <http://sourceware.org/ml/libc-alpha/> List-Post: <mailto:libc-alpha@sourceware.org> List-Help: <mailto:libc-alpha-help@sourceware.org>, <http://sourceware.org/ml/#faqs> Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 54095 invoked by uid 89); 8 Sep 2016 14:02:05 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.2 required=5.0 tests=BAYES_00, RP_MATCHES_RCVD, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mx1.redhat.com Subject: Re: [PATCH v3] getrandom system call wrapper [BZ #17252] To: Andreas Schwab <schwab@suse.de> References: <661db778-8110-82b2-2c41-d6195916cbea@redhat.com> <mvmlgz2eeb7.fsf@hawking.suse.de> <0e765666-3d0c-ef01-3ccc-82a11388c551@redhat.com> <mvmh99qedgg.fsf@hawking.suse.de> <2f147471-dee8-52ac-e237-9701f1d56620@redhat.com> <mvmd1keecnb.fsf@hawking.suse.de> <374e6272-0525-2e10-bab1-4c5b5b1f1cec@redhat.com> <mvm8tv2ebty.fsf@hawking.suse.de> Cc: GNU C Library <libc-alpha@sourceware.org> From: Florian Weimer <fweimer@redhat.com> Message-ID: <6b46f44b-b651-97cb-e6c0-a11213aa438a@redhat.com> Date: Thu, 8 Sep 2016 16:02:00 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <mvm8tv2ebty.fsf@hawking.suse.de> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit |
Commit Message
Florian Weimer
Sept. 8, 2016, 2:02 p.m. UTC
On 09/08/2016 03:54 PM, Andreas Schwab wrote: > On Sep 08 2016, Florian Weimer <fweimer@redhat.com> wrote: > >> On 09/08/2016 03:36 PM, Andreas Schwab wrote: >>> On Sep 08 2016, Florian Weimer <fweimer@redhat.com> wrote: >>> >>>> On 09/08/2016 03:19 PM, Andreas Schwab wrote: >>>>> On Sep 08 2016, Florian Weimer <fweimer@redhat.com> wrote: >>>>> >>>>>> On 09/08/2016 03:01 PM, Andreas Schwab wrote: >>>>>>> On Sep 08 2016, Florian Weimer <fweimer@redhat.com> wrote: >>>>>>> >>>>>>>> I have retained the __getrandom symbol mangling. The justification for >>>>>>>> that is that getrandom is a fairly common name. Application code might >>>>>>>> use it for something else entirely and interpose their definition, so that >>>>>>>> libraries cannot rely on it doing the right thing. I think the mangling >>>>>>>> is justified because it is hard to spot that getrandom is broken due to >>>>>>>> interposition. As <sys/random.h> is a new header, the macro will be >>>>>>>> exposed to few applications. >>>>>>> >>>>>>> It makes it impossible to take the address of the function, though. >>>>>> >>>>>> It does. Do you have a better suggestion to achieve the same effect? >>>>> >>>>> If getrandom is ever standardized be POSIX this will have to be reverted >>>>> anyway. >>>> >>>> So you don't object to this approach? >>> >>> Not providing a getrandom symbol is a bug. >> >> Is this better? > > You need to add the alias it to the stub, too. Ahh, good catch. How does this work? Like this? +weak_alias (__getrandom, getrand) Thanks, Florian
Comments
On Sep 08 2016, Florian Weimer <fweimer@redhat.com> wrote: > How does this work? Like this? > > diff --git a/stdlib/getrandom.c b/stdlib/getrandom.c > index f0b3181..bb22dd8 100644 > --- a/stdlib/getrandom.c > +++ b/stdlib/getrandom.c > @@ -29,3 +29,5 @@ __getrandom (void *buffer, size_t length, unsigned int > flags) > } > > stub_warning (__getrandom) > + > +weak_alias (__getrandom, getrand) Modulo typo. Andreas.
diff --git a/stdlib/getrandom.c b/stdlib/getrandom.c index f0b3181..bb22dd8 100644 --- a/stdlib/getrandom.c +++ b/stdlib/getrandom.c @@ -29,3 +29,5 @@ __getrandom (void *buffer, size_t length, unsigned int flags) } stub_warning (__getrandom) +