This is the mail archive of the
libc-help@sourceware.org
mailing list for the glibc project.
Re: getauxv and ARMv7 platform detection
- From: Jeffrey Walton <noloader at gmail dot com>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: libc-help at sourceware dot org
- Date: Tue, 21 May 2019 02:45:00 -0400
- Subject: Re: getauxv and ARMv7 platform detection
- References: <CAH8yC8=ULU8tz-XrQvy2gnJ2B5tgSj-s-aMpd5m8E2wmTR4sRw@mail.gmail.com> <87zhngfip7.fsf@oldenburg2.str.redhat.com> <CAH8yC8mSBVRBkh0iUbJzcB=b3NdqzbphrZT1RJxuCh19ra6iLQ@mail.gmail.com> <87mujgfhde.fsf@oldenburg2.str.redhat.com>
- Reply-to: noloader at gmail dot com
On Tue, May 21, 2019 at 2:31 AM Florian Weimer <fweimer@redhat.com> wrote:
>
> * Jeffrey Walton:
>
> > On Tue, May 21, 2019 at 2:03 AM Florian Weimer <fweimer@redhat.com> wrote:
> >>
> >> * Jeffrey Walton:
> >>
> >> > My question is, how do we use getauxval to detect ARMv7 platforms?
> >>
> >> What is the actual problem you are trying to solve?
> >
> > I'm trying to detect if the platform is ARMv7 at runtime.
>
> Yes, but why? Just to print a diagnostic?
We switch to ARMv7 and NEON implementations at runtime if the CPU
supports it. We can usually achieve 2x or 3x speedups over
ARMv{4|5|6}.
We've got SIGILL probes in place but they are an expensive fallback.
We prefer a faster and cleaner solution on Linux like getauxv().
We don't control how the library is built. Users and distros do their
own things. About the only thing we can count on is, -march=native is
useless (and sometimes segfaults the compiler), -march=XXX is missing
and -mfpu=YYY is missing.
Jeff