Subject: Re: [PATCH 5.4 only] powerpc: boot: Remove unnecessary zero in label in udelay()

From: Nathan Chancellor <[email-masked]>
Date: Wed, 3 Sep 2025 14:14:42 -0700

On Wed, Sep 03, 2025 at 01:15:38AM -0500, Segher Boessenkool wrote:
> Hi!
> 
> On Tue, Sep 02, 2025 at 04:52:34PM -0700, Nathan Chancellor wrote:
> > When building powerpc configurations in linux-5.4.y with binutils 2.43
> > or newer, there is an assembler error in arch/powerpc/boot/util.S:
> > 
> >   arch/powerpc/boot/util.S: Assembler messages:
> >   arch/powerpc/boot/util.S:44: Error: junk at end of line, first unrecognized character is `0'
> >   arch/powerpc/boot/util.S:49: Error: syntax error; found `b', expected `,'
> >   arch/powerpc/boot/util.S:49: Error: junk at end of line: `b'
> > 
> > binutils 2.43 contains stricter parsing of certain labels [1].
> > 
> > Remove the unnecessary leading zero to fix the build.
> 
> To fix it by getting rid of this syntax error, you mean?  "00" is not a
> valid label name: a) it cannot be a symbol name, it starts with a digit;
> and b) it isn't a valid local label either.  As the manual says
> > To define a local label, write a label of the form ‘N:’ (where N
> > represents any non-negative integer).
> "0" is written "0", not as "00" (or "0-0" or even "0-0-0", hehe).

Sure, I have sent a v2 that hopefully makes it a little clearer that the
code in the kernel was already problematic under the existing rules.

https://lore.kernel.org/[email-masked]/

Cheers,
Nathan