On 11 August 2017 at 10:34, Arnd Bergmann <a...@arndb.de> wrote: > On Fri, Aug 11, 2017 at 11:26 AM, Ard Biesheuvel > <ard.biesheu...@linaro.org> wrote: >> On 11 August 2017 at 10:22, Catalin Marinas <catalin.mari...@arm.com> wrote: >>> On Thu, Aug 10, 2017 at 01:13:22PM -0700, Laura Abbott wrote: >>>> Fedora rawhide recently upgraded to binutils 2.29 and this seems >>>> to produce new warnings: >>>> >>>> ./arch/arm64/include/asm/assembler.h: Assembler messages: >>>> ./arch/arm64/include/asm/assembler.h:125: Warning: ignoring attempt to >>>> redefine built-in register 'lr' >>>> >>>> This is >>>> >>>> /* >>>> * Register aliases. >>>> */ >>>> lr .req x30 // link register >>> >>> Strange, does gas now think 'lr' is a general purpose register (aliased >>> to x30)? It never was and IIRC the toolchain people many years ago >>> refused to add it, hence the alias above in the kernel. I wonder if they >>> added 'fp' as well... >>> >>> We could remove the alias and replace all 'lr' instances with 'x30' >>> throughout the kernel (no too many) or we add some #ifdef around the >>> above based on the binutils version. >>> >> >> This is annoying. Replacing x30 with lr achieves the opposite of the
Of course, I meant replacing lr with x30 in our code. >> intent of the binutils change. And using #ifdefs is inaccurate, >> because you can't really test the binutils version only the GCC >> version, and those are not tightly coupled. >> >> Can you .unreq it? > > adding the author of the change to cc > > https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=62e20ed45e3da5f3ba695e4ee109317668180fe6 > > There probably was some reasoning behind the change and an > intended method for using it. > > Arnd