All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexey Gladkov <legion@kernel.org>
To: Nicolas Schier <nsc@kernel.org>
Cc: Nathan Chancellor <nathan@kernel.org>,
	Petr Pavlu <petr.pavlu@suse.com>,
	Luis Chamberlain <mcgrof@kernel.org>,
	Sami Tolvanen <samitolvanen@google.com>,
	Daniel Gomez <da.gomez@samsung.com>,
	linux-kernel@vger.kernel.org, linux-modules@vger.kernel.org,
	linux-kbuild@vger.kernel.org,
	Masahiro Yamada <masahiroy@kernel.org>
Subject: Re: [PATCH v7 3/8] kbuild: keep .modinfo section in vmlinux.unstripped
Date: Tue, 16 Sep 2025 09:12:22 +0200	[thread overview]
Message-ID: <aMkN1m55vejTii_H@example.org> (raw)
In-Reply-To: <aMeqgPVfJcjBLhl8@levanger>

On Mon, Sep 15, 2025 at 07:56:16AM +0200, Nicolas Schier wrote:
> On Mon, Aug 18, 2025 at 06:54:57PM +0200, Alexey Gladkov wrote:
> > From: Masahiro Yamada <masahiroy@kernel.org>
> > 
> > Keep the .modinfo section during linking, but strip it from the final
> > vmlinux.
> > 
> > Adjust scripts/mksysmap to exclude modinfo symbols from kallsyms.
> > 
> > This change will allow the next commit to extract the .modinfo section
> > from the vmlinux.unstripped intermediate.
> > 
> > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> > ---
> >  include/asm-generic/vmlinux.lds.h | 2 +-
> >  scripts/Makefile.vmlinux          | 2 +-
> >  scripts/mksysmap                  | 3 +++
> >  3 files changed, 5 insertions(+), 2 deletions(-)
> > 
> > diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
> > index ae2d2359b79e9..cfa63860dfd4c 100644
> > --- a/include/asm-generic/vmlinux.lds.h
> > +++ b/include/asm-generic/vmlinux.lds.h
> > @@ -831,6 +831,7 @@ defined(CONFIG_AUTOFDO_CLANG) || defined(CONFIG_PROPELLER_CLANG)
> >  
> >  /* Required sections not related to debugging. */
> >  #define ELF_DETAILS							\
> > +		.modinfo : { *(.modinfo) }				\
> >  		.comment 0 : { *(.comment) }				\
> >  		.symtab 0 : { *(.symtab) }				\
> >  		.strtab 0 : { *(.strtab) }				\
> > @@ -1044,7 +1045,6 @@ defined(CONFIG_AUTOFDO_CLANG) || defined(CONFIG_PROPELLER_CLANG)
> >  	*(.discard.*)							\
> >  	*(.export_symbol)						\
> >  	*(.no_trim_symbol)						\
> > -	*(.modinfo)							\
> >  	/* ld.bfd warns about .gnu.version* even when not emitted */	\
> >  	*(.gnu.version*)						\
> >  
> > diff --git a/scripts/Makefile.vmlinux b/scripts/Makefile.vmlinux
> > index 4f2d4c3fb7372..e2ceeb9e168d4 100644
> > --- a/scripts/Makefile.vmlinux
> > +++ b/scripts/Makefile.vmlinux
> > @@ -86,7 +86,7 @@ endif
> >  # vmlinux
> >  # ---------------------------------------------------------------------------
> >  
> > -remove-section-y                                   :=
> > +remove-section-y                                   := .modinfo
> >  remove-section-$(CONFIG_ARCH_VMLINUX_NEEDS_RELOCS) += '.rel*'
> >  
> >  quiet_cmd_strip_relocs = OBJCOPY $@
> > diff --git a/scripts/mksysmap b/scripts/mksysmap
> > index 3accbdb269ac7..a607a0059d119 100755
> > --- a/scripts/mksysmap
> > +++ b/scripts/mksysmap
> > @@ -79,6 +79,9 @@
> >  / _SDA_BASE_$/d
> >  / _SDA2_BASE_$/d
> >  
> > +# MODULE_INFO()
> > +/ __UNIQUE_ID_modinfo[0-9]*$/d
> > +
> >  # ---------------------------------------------------------------------------
> >  # Ignored patterns
> >  #  (symbols that contain the pattern are ignored)
> > -- 
> > 2.50.1
> > 
> 
> Hi Alexey,
> 
> with this patch applied, I still get a warning from objcpy as Masahiro
> and Stephen wrote [1,2]
> 
>   SORTTAB vmlinux.unstripped
> + sorttable vmlinux.unstripped
> + nm -S vmlinux.unstripped
> + ./scripts/sorttable -s .tmp_vmlinux.nm-sort vmlinux.unstripped
> + is_enabled CONFIG_KALLSYMS
> + grep -q ^CONFIG_KALLSYMS=y include/config/auto.conf
> + cmp -s System.map .tmp_vmlinux2.syms
> + echo vmlinux.unstripped: ../scripts/link-vmlinux.sh
> # OBJCOPY vmlinux
>   objcopy --remove-section=.modinfo vmlinux.unstripped vmlinux
> objcopy: vmlinux.unstripped: warning: empty loadable segment detected at vaddr=0xffff8000807a0000, is this intentional?
> 
> (arm64, allnoconfig)
> 
> Kind regards,
> Nicolas
> 
> 
> [1]: https://lore.kernel.org/linux-kbuild/CAK7LNAR-gD2H6Kk-rZjo0R3weTHCGTm0a=u2tRH1WWW6Sx6=RQ@mail.gmail.com/
> [2]: https://lore.kernel.org/lkml/20250730164047.7c4a731a@canb.auug.org.au/
> 

