Hi Geert, On Mon, 30 Nov 2020 09:57:43 +0100 Geert Uytterhoeven <geert+renesas@xxxxxxxxx> wrote: > > The R9A06G032 clock driver uses an array of packed structures to reduce > kernel size. However, this array contains pointers, which are no longer > aligned naturally, and cannot be relocated on PPC64. Hence when > compile-testing this driver on PPC64 with CONFIG_RELOCATABLE=y (e.g. > PowerPC allyesconfig), the following warnings are produced: > > WARNING: 136 bad relocations > c000000000616be3 R_PPC64_UADDR64 .rodata+0x00000000000cf338 > c000000000616bfe R_PPC64_UADDR64 .rodata+0x00000000000cf370 > ... > > Fix this by dropping the __packed attribute from the r9a06g032_clkdesc > definition, trading a small size increase for portability. > > This increases the 156-entry clock table by 1 byte per entry, but due to > the compiler generating more efficient code for unpacked accesses, the > net size increase is only 76 bytes (gcc 9.3.0 on arm32). > > Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> > Fixes: 4c3d88526eba2143 ("clk: renesas: Renesas R9A06G032 clock driver") > Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > --- > v2: > - Fix authorship. > --- > drivers/clk/renesas/r9a06g032-clocks.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Thanks. I have added that to my fixes tree until it gets picked up elsewhere. -- Cheers, Stephen Rothwell
Attachment:
pgp1TKbwA21tM.pgp
Description: OpenPGP digital signature