diff mbox series

modpost: remove leftover symbol prefix handling for module device table

Message ID 1538115715-10078-1-git-send-email-yamada.masahiro@socionext.com
State Accepted
Commit 153e04b373dd5a4fdb841a727e47c40b1ad10ffc
Headers show
Series modpost: remove leftover symbol prefix handling for module device table | expand

Commit Message

Masahiro Yamada Sept. 28, 2018, 6:21 a.m. UTC
Blackfin and metag were the only architectures that prefix symbols with
an underscore.  They were removed by commit 4ba66a976072 ("arch: remove
blackfin port"), commit bb6fb6dfcc17 ("metag: Remove arch/metag/"),
respectively.

It is no longer necessary to handle <prefix> part of module device
table symbols.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

---

 scripts/mod/file2alias.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

-- 
2.7.4

Comments

Rusty Russell Sept. 29, 2018, 7 a.m. UTC | #1
Please send this to the module maintainer (CC'd).

Masahiro Yamada <yamada.masahiro@socionext.com> writes:
> Blackfin and metag were the only architectures that prefix symbols with

> an underscore.  They were removed by commit 4ba66a976072 ("arch: remove

> blackfin port"), commit bb6fb6dfcc17 ("metag: Remove arch/metag/"),

> respectively.

>

> It is no longer necessary to handle <prefix> part of module device

> table symbols.

>

> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

> ---

>

>  scripts/mod/file2alias.c | 7 +++----

>  1 file changed, 3 insertions(+), 4 deletions(-)

>

> diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c

> index 7be4369..ba4ebc4 100644

> --- a/scripts/mod/file2alias.c

> +++ b/scripts/mod/file2alias.c

> @@ -1415,11 +1415,10 @@ void handle_moddevtable(struct module *mod, struct elf_info *info,

>  	if (ELF_ST_TYPE(sym->st_info) != STT_OBJECT)

>  		return;

>  

> -	/* All our symbols are of form <prefix>__mod_<name>__<identifier>_device_table. */

> -	name = strstr(symname, "__mod_");

> -	if (!name)

> +	/* All our symbols are of form __mod_<name>__<identifier>_device_table. */

> +	if (strncmp(symname, "__mod_", strlen("__mod_")))

>  		return;

> -	name += strlen("__mod_");

> +	name = symname + strlen("__mod_");

>  	namelen = strlen(name);

>  	if (namelen < strlen("_device_table"))

>  		return;

> -- 

> 2.7.4
Masahiro Yamada Sept. 29, 2018, 4:44 p.m. UTC | #2
2018年9月29日(土) 16:01 Rusty Russell <rusty@rustcorp.com.au>:
>

> Please send this to the module maintainer (CC'd).



I just sent this to Kbuild ML
since scripts/mod/ is listed in the Kbuild part.

Next time, I will try my best to remember
to CC the module maintainer.

Reviewed-by tags are appreciated.



KERNEL BUILD + files below scripts/ (unless maintained elsewhere)
M:      Masahiro Yamada <yamada.masahiro@socionext.com>
M:      Michal Marek <michal.lkml@markovi.net>
T:      git git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
L:      linux-kbuild@vger.kernel.org
S:      Maintained
F:      Documentation/kbuild/
F:      Makefile
F:      scripts/Kbuild*
F:      scripts/Makefile*
F:      scripts/basic/
F:      scripts/mk*
F:      scripts/mod/
F:      scripts/package/






> Masahiro Yamada <yamada.masahiro@socionext.com> writes:

> > Blackfin and metag were the only architectures that prefix symbols with

> > an underscore.  They were removed by commit 4ba66a976072 ("arch: remove

> > blackfin port"), commit bb6fb6dfcc17 ("metag: Remove arch/metag/"),

> > respectively.

> >

> > It is no longer necessary to handle <prefix> part of module device

> > table symbols.

> >

> > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

> > ---

> >

> >  scripts/mod/file2alias.c | 7 +++----

> >  1 file changed, 3 insertions(+), 4 deletions(-)

> >

> > diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c

> > index 7be4369..ba4ebc4 100644

> > --- a/scripts/mod/file2alias.c

> > +++ b/scripts/mod/file2alias.c

> > @@ -1415,11 +1415,10 @@ void handle_moddevtable(struct module *mod, struct elf_info *info,

> >       if (ELF_ST_TYPE(sym->st_info) != STT_OBJECT)

> >               return;

> >

> > -     /* All our symbols are of form <prefix>__mod_<name>__<identifier>_device_table. */

> > -     name = strstr(symname, "__mod_");

> > -     if (!name)

> > +     /* All our symbols are of form __mod_<name>__<identifier>_device_table. */

> > +     if (strncmp(symname, "__mod_", strlen("__mod_")))

> >               return;

> > -     name += strlen("__mod_");

> > +     name = symname + strlen("__mod_");

> >       namelen = strlen(name);

> >       if (namelen < strlen("_device_table"))

> >               return;

> > --

> > 2.7.4




-- 
Best Regards
Masahiro Yamada
Masahiro Yamada Oct. 9, 2018, 3 p.m. UTC | #3
On Fri, Sep 28, 2018 at 3:23 PM Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
>

> Blackfin and metag were the only architectures that prefix symbols with

> an underscore.  They were removed by commit 4ba66a976072 ("arch: remove

> blackfin port"), commit bb6fb6dfcc17 ("metag: Remove arch/metag/"),

> respectively.

>

> It is no longer necessary to handle <prefix> part of module device

> table symbols.

>

> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

> ---



Applied to linux-kbuild.


>  scripts/mod/file2alias.c | 7 +++----

>  1 file changed, 3 insertions(+), 4 deletions(-)

>

> diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c

> index 7be4369..ba4ebc4 100644

> --- a/scripts/mod/file2alias.c

> +++ b/scripts/mod/file2alias.c

> @@ -1415,11 +1415,10 @@ void handle_moddevtable(struct module *mod, struct elf_info *info,

>         if (ELF_ST_TYPE(sym->st_info) != STT_OBJECT)

>                 return;

>

> -       /* All our symbols are of form <prefix>__mod_<name>__<identifier>_device_table. */

> -       name = strstr(symname, "__mod_");

> -       if (!name)

> +       /* All our symbols are of form __mod_<name>__<identifier>_device_table. */

> +       if (strncmp(symname, "__mod_", strlen("__mod_")))

>                 return;

> -       name += strlen("__mod_");

> +       name = symname + strlen("__mod_");

>         namelen = strlen(name);

>         if (namelen < strlen("_device_table"))

>                 return;

> --

> 2.7.4

>



-- 
Best Regards
Masahiro Yamada
diff mbox series

Patch

diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
index 7be4369..ba4ebc4 100644
--- a/scripts/mod/file2alias.c
+++ b/scripts/mod/file2alias.c
@@ -1415,11 +1415,10 @@  void handle_moddevtable(struct module *mod, struct elf_info *info,
 	if (ELF_ST_TYPE(sym->st_info) != STT_OBJECT)
 		return;
 
-	/* All our symbols are of form <prefix>__mod_<name>__<identifier>_device_table. */
-	name = strstr(symname, "__mod_");
-	if (!name)
+	/* All our symbols are of form __mod_<name>__<identifier>_device_table. */
+	if (strncmp(symname, "__mod_", strlen("__mod_")))
 		return;
-	name += strlen("__mod_");
+	name = symname + strlen("__mod_");
 	namelen = strlen(name);
 	if (namelen < strlen("_device_table"))
 		return;