Re: [PATCH] powerpc/booke: Avoid link stack corruption in several places

From: Segher Boessenkool
Date: Mon Aug 23 2021 - 12:04:48 EST


On Mon, Aug 23, 2021 at 07:53:01AM +0000, Christophe Leroy wrote:
> /* Be careful, this will clobber the lr register. */
> #define LOAD_REG_ADDR_PIC(reg, name) \
> - bl 0f; \
> + bcl 20,31,0f \
> 0: mflr reg; \
> addis reg,reg,(name - 0b)@ha; \
> addi reg,reg,(name - 0b)@l;

The code ended each line with a semicolon before, for absolutely no
reason that I can see, but still. Fixing that would be nice, but only
doing it on one line isn't good.

Btw. Both the 7450 and the modern cores implementing this really need
this to be $+4, so it is a lot clearer to write that instead of 1f or
a named label.


Segher