Hi Stephen, On Sat, Nov 28, 2020 at 2:28 AM Stephen Rothwell <[email protected]> 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 <[email protected]> > Cc: Michael Turquette <[email protected]> > Cc: Stephen Boyd <[email protected]> > Cc: Yisen Zhuang <[email protected]> > Cc: Salil Mehta <[email protected]> > Cc: David S. Miller <[email protected]> > Cc: Jakub Kicinski <[email protected]> > Cc: Nicholas Piggin <[email protected]> > Cc: Daniel Axtens <[email protected]> > Cc: Joel Stanley <[email protected]> > Signed-off-by: Stephen Rothwell <[email protected]>
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/[email protected] (when lore is back) Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected] 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

