Re: [PATCH] x86/kbuild: enable modversions for symbols exported from asm

From: Ingo Molnar
Date: Thu Nov 24 2016 - 01:01:00 EST



* Nicholas Piggin <npiggin@xxxxxxxxx> wrote:

> > scripts/Makefile.build | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------
> > 1 file changed, 72 insertions(+), 6 deletions(-)
> >
> > It was applied 4 hours after it was sent in the -rc3 timeframe, and then it went
> > upstream in -rc5:
> >
> > "Here are some regression fixes for kbuild:
> >
> > - modversion support for exported asm symbols (Nick Piggin). The
> > affected architectures need separate patches adding
> > asm-prototypes.h.
> >
> > ... the fine merge log even says that the commit 'needs separate patches'!
> >
> > It's still totally broken upstream and it didn't fix any regressions AFAICS (or if
> > it did then its changelog was very silent on that fact).
>
> Well it doesn't fix regression by itself, as discussed it needs architecture
> patches. I've tried keeping linux-arch on cc for all this modversion breakage
> stuff since it became clear it would require arch changes.
>
> The actual x86 bug I suppose you would say is caused by 784d5699eddc5. But I
> should probably have included more background in the above initial crc support
> patch, e.g, at least reference 22823ab419d. So mea culpa for that.

Indeed 784d5699eddc5 makes more sense:

784d5699eddc ("x86: move exports to actual definitions")
22823ab419d8 ("EXPORT_SYMBOL() for asm")

... and sorry about coming down on you and Marek!

I've Cc:-ed Al.

I think what happened is that 22823ab419d8 and 784d5699eddc caused the boot
regression (modular builds with modversions enabled not booting), and your fix
half-fixed it - with the remaining fix (that adds the header to x86) fixing the
rest.

Still the fact remains that modversions was broken in -rc1 which delayed testing
done by a number of prominent testers. :-(

Thanks,

Ingo