From: Ian Campbell <ijc@hellion.org.uk>
To: Nicholas Piggin <npiggin@gmail.com>, Michal Marek <mmarek@suse.com>
Cc: Ben Hutchings <ben@decadent.org.uk>,
Linus Torvalds <torvalds@linux-foundation.org>,
Adam Borowski <kilobyte@angband.pl>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Linux Kbuild mailing list <linux-kbuild@vger.kernel.org>,
Debian kernel maintainers <debian-kernel@lists.debian.org>,
"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
Arnd Bergmann <arnd@arndb.de>, Ingo Molnar <mingo@kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Dodji Seketeli <dodji@seketeli.org>
Subject: Re: [PATCH] x86/kbuild: enable modversions for symbols exported from asm
Date: Fri, 09 Dec 2016 15:21:33 +0000 [thread overview]
Message-ID: <1481296893.4509.135.camel@hellion.org.uk> (raw)
In-Reply-To: <20161209133308.0acbb57a@roar.ozlabs.ibm.com>
On Fri, 2016-12-09 at 13:33 +1000, Nicholas Piggin wrote:
>
> Well I simply tested the outcome. If you have:
>
> struct blah {
> int x;
> };
> int foo(struct blah *blah)
> {
> return blah->x;
> }
> EXPORT(foo);
>
> $ nm vmlinux | grep __crc_foo
> 00000000a0cf13a0 A __crc_foo
>
> Now change to
>
> struct blah {
> int y;
> int x;
> };
>
> $ nm vmlinux | grep __crc_foo
> 00000000a0cf13a0 A __crc_foo
>
> It just doesn't catch these things.
I found the same when I just added your snippet to init/main.c.
_But_ when I moved the struct into include/types.h (which happened to
be included by init/main.c) then, with just x in the struct:
$ make -s init/main.{o,symtypes} && grep -E foo\|blah init/main.symtypes && nm init/main.o | grep __crc_foo
s#blah struct blah { int x ; }
foo int foo ( s#blah * )
000000000cd0312e A __crc_foo
but adding y:
$ make -s init/main.{o,symtypes} && grep -E foo\|blah init/main.symtypes && nm init/main.o | grep __crc_foo
s#blah struct blah { int x ; int y ; }
foo int foo ( s#blah * )
00000000eda220c6 A __crc_foo
So it does catch things in that case.
With struct blah inline in main.c it was:
$ make -s init/main.{o,symtypes} && grep -E foo\|blah init/main.symtypes && nm init/main.o | grep __crc_foo
s#blah struct blah { UNKNOWN }
foo int foo ( s#blah * )
00000000a0cf13a0 A __crc_foo
So I suppose it only cares about structs which are in headers, which I
guess makes sense. I think it is working in at least one of the
important cases.
Ian.
next prev parent reply other threads:[~2016-12-09 15:21 UTC|newest]
Thread overview: 124+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <a73aec83-ddad-2bdf-e612-178c9936a16f@manjaro.org>
[not found] ` <20161102004639.6870806d@roar.ozlabs.ibm.com>
2016-11-23 20:08 ` BUG: 4.9-rc6 Still "no symbol version" on boot Philip Müller
2016-11-23 20:14 ` Robert LeBlanc
2016-11-23 20:27 ` Philip Müller
2016-11-23 20:53 ` Adam Borowski
2016-11-23 21:01 ` Robert LeBlanc
2016-11-23 21:02 ` [PATCH] x86/kbuild: enable modversions for symbols exported from asm Adam Borowski
2016-11-23 23:10 ` Philip Müller
2016-11-24 4:40 ` Ingo Molnar
2016-11-24 5:20 ` Nicholas Piggin
2016-11-24 6:00 ` Ingo Molnar
2016-11-24 7:20 ` Nicholas Piggin
2016-11-24 7:36 ` Greg Kroah-Hartman
2016-11-24 7:53 ` Nicholas Piggin
2016-11-24 9:32 ` Michal Marek
2016-11-24 10:03 ` Nicholas Piggin
2016-11-24 10:51 ` Michal Marek
2016-11-24 9:38 ` Arnd Bergmann
2016-11-24 10:01 ` Nicholas Piggin
2016-11-24 9:56 ` Greg Kroah-Hartman
2016-11-24 10:31 ` Nicholas Piggin
2016-11-24 15:24 ` Greg Kroah-Hartman
2016-11-25 0:40 ` Nicholas Piggin
2016-11-25 18:00 ` Linus Torvalds
2016-11-26 0:37 ` Nicholas Piggin
2016-11-29 1:15 ` Ben Hutchings
2016-11-29 2:31 ` Nicholas Piggin
2016-11-29 9:14 ` Michal Marek
2016-11-29 4:08 ` Linus Torvalds
2016-11-29 13:19 ` Adam Borowski
2016-11-29 13:29 ` Ingo Molnar
2016-11-29 14:24 ` Adam Borowski
2016-11-29 13:51 ` Adam Borowski
2016-11-29 15:27 ` Linus Torvalds
2016-11-29 16:03 ` Michal Marek
2016-11-29 16:17 ` Linus Torvalds
2016-11-29 19:57 ` Ben Hutchings
2016-11-29 20:35 ` Linus Torvalds
2016-11-30 18:18 ` Nicholas Piggin
2016-11-30 18:40 ` Linus Torvalds
2016-11-30 21:33 ` Ben Hutchings
2016-12-01 1:55 ` Nicholas Piggin
2016-12-01 2:35 ` Ben Hutchings
2016-12-01 3:39 ` Nicholas Piggin
2016-12-01 16:12 ` Michal Marek
2016-12-02 14:36 ` Hannes Frederic Sowa
2016-12-09 3:33 ` Nicholas Piggin
2016-12-09 15:21 ` Ian Campbell [this message]
2016-12-09 16:15 ` Nicholas Piggin
2016-12-09 22:46 ` Dodji Seketeli
2016-12-09 22:46 ` Dodji Seketeli
2016-12-10 12:41 ` Greg Kroah-Hartman
2016-12-12 3:50 ` Nicholas Piggin
2016-12-12 9:08 ` Ian Campbell
2016-12-14 17:59 ` Don Zickus
2016-12-13 1:07 ` Stanislav Kozina
2016-12-13 22:51 ` Michal Marek
2016-12-14 8:58 ` Dodji Seketeli
2016-12-14 8:58 ` Dodji Seketeli
2016-12-14 9:15 ` Michal Marek
2016-12-14 9:36 ` Dodji Seketeli
2016-12-14 9:36 ` Dodji Seketeli
2016-12-14 9:44 ` Michal Marek
2016-12-14 10:02 ` Dodji Seketeli
2016-12-14 10:02 ` Dodji Seketeli
2016-12-14 10:15 ` Michal Marek
2016-12-14 9:56 ` Dodji Seketeli
2016-12-14 9:56 ` Dodji Seketeli
2016-12-14 9:37 ` Michal Marek
2016-12-01 4:13 ` Don Zickus
2016-12-01 4:32 ` Nicholas Piggin
2016-12-01 15:20 ` Don Zickus
2016-12-01 15:26 ` Christoph Hellwig
2016-12-01 15:40 ` Don Zickus
2016-12-01 16:06 ` Greg Kroah-Hartman
2016-12-01 18:42 ` Don Zickus
2016-12-09 3:50 ` Nicholas Piggin
2016-12-09 7:55 ` Stanislav Kozina
2016-12-09 8:14 ` Nicholas Piggin
2016-12-09 14:36 ` Stanislav Kozina
2016-12-09 15:56 ` Nicholas Piggin
2016-12-09 16:03 ` Greg Kroah-Hartman
2016-12-12 9:48 ` Stanislav Kozina
2016-12-13 7:25 ` Nicholas Piggin
2016-12-14 14:04 ` Hannes Frederic Sowa
2016-12-15 2:06 ` Nicholas Piggin
2016-12-15 11:19 ` Hannes Frederic Sowa
2016-12-15 12:03 ` Nicholas Piggin
2016-12-15 13:15 ` Hannes Frederic Sowa
2016-12-15 14:15 ` Nicholas Piggin
2016-12-15 15:17 ` Hannes Frederic Sowa
2016-12-15 13:35 ` Stanislav Kozina
2016-12-09 16:16 ` Don Zickus
2016-12-01 10:48 ` Stanislav Kozina
2016-12-01 11:09 ` Nicholas Piggin
2016-12-01 11:33 ` Stanislav Kozina
2016-12-01 12:39 ` Nicholas Piggin
2016-12-01 15:19 ` Dodji Seketeli
2016-12-01 15:19 ` Dodji Seketeli
2016-12-01 15:19 ` Dodji Seketeli
2016-12-01 15:19 ` Dodji Seketeli
2016-12-01 16:14 ` Michal Marek
2016-11-29 17:05 ` Adam Borowski
2016-11-29 17:05 ` Adam Borowski
2016-11-29 17:10 ` Linus Torvalds
2016-11-29 17:14 ` Linus Torvalds
2016-12-01 13:58 ` Arnd Bergmann
2016-12-01 16:21 ` Michal Marek
2016-12-01 18:26 ` Linus Torvalds
2016-12-02 10:55 ` Arnd Bergmann
2016-12-02 12:40 ` [RFC, PATCH, v3.9] default exported asm symbols to zero Arnd Bergmann
2016-12-02 12:59 ` Geert Uytterhoeven
2016-12-02 14:51 ` Arnd Bergmann
2016-12-02 15:35 ` Adam Borowski
2016-12-02 15:35 ` Adam Borowski
2016-12-03 4:36 ` Ben Hutchings
2016-12-03 10:43 ` Arnd Bergmann
2016-12-02 17:04 ` [PATCH] x86/kbuild: enable modversions for symbols exported from asm Linus Torvalds
2016-12-04 7:44 ` Alan Modra
2016-12-04 20:44 ` Linus Torvalds
2016-11-29 21:23 ` Michal Marek
2016-11-24 9:25 ` Michal Marek
2016-11-24 11:42 ` Regression: " Kalle Valo
2016-11-23 23:07 ` BUG: 4.9-rc6 Still "no symbol version" on boot Philip Müller
2016-11-28 17:10 ` Robert LeBlanc
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=1481296893.4509.135.camel@hellion.org.uk \
--to=ijc@hellion.org.uk \
--cc=arnd@arndb.de \
--cc=ben@decadent.org.uk \
--cc=debian-kernel@lists.debian.org \
--cc=dodji@seketeli.org \
--cc=gregkh@linuxfoundation.org \
--cc=kilobyte@angband.pl \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=mmarek@suse.com \
--cc=npiggin@gmail.com \
--cc=torvalds@linux-foundation.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.