diff mbox

stable-rc build: 2 warnings 0 failures (stable-rc/v4.14.13-119-gb32d455)

Message ID CAK8P3a2vXJT1g6wa4cbcDJ48sfOKfemazV0e1crJ5v=6DOZ5fg@mail.gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Arnd Bergmann Jan. 15, 2018, 1:38 p.m. UTC
On Mon, Jan 15, 2018 at 1:30 PM, Olof's autobuilder <build@lixom.net> wrote:

> Warnings:
>
>         arm.allmodconfig:
> /tmp/cccX4oa4.s:18153: Warning: using r15 results in unpredictable behaviour
> /tmp/cccX4oa4.s:18225: Warning: using r15 results in unpredictable behaviour

This appears to be an old issue that only now started to get reported
here. From what I can
tell, new versions of binutils warn about two isntructions in the kprobes test:

Maybe we can work around it using a patch like below?

        Arnd

        /* Data-processing with SP as target */

Comments

Ard Biesheuvel Jan. 15, 2018, 3:08 p.m. UTC | #1
On 15 January 2018 at 13:38, Arnd Bergmann <arnd@arndb.de> wrote:
> On Mon, Jan 15, 2018 at 1:30 PM, Olof's autobuilder <build@lixom.net> wrote:
>
>> Warnings:
>>
>>         arm.allmodconfig:
>> /tmp/cccX4oa4.s:18153: Warning: using r15 results in unpredictable behaviour
>> /tmp/cccX4oa4.s:18225: Warning: using r15 results in unpredictable behaviour
>
> This appears to be an old issue that only now started to get reported
> here. From what I can
> tell, new versions of binutils warn about two isntructions in the kprobes test:
>
> Maybe we can work around it using a patch like below?
>
>         Arnd
>

Can't we just add -Wa,--no-warn for this file?


