On 14 March 2016 at 09:02, Erik de Castro Lopo <mle+la at mega-nerd.com> wrote:> commit a9f84425cfd5d1dbfb564730ca80d0b588cb4f24 > Author: Erik de Castro Lopo <erikd at mega-nerd.com> > Date: Mon Mar 14 18:14:31 2016 +1100 > > libFLAC/cpu.c: Use `sigemptyset` instead of `__sigemptyset` > > The former is POSIX while the later is a GNU glibc-ism that does not > exist in (for example) the Musl C library that is used in OpenWrt. > > Reported-by: <neheb at hushmail.com> > > @lvqcl, I tried to test this, but couldn't figure out what CPU architecture > and configure options were required to build the code that changed. > > Any clues?AFAIK this part should always be built on Linux (except on Android) on x86 CPUs. If at all, --disable-sse could prevent it. Riggs
Thomas Zander <thomas.e.zander at googlemail.com> ?????(?) ? ????? ?????? Mon, 14 Mar 2016 15:29:13 +0300:>> @lvqcl, I tried to test this, but couldn't figure out what CPU architecture >> and configure options were required to build the code that changed. >> >> Any clues? > > AFAIK this part should always be built on Linux (except on Android) on > x86 CPUs. If at all, --disable-sse could prevent it. > > RiggsIIRC --disable-sse *en*ables this code. The current default option is --enable-sse which defines FLAC__SSE_OS macro, so libFLAC doesn't test OS SSE support. With --disable-sse, FLAC__SSE_OS is undefined and FLAC__cpu_info() uses sigemptyset/sigaction to determine OS SSE support.
On 03/14/16 03:51 PM, lvqcl wrote:> With --disable-sse, FLAC__SSE_OS is undefined and FLAC__cpu_info() uses > sigemptyset/sigaction to determine OS SSE support.That's not quite right as I have to build binaries with --disable-sse (I build and distribute both with and without) so that some users on PII's don't get a sigill, even though the OS supports SSE. So it seems to unconditionally disable SSE support or test the CPU support with sigemptyset/sigaction. Dave