* next-20251002: S390: gcc-8-defconfig: symbol `.modinfo' required but not present - no symbols @ 2025-10-06 11:25 Naresh Kamboju 2025-10-06 17:47 ` Heiko Carstens 0 siblings, 1 reply; 5+ messages in thread From: Naresh Kamboju @ 2025-10-06 11:25 UTC (permalink / raw) To: linux-s390, open list, lkft-triage, Linux Regressions Cc: Arnd Bergmann, Dan Carpenter, Anders Roxell, Ben Copeland, Heiko Carstens, Vasily Gorbik, Alexander Gordeev The S390 defconfig builds failed on the Linux next-20251002 tag build due to following build warnings / errors with gcc-8 toolchain. * S390, build - gcc-8-defconfig First seen on next-20251002 Good: next-20250929 Bad: next-20251002..next-20251003 Regression Analysis: - New regression? yes - Reproducibility? yes Test regression: next-20251002: S390: gcc-8-defconfig: symbol `.modinfo' required but not present - no symbols Reported-by: Linux Kernel Functional Testing <lkft@linaro.org> ### Build error log s390x-linux-gnu-ld: .tmp_vmlinux1: warning: allocated section `.got.plt' not in segment s390x-linux-gnu-ld: .tmp_vmlinux2: warning: allocated section `.got.plt' not in segment s390x-linux-gnu-ld: vmlinux.unstripped: warning: allocated section `.got.plt' not in segment s390x-linux-gnu-objcopy: vmlinux: warning: allocated section `.got.plt' not in segment s390x-linux-gnu-objcopy: stM7JmYX: warning: allocated section `.got.plt' not in segment s390x-linux-gnu-objcopy: stM7JmYX: symbol `.modinfo' required but not present s390x-linux-gnu-objcopy:stM7JmYX: no symbols make[3]: *** [scripts/Makefile.vmlinux:97: vmlinux] Error 1 ## Source * Kernel version: 6.17.0 * Git tree: https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next.git * Git commit: 47a8d4b89844f5974f634b4189a39d5ccbacd81c * Architectures: S390 * Toolchains: gcc-8 * Kconfigs: defconfig ## Build * Build log: https://storage.tuxsuite.com/public/linaro/lkft/builds/33YUHdDpSLSMJfU4MFvRyEUQuDn/build.log * Build details: https://regressions.linaro.org/lkft/linux-next-master/next-20251003/build/gcc-8-defconfig/ * Build plan: https://tuxapi.tuxsuite.com/v1/groups/linaro/projects/lkft/builds/33YUHdDpSLSMJfU4MFvRyEUQuDn * Build link: https://storage.tuxsuite.com/public/linaro/lkft/builds/33YUHdDpSLSMJfU4MFvRyEUQuDn/ * Kernel config: https://storage.tuxsuite.com/public/linaro/lkft/builds/33YUHdDpSLSMJfU4MFvRyEUQuDn/config ## Steps to reproduce tuxmake --runtime podman --target-arch s390 --toolchain gcc-8 --kconfig defconfig --kconfig-add CONFIG_DEBUG_INFO_BTF=n -- Linaro LKFT ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: next-20251002: S390: gcc-8-defconfig: symbol `.modinfo' required but not present - no symbols 2025-10-06 11:25 next-20251002: S390: gcc-8-defconfig: symbol `.modinfo' required but not present - no symbols Naresh Kamboju @ 2025-10-06 17:47 ` Heiko Carstens 2025-10-06 23:41 ` Nathan Chancellor 0 siblings, 1 reply; 5+ messages in thread From: Heiko Carstens @ 2025-10-06 17:47 UTC (permalink / raw) To: Naresh Kamboju, Alexey Gladkov, Nathan Chancellor Cc: linux-s390, open list, lkft-triage, Linux Regressions, Arnd Bergmann, Dan Carpenter, Anders Roxell, Ben Copeland, Vasily Gorbik, Alexander Gordeev [full quote below, adding Alexey and Nathan] On Mon, Oct 06, 2025 at 04:55:56PM +0530, Naresh Kamboju wrote: > The S390 defconfig builds failed on the Linux next-20251002 tag build due > to following build warnings / errors with gcc-8 toolchain. > > * S390, build > - gcc-8-defconfig > > First seen on next-20251002 > Good: next-20250929 > Bad: next-20251002..next-20251003 > > Regression Analysis: > - New regression? yes > - Reproducibility? yes > > Test regression: next-20251002: S390: gcc-8-defconfig: symbol > `.modinfo' required but not present - no symbols > > Reported-by: Linux Kernel Functional Testing <lkft@linaro.org> > > ### Build error log > s390x-linux-gnu-ld: .tmp_vmlinux1: warning: allocated section > `.got.plt' not in segment > s390x-linux-gnu-ld: .tmp_vmlinux2: warning: allocated section > `.got.plt' not in segment > s390x-linux-gnu-ld: vmlinux.unstripped: warning: allocated section > `.got.plt' not in segment > s390x-linux-gnu-objcopy: vmlinux: warning: allocated section > `.got.plt' not in segment > s390x-linux-gnu-objcopy: stM7JmYX: warning: allocated section > `.got.plt' not in segment > s390x-linux-gnu-objcopy: stM7JmYX: symbol `.modinfo' required but not present > s390x-linux-gnu-objcopy:stM7JmYX: no symbols > make[3]: *** [scripts/Makefile.vmlinux:97: vmlinux] Error 1 > > > ## Source > * Kernel version: 6.17.0 > * Git tree: https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next.git > * Git commit: 47a8d4b89844f5974f634b4189a39d5ccbacd81c > * Architectures: S390 > * Toolchains: gcc-8 > * Kconfigs: defconfig > > ## Build > * Build log: https://storage.tuxsuite.com/public/linaro/lkft/builds/33YUHdDpSLSMJfU4MFvRyEUQuDn/build.log > * Build details: > https://regressions.linaro.org/lkft/linux-next-master/next-20251003/build/gcc-8-defconfig/ > * Build plan: https://tuxapi.tuxsuite.com/v1/groups/linaro/projects/lkft/builds/33YUHdDpSLSMJfU4MFvRyEUQuDn > * Build link: https://storage.tuxsuite.com/public/linaro/lkft/builds/33YUHdDpSLSMJfU4MFvRyEUQuDn/ > * Kernel config: > https://storage.tuxsuite.com/public/linaro/lkft/builds/33YUHdDpSLSMJfU4MFvRyEUQuDn/config > > > ## Steps to reproduce > tuxmake --runtime podman --target-arch s390 --toolchain gcc-8 > --kconfig defconfig --kconfig-add CONFIG_DEBUG_INFO_BTF=n Isn't the above exactly what is supposed to be addressed with commit 8d18ef04f940 ("s390: vmlinux.lds.S: Reorder sections")? Or did something change with the commit? Didn't check, and might look into this tomorrow, but adding Alexey and Nathan already now :) ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: next-20251002: S390: gcc-8-defconfig: symbol `.modinfo' required but not present - no symbols 2025-10-06 17:47 ` Heiko Carstens @ 2025-10-06 23:41 ` Nathan Chancellor 2025-10-08 3:18 ` Nathan Chancellor 0 siblings, 1 reply; 5+ messages in thread From: Nathan Chancellor @ 2025-10-06 23:41 UTC (permalink / raw) To: Heiko Carstens Cc: Naresh Kamboju, Alexey Gladkov, linux-s390, open list, lkft-triage, Linux Regressions, Arnd Bergmann, Dan Carpenter, Anders Roxell, Ben Copeland, Vasily Gorbik, Alexander Gordeev Hi Heiko, On Mon, Oct 06, 2025 at 07:47:40PM +0200, Heiko Carstens wrote: > [full quote below, adding Alexey and Nathan] > > On Mon, Oct 06, 2025 at 04:55:56PM +0530, Naresh Kamboju wrote: > > The S390 defconfig builds failed on the Linux next-20251002 tag build due > > to following build warnings / errors with gcc-8 toolchain. > > > > * S390, build > > - gcc-8-defconfig > > > > First seen on next-20251002 > > Good: next-20250929 > > Bad: next-20251002..next-20251003 > > > > Regression Analysis: > > - New regression? yes > > - Reproducibility? yes > > > > Test regression: next-20251002: S390: gcc-8-defconfig: symbol > > `.modinfo' required but not present - no symbols > > > > Reported-by: Linux Kernel Functional Testing <lkft@linaro.org> > > > > ### Build error log > > s390x-linux-gnu-ld: .tmp_vmlinux1: warning: allocated section > > `.got.plt' not in segment > > s390x-linux-gnu-ld: .tmp_vmlinux2: warning: allocated section > > `.got.plt' not in segment > > s390x-linux-gnu-ld: vmlinux.unstripped: warning: allocated section > > `.got.plt' not in segment > > s390x-linux-gnu-objcopy: vmlinux: warning: allocated section > > `.got.plt' not in segment > > s390x-linux-gnu-objcopy: stM7JmYX: warning: allocated section > > `.got.plt' not in segment > > s390x-linux-gnu-objcopy: stM7JmYX: symbol `.modinfo' required but not present > > s390x-linux-gnu-objcopy:stM7JmYX: no symbols > > make[3]: *** [scripts/Makefile.vmlinux:97: vmlinux] Error 1 > > > > > > ## Source > > * Kernel version: 6.17.0 > > * Git tree: https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next.git > > * Git commit: 47a8d4b89844f5974f634b4189a39d5ccbacd81c > > * Architectures: S390 > > * Toolchains: gcc-8 > > * Kconfigs: defconfig > > > > ## Build > > * Build log: https://storage.tuxsuite.com/public/linaro/lkft/builds/33YUHdDpSLSMJfU4MFvRyEUQuDn/build.log > > * Build details: > > https://regressions.linaro.org/lkft/linux-next-master/next-20251003/build/gcc-8-defconfig/ > > * Build plan: https://tuxapi.tuxsuite.com/v1/groups/linaro/projects/lkft/builds/33YUHdDpSLSMJfU4MFvRyEUQuDn > > * Build link: https://storage.tuxsuite.com/public/linaro/lkft/builds/33YUHdDpSLSMJfU4MFvRyEUQuDn/ > > * Kernel config: > > https://storage.tuxsuite.com/public/linaro/lkft/builds/33YUHdDpSLSMJfU4MFvRyEUQuDn/config > > > > > > ## Steps to reproduce > > tuxmake --runtime podman --target-arch s390 --toolchain gcc-8 > > --kconfig defconfig --kconfig-add CONFIG_DEBUG_INFO_BTF=n > > Isn't the above exactly what is supposed to be addressed with commit > 8d18ef04f940 ("s390: vmlinux.lds.S: Reorder sections")? Or did something > change with the commit? Didn't check, and might look into this tomorrow, > but adding Alexey and Nathan already now :) I did not change anything with that change before applying it so I would have expected this issue to be avoided... I can reproduce this issue with the tuxmake command above on next-20251006 but I am not able to reproduce it with korg-gcc-8, so I wonder if this is something toolchain specific? I will have a further look tomorrow but if you or Alexey beat me to it, feel free to share follow up findings. Cheers, Nathan ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: next-20251002: S390: gcc-8-defconfig: symbol `.modinfo' required but not present - no symbols 2025-10-06 23:41 ` Nathan Chancellor @ 2025-10-08 3:18 ` Nathan Chancellor 2025-10-08 11:33 ` Heiko Carstens 0 siblings, 1 reply; 5+ messages in thread From: Nathan Chancellor @ 2025-10-08 3:18 UTC (permalink / raw) To: Heiko Carstens Cc: Naresh Kamboju, Alexey Gladkov, linux-s390, open list, lkft-triage, Linux Regressions, Arnd Bergmann, Dan Carpenter, Anders Roxell, Ben Copeland, Vasily Gorbik, Alexander Gordeev On Mon, Oct 06, 2025 at 04:41:19PM -0700, Nathan Chancellor wrote: ... > > > ### Build error log > > > s390x-linux-gnu-ld: .tmp_vmlinux1: warning: allocated section `.got.plt' not in segment > > > s390x-linux-gnu-ld: .tmp_vmlinux2: warning: allocated section `.got.plt' not in segment > > > s390x-linux-gnu-ld: vmlinux.unstripped: warning: allocated section `.got.plt' not in segment > > > s390x-linux-gnu-objcopy: vmlinux: warning: allocated section `.got.plt' not in segment > > > s390x-linux-gnu-objcopy: stM7JmYX: warning: allocated section `.got.plt' not in segment So these warnings should be fixed with: diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S index feecf1a6ddb4..d74d4c52ccd0 100644 --- a/arch/s390/kernel/vmlinux.lds.S +++ b/arch/s390/kernel/vmlinux.lds.S @@ -214,6 +214,28 @@ SECTIONS DWARF_DEBUG ELF_DETAILS + /* + * Make sure that the .got.plt is either completely empty or it + * contains only the three reserved double words. + */ + .got.plt : { + *(.got.plt) + } + ASSERT(SIZEOF(.got.plt) == 0 || SIZEOF(.got.plt) == 0x18, "Unexpected GOT/PLT entries detected!") + + /* + * Sections that should stay zero sized, which is safer to + * explicitly check instead of blindly discarding. + */ + .plt : { + *(.plt) *(.plt.*) *(.iplt) *(.igot .igot.plt) + } + ASSERT(SIZEOF(.plt) == 0, "Unexpected run-time procedure linkages detected!") + .rela.dyn : { + *(.rela.*) *(.rela_*) + } + ASSERT(SIZEOF(.rela.dyn) == 0, "Unexpected run-time relocations (.rela) detected!") + /* * uncompressed image info used by the decompressor * it should match struct vmlinux_info @@ -244,28 +266,6 @@ SECTIONS #endif } :NONE - /* - * Make sure that the .got.plt is either completely empty or it - * contains only the three reserved double words. - */ - .got.plt : { - *(.got.plt) - } - ASSERT(SIZEOF(.got.plt) == 0 || SIZEOF(.got.plt) == 0x18, "Unexpected GOT/PLT entries detected!") - - /* - * Sections that should stay zero sized, which is safer to - * explicitly check instead of blindly discarding. - */ - .plt : { - *(.plt) *(.plt.*) *(.iplt) *(.igot .igot.plt) - } - ASSERT(SIZEOF(.plt) == 0, "Unexpected run-time procedure linkages detected!") - .rela.dyn : { - *(.rela.*) *(.rela_*) - } - ASSERT(SIZEOF(.rela.dyn) == 0, "Unexpected run-time relocations (.rela) detected!") - /* Sections to be discarded */ DISCARDS /DISCARD/ : { I am unsure why newer binutils does not show this but I did not care enough to actually bisect. > > > s390x-linux-gnu-objcopy: stM7JmYX: symbol `.modinfo' required but not present > > > s390x-linux-gnu-objcopy:stM7JmYX: no symbols I did bisect binutils to figure out that commit c12d9fa2afe ("Support objcopy --remove-section=.relaFOO") [1] in binutils 2.32 resolves this error. I can fix this for those older binutils with: diff --git a/scripts/Makefile.vmlinux b/scripts/Makefile.vmlinux index 7c6ae9886f8f..9ea92c3317dc 100644 --- a/scripts/Makefile.vmlinux +++ b/scripts/Makefile.vmlinux @@ -82,7 +82,7 @@ endif # --------------------------------------------------------------------------- remove-section-y := .modinfo -remove-section-$(CONFIG_ARCH_VMLINUX_NEEDS_RELOCS) += '.rel*' +remove-section-$(CONFIG_ARCH_VMLINUX_NEEDS_RELOCS) += '.rel*' '.rel.*' remove-symbols := -w --strip-symbol='__mod_device_table__*' I can send a patch series tomorrow. [1]: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=c12d9fa2afe7abcbe407a00e15719e1a1350c2a7 Cheers, Nathan ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: next-20251002: S390: gcc-8-defconfig: symbol `.modinfo' required but not present - no symbols 2025-10-08 3:18 ` Nathan Chancellor @ 2025-10-08 11:33 ` Heiko Carstens 0 siblings, 0 replies; 5+ messages in thread From: Heiko Carstens @ 2025-10-08 11:33 UTC (permalink / raw) To: Nathan Chancellor Cc: Naresh Kamboju, Alexey Gladkov, linux-s390, open list, lkft-triage, Linux Regressions, Arnd Bergmann, Dan Carpenter, Anders Roxell, Ben Copeland, Vasily Gorbik, Alexander Gordeev Hi Nathan, On Tue, Oct 07, 2025 at 08:18:49PM -0700, Nathan Chancellor wrote: > On Mon, Oct 06, 2025 at 04:41:19PM -0700, Nathan Chancellor wrote: > ... > > > > ### Build error log > > > > s390x-linux-gnu-ld: .tmp_vmlinux1: warning: allocated section `.got.plt' not in segment > > > > s390x-linux-gnu-ld: .tmp_vmlinux2: warning: allocated section `.got.plt' not in segment > > > > s390x-linux-gnu-ld: vmlinux.unstripped: warning: allocated section `.got.plt' not in segment > > > > s390x-linux-gnu-objcopy: vmlinux: warning: allocated section `.got.plt' not in segment > > > > s390x-linux-gnu-objcopy: stM7JmYX: warning: allocated section `.got.plt' not in segment > > So these warnings should be fixed with: ... > I am unsure why newer binutils does not show this but I did not care > enough to actually bisect. > > > > > s390x-linux-gnu-objcopy: stM7JmYX: symbol `.modinfo' required but not present > > > > s390x-linux-gnu-objcopy:stM7JmYX: no symbols > > I did bisect binutils to figure out that commit c12d9fa2afe ("Support > objcopy --remove-section=.relaFOO") [1] in binutils 2.32 resolves this > error. > > I can fix this for those older binutils with: > > diff --git a/scripts/Makefile.vmlinux b/scripts/Makefile.vmlinux > index 7c6ae9886f8f..9ea92c3317dc 100644 > --- a/scripts/Makefile.vmlinux > +++ b/scripts/Makefile.vmlinux > @@ -82,7 +82,7 @@ endif > # --------------------------------------------------------------------------- > > remove-section-y := .modinfo > -remove-section-$(CONFIG_ARCH_VMLINUX_NEEDS_RELOCS) += '.rel*' > +remove-section-$(CONFIG_ARCH_VMLINUX_NEEDS_RELOCS) += '.rel*' '.rel.*' > > remove-symbols := -w --strip-symbol='__mod_device_table__*' > > I can send a patch series tomorrow. Thank you for figuring this out. Highly appreciated! ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-10-08 11:33 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-10-06 11:25 next-20251002: S390: gcc-8-defconfig: symbol `.modinfo' required but not present - no symbols Naresh Kamboju 2025-10-06 17:47 ` Heiko Carstens 2025-10-06 23:41 ` Nathan Chancellor 2025-10-08 3:18 ` Nathan Chancellor 2025-10-08 11:33 ` Heiko Carstens
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).