> diff --git a/arch/arm/probes/kprobes/test-arm.c
> b/arch/arm/probes/kprobes/test-arm.c
> index 8866aedfdea2..8b7df0ce04d2 100644
> --- a/arch/arm/probes/kprobes/test-arm.c
> +++ b/arch/arm/probes/kprobes/test-arm.c
> @@ -169,10 +169,10 @@ void kprobe_arm_test_cases(void)
>
>         /* Data-processing with PC as a target and status registers updated */
>         TEST_UNSUPPORTED("movs  pc, r1")
> -       TEST_UNSUPPORTED("movs  pc, r1, lsl r2")
> +       TEST_UNSUPPORTED(__inst_arm(0xe1b0f211) "       @ movs  pc, r1, lsl r2")
>         TEST_UNSUPPORTED("movs  pc, #0x10000")
>         TEST_UNSUPPORTED("adds  pc, lr, r1")
> -       TEST_UNSUPPORTED("adds  pc, lr, r1, lsl r2")
> +       TEST_UNSUPPORTED(__inst_arm(0xe09ef211) "       @ adds  pc,
> lr, r1, lsl r2")
>         TEST_UNSUPPORTED("adds  pc, lr, #4")
>
>         /* Data-processing with SP as target */
Arnd Bergmann Jan. 15, 2018, 3:17 p.m. UTC | #2
On Mon, Jan 15, 2018 at 4:08 PM, Ard Biesheuvel
<ard.biesheuvel@linaro.org> wrote:
> On 15 January 2018 at 13:38, Arnd Bergmann <arnd@arndb.de> wrote:
>> On Mon, Jan 15, 2018 at 1:30 PM, Olof's autobuilder <build@lixom.net> wrote:
>>
>>> Warnings:
>>>
>>>         arm.allmodconfig:
>>> /tmp/cccX4oa4.s:18153: Warning: using r15 results in unpredictable behaviour
>>> /tmp/cccX4oa4.s:18225: Warning: using r15 results in unpredictable behaviour
>>
>> This appears to be an old issue that only now started to get reported
>> here. From what I can
>> tell, new versions of binutils warn about two isntructions in the kprobes test:
>>
>> Maybe we can work around it using a patch like below?
>>
>>         Arnd
>>
>
> Can't we just add -Wa,--no-warn for this file?

Probably (have not tried). Any reason for preferring one approach over
the other?
My suggestion for using __inst_arm() was based on that macro already being
used a lot in the file, I just don't know if I used it right.

If we turn off the warnings, would you change some of the __inst_arm()
back intro the proper instructions?

>> diff --git a/arch/arm/probes/kprobes/test-arm.c
>> b/arch/arm/probes/kprobes/test-arm.c
>> index 8866aedfdea2..8b7df0ce04d2 100644
>> --- a/arch/arm/probes/kprobes/test-arm.c
>> +++ b/arch/arm/probes/kprobes/test-arm.c
>> @@ -169,10 +169,10 @@ void kprobe_arm_test_cases(void)
>>
>>         /* Data-processing with PC as a target and status registers updated */
>>         TEST_UNSUPPORTED("movs  pc, r1")
>> -       TEST_UNSUPPORTED("movs  pc, r1, lsl r2")
>> +       TEST_UNSUPPORTED(__inst_arm(0xe1b0f211) "       @ movs  pc, r1, lsl r2")
>>         TEST_UNSUPPORTED("movs  pc, #0x10000")
>>         TEST_UNSUPPORTED("adds  pc, lr, r1")
>> -       TEST_UNSUPPORTED("adds  pc, lr, r1, lsl r2")
>> +       TEST_UNSUPPORTED(__inst_arm(0xe09ef211) "       @ adds  pc,
>> lr, r1, lsl r2")
>>         TEST_UNSUPPORTED("adds  pc, lr, #4")
>>
>>         /* Data-processing with SP as target */
Ard Biesheuvel Jan. 15, 2018, 3:22 p.m. UTC | #3
On 15 January 2018 at 15:17, Arnd Bergmann <arnd@arndb.de> wrote:
> On Mon, Jan 15, 2018 at 4:08 PM, Ard Biesheuvel
> <ard.biesheuvel@linaro.org> wrote:
>> On 15 January 2018 at 13:38, Arnd Bergmann <arnd@arndb.de> wrote:
>>> On Mon, Jan 15, 2018 at 1:30 PM, Olof's autobuilder <build@lixom.net> wrote:
>>>
>>>> Warnings:
>>>>
>>>>         arm.allmodconfig:
>>>> /tmp/cccX4oa4.s:18153: Warning: using r15 results in unpredictable behaviour
>>>> /tmp/cccX4oa4.s:18225: Warning: using r15 results in unpredictable behaviour
>>>
>>> This appears to be an old issue that only now started to get reported
>>> here. From what I can
>>> tell, new versions of binutils warn about two isntructions in the kprobes test:
>>>
>>> Maybe we can work around it using a patch like below?
>>>
>>>         Arnd
>>>
>>
>> Can't we just add -Wa,--no-warn for this file?
>
> Probably (have not tried). Any reason for preferring one approach over
> the other?
> My suggestion for using __inst_arm() was based on that macro already being
> used a lot in the file, I just don't know if I used it right.
>
> If we turn off the warnings, would you change some of the __inst_arm()
> back intro the proper instructions?
>

TBH I didn't look at the file before replying. But it appears some of
the opcodes trigger errors rather than warnings, so we can't get rid
of all of them. I still think just disabling assembler warnings is
justified here.

>>> diff --git a/arch/arm/probes/kprobes/test-arm.c
>>> b/arch/arm/probes/kprobes/test-arm.c
>>> index 8866aedfdea2..8b7df0ce04d2 100644
>>> --- a/arch/arm/probes/kprobes/test-arm.c
>>> +++ b/arch/arm/probes/kprobes/test-arm.c
>>> @@ -169,10 +169,10 @@ void kprobe_arm_test_cases(void)
>>>
>>>         /* Data-processing with PC as a target and status registers updated */
>>>         TEST_UNSUPPORTED("movs  pc, r1")
>>> -       TEST_UNSUPPORTED("movs  pc, r1, lsl r2")
>>> +       TEST_UNSUPPORTED(__inst_arm(0xe1b0f211) "       @ movs  pc, r1, lsl r2")
>>>         TEST_UNSUPPORTED("movs  pc, #0x10000")
>>>         TEST_UNSUPPORTED("adds  pc, lr, r1")
>>> -       TEST_UNSUPPORTED("adds  pc, lr, r1, lsl r2")
>>> +       TEST_UNSUPPORTED(__inst_arm(0xe09ef211) "       @ adds  pc,
>>> lr, r1, lsl r2")
>>>         TEST_UNSUPPORTED("adds  pc, lr, #4")
>>>
>>>         /* Data-processing with SP as target */
Arnd Bergmann Feb. 3, 2018, 4:22 p.m. UTC | #4
On Mon, Jan 15, 2018 at 4:22 PM, Ard Biesheuvel
<ard.biesheuvel@linaro.org> wrote:
> On 15 January 2018 at 15:17, Arnd Bergmann <arnd@arndb.de> wrote:
>> On Mon, Jan 15, 2018 at 4:08 PM, Ard Biesheuvel
>> <ard.biesheuvel@linaro.org> wrote:
>>> On 15 January 2018 at 13:38, Arnd Bergmann <arnd@arndb.de> wrote:
>>>> On Mon, Jan 15, 2018 at 1:30 PM, Olof's autobuilder <build@lixom.net> wrote:
>>>>
>>>>> Warnings:
>>>>>
>>>>>         arm.allmodconfig:
>>>>> /tmp/cccX4oa4.s:18153: Warning: using r15 results in unpredictable behaviour
>>>>> /tmp/cccX4oa4.s:18225: Warning: using r15 results in unpredictable behaviour
>>>>
>>>> This appears to be an old issue that only now started to get reported
>>>> here. From what I can
>>>> tell, new versions of binutils warn about two isntructions in the kprobes test:
>>>>
>>>> Maybe we can work around it using a patch like below?
>>>>
>>>>         Arnd
>>>>
>>>
>>> Can't we just add -Wa,--no-warn for this file?
>>
>> Probably (have not tried). Any reason for preferring one approach over
>> the other?
>> My suggestion for using __inst_arm() was based on that macro already being
>> used a lot in the file, I just don't know if I used it right.
>>
>> If we turn off the warnings, would you change some of the __inst_arm()
>> back intro the proper instructions?
>>
>
> TBH I didn't look at the file before replying. But it appears some of
> the opcodes trigger errors rather than warnings, so we can't get rid
> of all of them. I still think just disabling assembler warnings is
> justified here.

I have not put my patch in Russell's tracker yet, but now that I did
some tests with LTO, the warning has come back, since in the LTO
case, the "-Wa," flags to individual .c files are ignored.

        Arnd
diff mbox

Patch

diff --git a/arch/arm/probes/kprobes/test-arm.c
b/arch/arm/probes/kprobes/test-arm.c
index 8866aedfdea2..8b7df0ce04d2 100644
--- a/arch/arm/probes/kprobes/test-arm.c
+++ b/arch/arm/probes/kprobes/test-arm.c
@@ -169,10 +169,10 @@  void kprobe_arm_test_cases(void)

        /* Data-processing with PC as a target and status registers updated */
        TEST_UNSUPPORTED("movs  pc, r1")
-       TEST_UNSUPPORTED("movs  pc, r1, lsl r2")
+       TEST_UNSUPPORTED(__inst_arm(0xe1b0f211) "       @ movs  pc, r1, lsl r2")
        TEST_UNSUPPORTED("movs  pc, #0x10000")
        TEST_UNSUPPORTED("adds  pc, lr, r1")
-       TEST_UNSUPPORTED("adds  pc, lr, r1, lsl r2")
+       TEST_UNSUPPORTED(__inst_arm(0xe09ef211) "       @ adds  pc,
lr, r1, lsl r2")
        TEST_UNSUPPORTED("adds  pc, lr, #4")