Re: [PATCH v2] x86, selftests: Add sigreturn_32 selftest

From: Ingo Molnar
Date: Tue Mar 10 2015 - 09:55:23 EST



* Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:

> On Mon, Mar 9, 2015 at 9:57 PM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> >
> > * Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:
> >
> >> On Mon, Mar 9, 2015 at 9:48 AM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> >> >
> >> > now I get this build failure:
> >> >
> >> > make[1]: Entering directory
> >> > '/home/mingo/tip/tools/testing/selftests/x86'
> >> > gcc -m32 -o sigreturn_32 -O2 -g -std=gnu99 -pthread -Wall sigreturn.c -lrt -ldl
> >> > In file included from /usr/include/time.h:27:0,
> >> > from sigreturn.c:13:
> >> > /usr/include/features.h:374:25: fatal error: sys/cdefs.h: No such file or directory
> >> > # include <sys/cdefs.h>
> >> > ^
> >> > compilation terminated.
> >> > Makefile:18: recipe for target 'sigreturn_32' failed
> >> > make[1]: *** [sigreturn_32] Error 1
> >>
> >> It builds for me on Ubuntu.
> >>
> >> It looks like your 32-bit build setup is broken. The line that's
> >> failing to compile is:
> >>
> >> #include <time.h>
> >>
> >> Are you missing 32-bit headers? This test *can't* be run as a 64-bit binary.
> >
> > Yeah, was a relatively fresh testbox, the magic incantation to get it
> > to build there was:
> >
> > apt-get install gcc-multilib libc6-i386 libc6-dev-i386
> >
> > On Fedora it's:
> >
> > yum install glibc-devel.*i686
> >
> > Might make sense to include that in a README or so.
>
> I could rig up the makefile to give that hint.
>
> Should we just say that selftests/x86 won't work if you can't build
> 32-bit binaries, or should we try to degrade more gracefully?

I'd suggest to keep it simple: just make it easy for people to
discover how to build it properly.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/