2022-02-11 17:39:59

by Shuah Khan

[permalink] [raw]
Subject: Re: [PATCH 1/2] selftests: x86: allow expansion of $(CC)

On 2/11/22 9:47 AM, David Laight wrote:
> From: Shuah Khan
>> Sent: 10 February 2022 20:52
>>
>> On 2/10/22 12:06 PM, Muhammad Usama Anjum wrote:
>>> CC can have multiple sub-strings like "ccache gcc". Erorr pops up if
>>> it is treated as single string and double quote are used around it.
>>> This can be fixed by removing the quotes and not treating CC a single
>>> string.
>>>
>>> Fixes: e9886ace222e ("selftests, x86: Rework x86 target architecture detection")
>>> Reported-by: "kernelci.org bot" <[email protected]>
>>> Signed-off-by: Muhammad Usama Anjum <[email protected]>
>>> ---
>>> tools/testing/selftests/x86/check_cc.sh | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/tools/testing/selftests/x86/check_cc.sh b/tools/testing/selftests/x86/check_cc.sh
>>> index 3e2089c8cf549..aff2c15018b53 100755
>>> --- a/tools/testing/selftests/x86/check_cc.sh
>>> +++ b/tools/testing/selftests/x86/check_cc.sh
>>> @@ -7,7 +7,7 @@ CC="$1"
>>> TESTPROG="$2"
>>> shift 2
>>>
>>> -if "$CC" -o /dev/null "$TESTPROG" -O0 "$@" 2>/dev/null; then
>>> +if $CC -o /dev/null "$TESTPROG" -O0 "$@" 2>/dev/null; then
>>> echo 1
>>> else
>>> echo 0
>>>
>>
>> The intent is testing if $CC is set. Does this change work when
>> $CC is not set?
>
> More by luck than judgement. Before and after.
> If $CC might be empty you probably want:
>
> [ -n "$CC" ] && { echo 0; return; }
>
> The subject is also wrong. Should be "allow field splitting' of ${CC}.
> (no brace or curly braces, not round ones.)
>

Good points. It would be good enhancement to add the check - since the
current logic doesn't handle the null CC

thanks,
-- Shuah


2022-02-14 10:52:46

by Muhammad Usama Anjum

[permalink] [raw]
Subject: Re: [PATCH 1/2] selftests: x86: allow expansion of $(CC)

On 2/11/22 10:13 PM, Shuah Khan wrote:
> On 2/11/22 9:47 AM, David Laight wrote:
>> From: Shuah Khan
>>> Sent: 10 February 2022 20:52
>>>
>>> On 2/10/22 12:06 PM, Muhammad Usama Anjum wrote:
>>>> CC can have multiple sub-strings like "ccache gcc". Erorr pops up if
>>>> it is treated as single string and double quote are used around it.
>>>> This can be fixed by removing the quotes and not treating CC a single
>>>> string.
>>>>
>>>> Fixes: e9886ace222e ("selftests, x86: Rework x86 target architecture
>>>> detection")
>>>> Reported-by: "kernelci.org bot" <[email protected]>
>>>> Signed-off-by: Muhammad Usama Anjum <[email protected]>
>>>> ---
>>>>    tools/testing/selftests/x86/check_cc.sh | 2 +-
>>>>    1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/tools/testing/selftests/x86/check_cc.sh
>>>> b/tools/testing/selftests/x86/check_cc.sh
>>>> index 3e2089c8cf549..aff2c15018b53 100755
>>>> --- a/tools/testing/selftests/x86/check_cc.sh
>>>> +++ b/tools/testing/selftests/x86/check_cc.sh
>>>> @@ -7,7 +7,7 @@ CC="$1"
>>>>    TESTPROG="$2"
>>>>    shift 2
>>>>
>>>> -if "$CC" -o /dev/null "$TESTPROG" -O0 "$@" 2>/dev/null; then
>>>> +if $CC -o /dev/null "$TESTPROG" -O0 "$@" 2>/dev/null; then
>>>>        echo 1
>>>>    else
>>>>        echo 0
>>>>
>>>
>>> The intent is testing if $CC is set. Does this change work when
>>> $CC is not set?
>>
>> More by luck than judgement. Before and after.
>> If $CC might be empty you probably want:
>>
>> [ -n "$CC" ] && { echo 0; return; }
>>
>> The subject is also wrong. Should be "allow field splitting' of ${CC}.
>> (no brace or curly braces, not round ones.)
>>
>
> Good points. It would be good enhancement to add the check - since the
> current logic doesn't handle the null CC
>
I'll send a V2.
> thanks,
> -- Shuah