All of lore.kernel.org
 help / color / mirror / Atom feed
From: Frank Rowand <frank.rowand@am.sony.com>
To: Alessio Igor Bogani <abogani@kernel.org>
Cc: "Rowand, Frank" <Frank_Rowand@sonyusa.com>,
	Rusty Russell <rusty@rustcorp.com.au>,
	Jan Beulich <jbeulich@novell.com>,
	Kbuild <linux-kbuild@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	"Bird, Tim" <Tim.Bird@am.sony.com>,
	Anders Kaseorg <andersk@ksplice.com>,
	Arnaud Lacombe <lacombar@gmail.com>
Subject: Re: [PATCH] modpost: Fix modpost's license checking V3
Date: Tue, 27 Mar 2012 15:59:36 -0700	[thread overview]
Message-ID: <4F724658.6010404@am.sony.com> (raw)
In-Reply-To: <CAPk1OjELnXiZVreaEh94e3RT306mmkQxxyg2DH5aYy=rQ9yr1w@mail.gmail.com>

On 03/27/12 00:19, Alessio Igor Bogani wrote:
> Dear Mr. Rowand,
> 
> Il 27 marzo 2012 03:58, Frank Rowand <frank.rowand@am.sony.com> ha scritto:
>> On 03/23/12 19:04, Frank Rowand wrote:
>>> On 07/13/11 23:51, Alessio Igor Bogani wrote:
>>>> The commit f02e8a6 sorts symbols placing each of them in its own elf section.
>>>> The sorting and merging into the canonical sections are done by the linker.
>>>> Unfortunately modpost to generate Module.symvers file parses vmlinux
>>>
>>> Yet another unfortunately: modpost parses vmlinux.o instead of vmlinux (vmlinux
>>> does not yet exist at this point of the build).  vmlinux.o also does not have
>>> the many sections sorted and merged into the canonical sections.  As a result,
>>> the Module.symvers created my modpost incorrectly reports the license of all
>>> exports as "(unknown)".
>>>
>>> Can you fix this also please?
>>
>> The attached patch modifies your patch to also use export_from_secname()
>> for vmlinux and vmlinux.o.
>>
>> This is a rather blind shot at fixing the problem, so please review
>> carefully.  After applying the patch, Module.symvers reports the license
>> correctly for exports from vmlinux.o.

That version of my patch broke modpost for vmlinux.  I don't know if
anyone uses modpost against vmlinux instead of vmlinux.o, but the
attached patch works for both vmlinux and vmlinux.o

> 
> Could you show me how reproduce that problem? Indeed on my system
> "unknown" is reported (erroneously) in the v3.0 series before the
> commit 62a2635610dbc83c5e8d724e00941eee4d18c186 (and obviously after
> my patchset which adds that bug).

I'm not sure what you are asking here.

You mention "my patchset which adds that bug" (which from looking at
the source, appears to me to probably be commit
f02e8a6596b7dc9b2171f7ff5654039ef0950cdc).

The email that I originally replied to is your fix to modpost for modules,
and shows up as commit 62a2635610dbc83c5e8d724e00941eee4d18c186.

My attached fix is meant to extend 62a2635610dbc83c5e8d724e00941eee4d18c186
to also fix modpost for vmlinux.o.

> 
> Thanks!
> 
> Ciao,
> Alessio
> 

Signed-off-by: Frank Rowand <frank.rowand@am.sony.com>
---
 scripts/mod/modpost.c |    7 	5 +	2 -	0 !
 scripts/mod/modpost.h |    1 	1 +	0 -	0 !
 2 files changed, 6 insertions(+), 2 deletions(-)

Index: b/scripts/mod/modpost.c
===================================================================
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -132,8 +132,10 @@ static struct module *new_module(char *m
 	/* strip trailing .o */
 	s = strrchr(p, '.');
 	if (s != NULL)
-		if (strcmp(s, ".o") == 0)
+		if (strcmp(s, ".o") == 0) {
 			*s = '\0';
+			mod->is_dot_o = 1;
+		}
 
 	/* add to list */
 	mod->name = p;
@@ -589,7 +591,8 @@ static void handle_modversions(struct mo
 	unsigned int crc;
 	enum export export;
 
-	if (!is_vmlinux(mod->name) && strncmp(symname, "__ksymtab", 9) == 0)
+	if ((!is_vmlinux(mod->name) || mod->is_dot_o)
+	    && strncmp(symname, "__ksymtab", 9) == 0)
 		export = export_from_secname(info, get_secindex(info, sym));
 	else
 		export = export_from_sec(info, get_secindex(info, sym));
Index: b/scripts/mod/modpost.h
===================================================================
--- a/scripts/mod/modpost.h
+++ b/scripts/mod/modpost.h
@@ -115,6 +115,7 @@ struct module {
 	char **markers;
 	size_t nmarkers;
 	char	     srcversion[25];
+	int is_dot_o;
 };
 
 struct elf_info {


  reply	other threads:[~2012-03-27 23:00 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-04 15:00 sorting of exports breaks modpost's GPL checking Jan Beulich
2011-07-05  9:36 ` Alessio Igor Bogani
2011-07-05  9:47   ` Jan Beulich
2011-07-07  1:03     ` Rusty Russell
2011-07-07  8:09       ` Jan Beulich
2011-07-07 12:17         ` Alessio Igor Bogani
2011-07-09 23:13           ` [PATCH] modpost: Fix modpost's license checking Alessio Igor Bogani
2011-07-10  6:08             ` Arnaud Lacombe
2011-07-12  7:00               ` [PATCH] modpost: Fix modpost's license checking V2 Alessio Igor Bogani
2011-07-12 18:02                 ` Anders Kaseorg
2011-07-12 18:15                   ` Arnaud Lacombe
2011-07-12 18:35                     ` Anders Kaseorg
2011-07-12 18:49                       ` Arnaud Lacombe
2011-07-14  6:51                         ` [PATCH] modpost: Fix modpost's license checking V3 Alessio Igor Bogani
2011-07-18 23:38                           ` Rusty Russell
2011-07-18 23:38                             ` Rusty Russell
2011-07-20 15:25                           ` Michal Marek
2011-07-21  6:46                             ` Rusty Russell
2012-03-24  2:04                           ` Frank Rowand
2012-03-24  2:25                             ` Frank Rowand
2012-03-24  2:25                               ` Frank Rowand
2012-03-27  1:58                             ` Frank Rowand
2012-03-27  1:58                               ` Frank Rowand
2012-03-27  7:19                               ` Alessio Igor Bogani
2012-03-27 22:59                                 ` Frank Rowand [this message]
2012-03-28  8:04                                   ` Alessio Igor Bogani
2012-03-29  4:37                               ` Rusty Russell
2012-03-29  4:37                                 ` Rusty Russell
2012-04-10  0:59                                 ` Frank Rowand
2012-04-10  0:59                                   ` Frank Rowand

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=4F724658.6010404@am.sony.com \
    --to=frank.rowand@am.sony.com \
    --cc=Frank_Rowand@sonyusa.com \
    --cc=Tim.Bird@am.sony.com \
    --cc=abogani@kernel.org \
    --cc=andersk@ksplice.com \
    --cc=jbeulich@novell.com \
    --cc=lacombar@gmail.com \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rusty@rustcorp.com.au \
    /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.