* 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).