Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200216161512.GC14278@port70.net>
Date: Sun, 16 Feb 2020 17:15:13 +0100
From: Szabolcs Nagy <nsz@...t70.net>
To: musl@...ts.openwall.com
Subject: Re: getauxval availability

* Jeffrey Walton <noloader@...il.com> [2020-02-16 08:43:54 -0500]:
> We use getauxval on Linux when available to determine cpu caps. For
> Glibc the code looks like (http://lwn.net/Articles/519085/):
> 
> #if (((__GLIBC__ * 100) + __GLIBC_MINOR__) >= 216)
> # define GETAUXV_AVAILABLE 1
> #endif

this is not reliable.

> I need a similar test for musl. It looks like the function was added
> at https://git.musl-libc.org/cgit/musl/commit/?id=21ada94c4b8c. I
> don't see how to map a commit to a release for the web front-end musl
> uses.

you can use a compile or link time check e.g.

#include <sys/auxv.h>
unsigned long (*p)(unsigned long) = getauxval;
int main() {return p(0);}

or assume that it's available and let the user
manually disable it if not.

> The release page indicates it should be available with musl-1.0.1,
> which was released April 16 2014
> (https://www.musl-libc.org/releases/). But I am not sure about the
> musl release process, and what is included in a release tarball.
> 
> What is the first release of musl that contains 21ada94c4b8c ?

$ git describe --tags 21ada94c4b8c
v1.0.0-20-g21ada94c

i.e. it's 20 commits after the v1.0.0 release tag
so anything after that should have it.

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.