Message ID | 20230521160426.1881124-21-masahiroy@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Unify <linux/export.h> and <asm/export.h>, remove EXPORT_DATA_SYMBOL(), faster TRIM_UNUSED_KSYMS | expand |
On Sun, May 21, 2023 at 9:05 AM Masahiro Yamada <masahiroy@kernel.org> wrote: > > Currently, modpost only shows the symbol names and section names, so it > repeats the same message if there are multiple relocations in the same > symbol. It is common the relocation spans across multiple instructions. > > It is better to show the offset from the symbol. > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > --- > > scripts/mod/modpost.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c > index e7561fa57478..4da96746a03b 100644 > --- a/scripts/mod/modpost.c > +++ b/scripts/mod/modpost.c > @@ -1135,8 +1135,8 @@ static void default_mismatch_handler(const char *modname, struct elf_info *elf, > > sec_mismatch_count++; > > - warn("%s: section mismatch in reference: %s (section: %s) -> %s (section: %s)\n", > - modname, fromsym, fromsec, tosym, tosec); > + warn("%s: section mismatch in reference: %s+0x%x (section: %s) -> %s (section: %s)\n", > + modname, fromsym, (unsigned int)(faddr - from->st_value), fromsec, tosym, tosec); Is the cast necessary if you use the %p format specifier instead of 0x%x? > > if (mismatch->mismatch == EXTABLE_TO_NON_TEXT) { > if (match(tosec, mismatch->bad_tosec)) > -- > 2.39.2 >
On Fri, May 26, 2023 at 3:27 AM Nick Desaulniers <ndesaulniers@google.com> wrote: > > On Sun, May 21, 2023 at 9:05 AM Masahiro Yamada <masahiroy@kernel.org> wrote: > > > > Currently, modpost only shows the symbol names and section names, so it > > repeats the same message if there are multiple relocations in the same > > symbol. It is common the relocation spans across multiple instructions. > > > > It is better to show the offset from the symbol. > > > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > > --- > > > > scripts/mod/modpost.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c > > index e7561fa57478..4da96746a03b 100644 > > --- a/scripts/mod/modpost.c > > +++ b/scripts/mod/modpost.c > > @@ -1135,8 +1135,8 @@ static void default_mismatch_handler(const char *modname, struct elf_info *elf, > > > > sec_mismatch_count++; > > > > - warn("%s: section mismatch in reference: %s (section: %s) -> %s (section: %s)\n", > > - modname, fromsym, fromsec, tosym, tosec); > > + warn("%s: section mismatch in reference: %s+0x%x (section: %s) -> %s (section: %s)\n", > > + modname, fromsym, (unsigned int)(faddr - from->st_value), fromsec, tosym, tosec); > > Is the cast necessary if you use the %p format specifier instead of 0x%x? No. faddr and from->st_value are offsets from the start of the section. They are not pointers. %p does not make sense. > > > > > if (mismatch->mismatch == EXTABLE_TO_NON_TEXT) { > > if (match(tosec, mismatch->bad_tosec)) > > -- > > 2.39.2 > > > > > -- > Thanks, > ~Nick Desaulniers
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index e7561fa57478..4da96746a03b 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c @@ -1135,8 +1135,8 @@ static void default_mismatch_handler(const char *modname, struct elf_info *elf, sec_mismatch_count++; - warn("%s: section mismatch in reference: %s (section: %s) -> %s (section: %s)\n", - modname, fromsym, fromsec, tosym, tosec); + warn("%s: section mismatch in reference: %s+0x%x (section: %s) -> %s (section: %s)\n", + modname, fromsym, (unsigned int)(faddr - from->st_value), fromsec, tosym, tosec); if (mismatch->mismatch == EXTABLE_TO_NON_TEXT) { if (match(tosec, mismatch->bad_tosec))
Currently, modpost only shows the symbol names and section names, so it repeats the same message if there are multiple relocations in the same symbol. It is common the relocation spans across multiple instructions. It is better to show the offset from the symbol. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> --- scripts/mod/modpost.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)