Messages in this thread | | | From | Ard Biesheuvel <> | Date | Fri, 11 Aug 2017 10:26:06 +0100 | Subject | Re: New assembler warnings with binutils 2.29 |
| |
On 11 August 2017 at 10:22, Catalin Marinas <catalin.marinas@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 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?
| |