Message ID | CAK8P3a2vXJT1g6wa4cbcDJ48sfOKfemazV0e1crJ5v=6DOZ5fg@mail.gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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 */
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 */
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 */
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 --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")