Hm. I missed that. I need to investigate how to fix this. Nothing comes
to mind right now.

-- 
Rgrds, legion


  reply	other threads:[~2025-09-16  7:12 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-18 16:54 [PATCH v7 0/8] Add generated modalias to modules.builtin.modinfo Alexey Gladkov
2025-08-18 16:54 ` [PATCH v7 1/8] s390: vmlinux.lds.S: Reorder sections Alexey Gladkov
2025-08-18 16:54 ` [PATCH v7 2/8] kbuild: always create intermediate vmlinux.unstripped Alexey Gladkov
2025-09-17 11:57   ` Nicolas Schier
2025-08-18 16:54 ` [PATCH v7 3/8] kbuild: keep .modinfo section in vmlinux.unstripped Alexey Gladkov
2025-09-15  5:56   ` Nicolas Schier
2025-09-16  7:12     ` Alexey Gladkov [this message]
2025-09-16  9:36       ` Nicolas Schier
2025-09-16 11:30         ` Alexey Gladkov
2025-09-16 12:42           ` Nicolas Schier
2025-09-16 13:03             ` Alexey Gladkov
2025-09-16 13:28               ` Nicolas Schier
2025-09-17  1:10                 ` Nathan Chancellor
2025-09-17  6:49                   ` Alexey Gladkov
2025-09-17 11:55             ` Nicolas Schier
2025-09-17 12:38               ` Alexey Gladkov
2025-09-18  4:08                 ` Nicolas Schier
2025-08-18 16:54 ` [PATCH v7 4/8] kbuild: extract modules.builtin.modinfo from vmlinux.unstripped Alexey Gladkov
2025-09-17 11:57   ` Nicolas Schier
2025-08-18 16:54 ` [PATCH v7 5/8] scsi: Always define blogic_pci_tbl structure Alexey Gladkov
2025-08-18 16:55 ` [PATCH v7 6/8] modpost: Add modname to mod_device_table alias Alexey Gladkov
2025-09-14 20:07   ` Nicolas Schier
2025-08-18 16:55 ` [PATCH v7 7/8] modpost: Create modalias for builtin modules Alexey Gladkov
2025-08-18 16:55 ` [PATCH v7 8/8] kbuild: vmlinux.unstripped should always depend on .vmlinux.export.o Alexey Gladkov
2025-10-02 16:37   ` ChaosEsque Team

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=aMkN1m55vejTii_H@example.org \
    --to=legion@kernel.org \
    --cc=da.gomez@samsung.com \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-modules@vger.kernel.org \
    --cc=masahiroy@kernel.org \
    --cc=mcgrof@kernel.org \
    --cc=nathan@kernel.org \
    --cc=nsc@kernel.org \
    --cc=petr.pavlu@suse.com \
    --cc=samitolvanen@google.com \
    /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.