Re: [PATCH] tools: testing: define the _GNU_SOURCE macro

From: Muhammad Falak R Wani
Date: Mon May 16 2016 - 10:02:52 EST


On Mon, May 16, 2016 at 07:27:25AM -0600, Shuah Khan wrote:
> On 05/13/2016 06:05 AM, Muhammad Falak R Wani wrote:
> > Add the macro _GNU_SOURCE, so that compilation does not terminate.
>
> What error are you seeing? Could you please send the compilation
> error log.
>
> thanks,
> -- Shuah
> >
> > Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx>
> > ---
> > tools/testing/selftests/intel_pstate/run.sh | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/tools/testing/selftests/intel_pstate/run.sh b/tools/testing/selftests/intel_pstate/run.sh
> > index bdaf37e..7868c10 100755
> > --- a/tools/testing/selftests/intel_pstate/run.sh
> > +++ b/tools/testing/selftests/intel_pstate/run.sh
> > @@ -32,7 +32,7 @@ EVALUATE_ONLY=0
> > max_cpus=$(($(nproc)-1))
> >
> > # compile programs
> > -gcc -o aperf aperf.c -lm
> > +gcc aperf.c -Wall -D_GNU_SOURCE -o aperf -lm
> > [ $? -ne 0 ] && echo "Problem compiling aperf.c." && exit 1
> > gcc -o msr msr.c -lm
> > [ $? -ne 0 ] && echo "Problem compiling msr.c." && exit 1
> >
>
When I try to run "run.sh", I get the following linker error
------

mfrw@kp:~/kp/tools/testing/selftests/intel_pstate$ ./run.sh
/tmp/ccVLsFVk.o: In function `main':
aperf.c:(.text+0x12e): undefined reference to `CPU_ZERO'
aperf.c:(.text+0x14a): undefined reference to `CPU_SET'
collect2: error: ld returned 1 exit status
Problem compiling aperf.c.

------

The root cause of the problem is, we haven't defined a macro
_GNU_SOURCE, which is necessary for CPU_ZERO, CPU_SET.
After adding the appropriate macro, it compiles without
any error.