2017-03-01 09:26:13

by Ingo Molnar

[permalink] [raw]
Subject: selftests broke upstream


Hi,

The x86 selftests build broke upstream:

triton:~/tip/tools/testing/selftests/x86> make
Makefile:44: warning: overriding recipe for target 'clean'
../lib.mk:51: warning: ignoring old recipe for target 'clean'
gcc -m32 -o /single_step_syscall_32 -O2 -g -std=gnu99 -pthread -Wall
single_step_syscall.c -lrt -ldl -lm
/usr/bin/ld: cannot open output file /single_step_syscall_32: Permission denied
collect2: error: ld returned 1 exit status
Makefile:47: recipe for target '/single_step_syscall_32' failed
make: *** [/single_step_syscall_32] Error 1

It used to be possible to build only the x86 testcases in that directory.

Another problem is that the pkeys testcases are still very noisy:

gcc -m64 -o /home/mingo/tip/tools/testing/selftests/x86/protection_keys_64 -O2 -g -std=gnu99 -pthread -Wall protection_keys.c -lrt -ldl
In file included from protection_keys.c:45:0:
pkey-helpers.h: In function ‘sigsafe_printf’:
pkey-helpers.h:41:3: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
write(1, dprint_in_signal_buffer, len);
^
protection_keys.c: In function ‘dumpit’:
protection_keys.c:407:3: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
write(1, buf, nr_read);
^
gcc -m64 -o /home/mingo/tip/tools/testing/selftests/x86/test_vdso_64 -O2 -g -std=gnu99 -pthread -Wall test_vdso.c -lrt -ldl
test_vdso.c: In function ‘main’:
test_vdso.c:98:37: warning: ‘node’ may be used uninitialized in this function [-Wmaybe-uninitialized]
if (!ret_vsys && (cpu_vsys != cpu || node_vsys != node))
^
test_vdso.c:78:12: note: ‘node’ was declared here
unsigned node;
^

I thought all this got already fixed?

Thanks,

Ingo


2017-03-01 14:29:39

by Shuah Khan

[permalink] [raw]
Subject: Re: selftests broke upstream

On 03/01/2017 02:24 AM, Ingo Molnar wrote:
>
> Hi,
>
> The x86 selftests build broke upstream:
>
> triton:~/tip/tools/testing/selftests/x86> make
> Makefile:44: warning: overriding recipe for target 'clean'

This is odd. It should work. Are there any changes that came in through
x86 tree?

> ../lib.mk:51: warning: ignoring old recipe for target 'clean'
> gcc -m32 -o /single_step_syscall_32 -O2 -g -std=gnu99 -pthread -Wall
> single_step_syscall.c -lrt -ldl -lm
> /usr/bin/ld: cannot open output file /single_step_syscall_32: Permission denied
> collect2: error: ld returned 1 exit status
> Makefile:47: recipe for target '/single_step_syscall_32' failed
> make: *** [/single_step_syscall_32] Error 1
>
> It used to be possible to build only the x86 testcases in that directory.
>
> Another problem is that the pkeys testcases are still very noisy:
>
> gcc -m64 -o /home/mingo/tip/tools/testing/selftests/x86/protection_keys_64 -O2 -g -std=gnu99 -pthread -Wall protection_keys.c -lrt -ldl
> In file included from protection_keys.c:45:0:
> pkey-helpers.h: In function ‘sigsafe_printf’:
> pkey-helpers.h:41:3: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
> write(1, dprint_in_signal_buffer, len);
> ^
> protection_keys.c: In function ‘dumpit’:
> protection_keys.c:407:3: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
> write(1, buf, nr_read);
> ^
> gcc -m64 -o /home/mingo/tip/tools/testing/selftests/x86/test_vdso_64 -O2 -g -std=gnu99 -pthread -Wall test_vdso.c -lrt -ldl
> test_vdso.c: In function ‘main’:
> test_vdso.c:98:37: warning: ‘node’ may be used uninitialized in this function [-Wmaybe-uninitialized]
> if (!ret_vsys && (cpu_vsys != cpu || node_vsys != node))
> ^
> test_vdso.c:78:12: note: ‘node’ was declared here
> unsigned node;
> ^
>
> I thought all this got already fixed?

Hmm. I included all the patches Dave Hansen sent me in my pull request.
I also added couple of cleanup patches I did for pkeys.

I will take a look and see what's going on and let you know. I usually
wait until rc1 comes out for the dust to settle before I go in run sanity
checks on selftests. But I will do some test runs today and let you know
what I find.

Thanks for letting me know.

-- Shuah

2017-03-01 23:00:24

by Shuah Khan

[permalink] [raw]
Subject: Re: selftests broke upstream

On 03/01/2017 07:29 AM, Shuah Khan wrote:
> On 03/01/2017 02:24 AM, Ingo Molnar wrote:
>>
>> Hi,
>>
>> The x86 selftests build broke upstream:
>>
>> triton:~/tip/tools/testing/selftests/x86> make
>> Makefile:44: warning: overriding recipe for target 'clean'
>
> This is odd. It should work. Are there any changes that came in through
> x86 tree?
>
>> ../lib.mk:51: warning: ignoring old recipe for target 'clean'
>> gcc -m32 -o /single_step_syscall_32 -O2 -g -std=gnu99 -pthread -Wall
>> single_step_syscall.c -lrt -ldl -lm
>> /usr/bin/ld: cannot open output file /single_step_syscall_32: Permission denied
>> collect2: error: ld returned 1 exit status
>> Makefile:47: recipe for target '/single_step_syscall_32' failed
>> make: *** [/single_step_syscall_32] Error 1
>>
>> It used to be possible to build only the x86 testcases in that directory.
>>
>> Another problem is that the pkeys testcases are still very noisy:
>>
>> gcc -m64 -o /home/mingo/tip/tools/testing/selftests/x86/protection_keys_64 -O2 -g -std=gnu99 -pthread -Wall protection_keys.c -lrt -ldl
>> In file included from protection_keys.c:45:0:
>> pkey-helpers.h: In function ‘sigsafe_printf’:
>> pkey-helpers.h:41:3: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
>> write(1, dprint_in_signal_buffer, len);
>> ^
>> protection_keys.c: In function ‘dumpit’:
>> protection_keys.c:407:3: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
>> write(1, buf, nr_read);
>> ^
>> gcc -m64 -o /home/mingo/tip/tools/testing/selftests/x86/test_vdso_64 -O2 -g -std=gnu99 -pthread -Wall test_vdso.c -lrt -ldl
>> test_vdso.c: In function ‘main’:
>> test_vdso.c:98:37: warning: ‘node’ may be used uninitialized in this function [-Wmaybe-uninitialized]
>> if (!ret_vsys && (cpu_vsys != cpu || node_vsys != node))
>> ^
>> test_vdso.c:78:12: note: ‘node’ was declared here
>> unsigned node;
>> ^
>>
>> I thought all this got already fixed?
>
> Hmm. I included all the patches Dave Hansen sent me in my pull request.
> I also added couple of cleanup patches I did for pkeys.
>
> I will take a look and see what's going on and let you know. I usually
> wait until rc1 comes out for the dust to settle before I go in run sanity
> checks on selftests. But I will do some test runs today and let you know
> what I find.
>
> Thanks for letting me know.
>
> -- Shuah
>

Sent in the fix. You are cc'ed on it. Thanks again for reporting it. It ended
to be an easy fix.

thanks,
-- Shuah