Hi Stephen, On Sat, Nov 28, 2020 at 2:28 AM Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > There are 2 drivers that have arrays of packed structures that contain > pointers that end up at unaligned offsets. These produce warnings in > the PowerPC allyesconfig build like this: > > WARNING: 148 bad relocations > c00000000e56510b R_PPC64_UADDR64 .rodata+0x0000000001c72378 > c00000000e565126 R_PPC64_UADDR64 .rodata+0x0000000001c723c0 > > They are not drivers that are used on PowerPC (I assume), so mark them > to not be built on PPC64 when CONFIG_RELOCATABLE is enabled. > > Cc: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > Cc: Michael Turquette <mturquette@xxxxxxxxxxxx> > Cc: Stephen Boyd <sboyd@xxxxxxxxxx> > Cc: Yisen Zhuang <yisen.zhuang@xxxxxxxxxx> > Cc: Salil Mehta <salil.mehta@xxxxxxxxxx> > Cc: David S. Miller <davem@xxxxxxxxxxxxx> > Cc: Jakub Kicinski <kuba@xxxxxxxxxx> > Cc: Nicholas Piggin <npiggin@xxxxxxxxx> > Cc: Daniel Axtens <dja@xxxxxxxxxx> > Cc: Joel Stanley <joel@xxxxxxxxx> > Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Thanks for your patch! > --- a/drivers/clk/renesas/Kconfig > +++ b/drivers/clk/renesas/Kconfig > @@ -151,6 +151,10 @@ config CLK_R8A779A0 > select CLK_RENESAS_CPG_MSSR > > config CLK_R9A06G032 > + # PPC64 RELOCATABLE kernels cannot handle relocations to > + # unaligned locations that are produced by the array of > + # packed structures in this driver. > + depends on !(PPC64 && RELOCATABLE) > bool "Renesas R9A06G032 clock driver" > help > This is a driver for R9A06G032 clocks I prefer to fix this in the driver instead. The space saving by packing the structure is minimal. I've sent a patch https://lore.kernel.org/r/20201130085743.1656317-1-geert+renesas@xxxxxxxxx (when lore is back) Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds