Re: [stable:linux-5.4.y 5541/6083] ERROR: "__memcat_p" [drivers/hwtracing/stm/stm_core.ko] undefined!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 04, 2021 at 09:41:14AM +0200, Arnd Bergmann wrote:
> On Tue, May 4, 2021 at 6:43 AM Greg Kroah-Hartman
> <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> > On Mon, May 03, 2021 at 09:16:42PM +0200, Arnd Bergmann wrote:
> > > On Mon, May 3, 2021 at 7:00 PM 'Nick Desaulniers' via Clang Built
> > > Linux <clang-built-linux@xxxxxxxxxxxxxxxx> wrote:
> > > > > > >> ERROR: "__memcat_p" [drivers/hwtracing/stm/stm_core.ko] undefined!
> > > > >
> > > > > I'm fairly sure this is unrelated to my patch, but I don't see what
> > > > > happened here.
> > > >
> > > > It's unrelated to your patch. It was fixed in 5.7 by
> > > > 7273ad2b08f8ac9563579d16a3cf528857b26f49 and a few other dependencies
> > > > according to https://github.com/ClangBuiltLinux/linux/issues/515.
> > > >
> > >
> > > Ah right, the big hammer.
> > >
> > > Greg, not sure what we want to do here. Backporting
> > >
> > > 7273ad2b08f8 ("kbuild: link lib-y objects to vmlinux forcibly when
> > > CONFIG_MODULES=y")
> > >
> > > to v5.4 and earlier would be an easy workaround, but it has the potential
> > > of adding extra bloat to the kernel image since it links in all other
> > > library objects as well.
> >
> > I've lost the thread here, but what _real_ problem is happening here
> > that doing the above is required?
> 
> Randconfig builds fail if drivers/hwtracing/stm/stm_core.ko is a loadable
> modules and nothing inside vmlinux forces lib/memcat_p.o to be
> linked in. A simpler workaround for v5.4 would be:
> 
> diff --git a/lib/Makefile b/lib/Makefile
> index a5c5f342ade0..745d1207e9e2 100644
> --- a/lib/Makefile
> +++ b/lib/Makefile
> @@ -33,7 +33,7 @@ lib-y := ctype.o string.o vsprintf.o cmdline.o \
>          flex_proportions.o ratelimit.o show_mem.o \
>          is_single_threaded.o plist.o decompress.o kobject_uevent.o \
>          earlycpio.o seq_buf.o siphash.o dec_and_lock.o \
> -        nmi_backtrace.o nodemask.o win_minmax.o memcat_p.o \
> +        nmi_backtrace.o nodemask.o win_minmax.o \
>          buildid.o
> 
>  lib-$(CONFIG_PRINTK) += dump_stack.o
> @@ -48,7 +48,7 @@ obj-y += bcd.o sort.o parser.o debug_locks.o random32.o \
>          bsearch.o find_bit.o llist.o memweight.o kfifo.o \
>          percpu-refcount.o rhashtable.o \
>          once.o refcount.o usercopy.o errseq.o bucket_locks.o \
> -        generic-radix-tree.o
> +        generic-radix-tree.o memcat_p.o
>  obj-$(CONFIG_STRING_SELFTEST) += test_string.o
>  obj-y += string_helpers.o
>  obj-$(CONFIG_TEST_STRING_HELPERS) += test-string_helpers.o
> 
> which is the same as what 7273ad2b08f8 does, but only for this one file
> instead of all of lib/*.o.

I think a "one off" change would be best here.  Can you submit it?

thanks,

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux