From: Russell King - ARM Linux <linux@armlinux.org.uk>
To: Nicolas Pitre <nicolas.pitre@linaro.org>,
Arnd Bergmann <arnd@arndb.de>,
Nicholas Piggin <npiggin@gmail.com>,
viro@zeniv.linux.org.uk
Cc: "Uwe Kleine-König" <uwe@kleine-koenig.org>,
linux-arm-kernel@lists.infradead.org,
linux-kbuild@vger.kernel.org, linux-arch@vger.kernel.org,
regressions@leemhuis.info, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] kbuild: provide include/asm/asm-prototypes.h for ARM
Date: Wed, 23 Nov 2016 00:41:07 +0000 [thread overview]
Message-ID: <20161123004106.GA14217@n2100.armlinux.org.uk> (raw)
In-Reply-To: <alpine.LFD.2.20.1611221106410.1814@knanqh.ubzr>
On Tue, Nov 22, 2016 at 11:34:48AM -0500, Nicolas Pitre wrote:
> On Tue, 22 Nov 2016, Arnd Bergmann wrote:
> > This adds an asm/asm-prototypes.h header for ARM to fix the broken symbol
> > versioning for symbols exported from assembler files.
> >
> > I couldn't find the correct prototypes for the compiler builtins,
> > so I went with the fake 'void f(void)' prototypes that we had
> > before, restoring the state before they were moved.
> >
> > Originally I assumed that the problem was just a harmless warning
> > in unusual configurations, but as Uwe found, we actually need this
> > to load most modules when symbol versioning is enabled, as it is
> > in many distro kernels.
> >
> > Cc: Uwe Kleine-König <uwe@kleine-koenig.org>
> > Fixes: 4dd1837d7589 ("arm: move exports to definitions")
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > ---
> > Compared to the earlier version, I dropped the changes to the
> > csumpartial files, which now get handled correctly by Kbuild
> > even when the export comes from a macro, and I also dropped the
> > changes to the bitops files, which were already fixed in a
> > patch from Nico.
> >
> > The patch applies cleanly on top of the rmk/fixes tree but has
> > no effect there, as it also needs 4efca4ed05cb ("kbuild: modversions
> > for EXPORT_SYMBOL() for asm") and cc6acc11cad1 ("kbuild: be more
> > careful about matching preprocessed asm ___EXPORT_SYMBOL").
> >
> > With the combination of rmk/fixes, torvalds/master and these two
> > patches, symbol versioning works again on ARM. As it is still
> > broken on almost all other architectures (powerpc is fixed,
> > x86 has a patch), I wonder if we should make CONFIG_MODVERSIONS
> > as broken for everything else.
>
> I'm not sure I like this at all.
>
> The goal for moving EXPORT_SYMBOL() to assembly code where symbols were
> defined is to make things close together and avoid those centralized
> list of symbols that you can easily miss when modifying the actual code.
>
> This series is therefore bringing back a centralized list of symbols in
> a slightly different form, nullifying the advantages from having moved
> EXPORT_SYMBOL() to asm code. To me this looks like a big step backward.
>
> Why not simply extending the original idea of keeping exports close to
> the actual code by _also_ having a macro that provides the function
> prototype alongside the EXPORT_SYMBOL() instance? That could even be
> expressed with some EXPORT_SYMBOL_PROTO(ret, sym, arg...) macro that
> does it all.
What you're saying is that you don't like the solution that's taken
weeks to get merged up to this point, so where do we go from here
now? This crap has been broken since 4.9-rc1, and is a regression.
I think at this point, we just declare that modversions are broken
on ARM, and those who created this mess get to explain to people
why the fsck they broke the kernel.
4.9 is the next LTS kernel? ROTFL!
I agree with Nicolas - it seems that the whole EXPORT_SYMBOL() crap
has just been a pointless exercise in churn, resulting only in
something "different" because it looks "cool" to do it some other
way. There's no real benefit here at all, only harm.
Just revert the damned patches that created this breakage in the
first place please. It's now way too late to be trying to fix it
any other way.
--
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
next prev parent reply other threads:[~2016-11-23 0:41 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-22 11:05 [PATCH 1/2] kbuild: provide include/asm/asm-prototypes.h for ARM Arnd Bergmann
2016-11-22 11:05 ` [PATCH 2/2] ARM: move mmiocpy/mmioset exports to io.c Arnd Bergmann
2016-11-22 11:05 ` Arnd Bergmann
2016-11-22 16:34 ` [PATCH 1/2] kbuild: provide include/asm/asm-prototypes.h for ARM Nicolas Pitre
2016-11-22 16:34 ` Nicolas Pitre
2016-11-23 0:41 ` Russell King - ARM Linux [this message]
2016-11-23 0:41 ` Russell King - ARM Linux
2016-11-23 1:40 ` Nicholas Piggin
2016-11-23 1:04 ` Nicholas Piggin
2016-11-23 1:04 ` Nicholas Piggin
2016-11-23 1:35 ` Nicolas Pitre
2016-11-23 9:33 ` Russell King - ARM Linux
2016-11-23 9:33 ` Russell King - ARM Linux
2016-11-23 10:36 ` Russell King - ARM Linux
2016-11-23 10:36 ` Russell King - ARM Linux
2016-11-27 2:33 ` Nicolas Pitre
2016-11-27 2:33 ` Nicolas Pitre
[not found] <20161017065131.GA27863@angband.pl>
2016-10-20 4:08 ` [PATCH] " Nicholas Piggin
2016-10-24 15:04 ` Arnd Bergmann
2016-10-24 15:05 ` [PATCH 1/2] " Arnd Bergmann
2016-10-24 15:05 ` Arnd Bergmann
2016-10-25 8:32 ` Nicholas Piggin
2016-11-20 13:21 ` Russell King - ARM Linux
2016-11-20 18:32 ` Linus Torvalds
2016-11-20 19:12 ` Russell King - ARM Linux
2016-11-20 19:12 ` Russell King - ARM Linux
2016-11-21 6:10 ` Nicholas Piggin
2016-11-21 6:10 ` Nicholas Piggin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161123004106.GA14217@n2100.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=arnd@arndb.de \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nicolas.pitre@linaro.org \
--cc=npiggin@gmail.com \
--cc=regressions@leemhuis.info \
--cc=uwe@kleine-koenig.org \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).