]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop buildid patches from all branches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 23 Jan 2023 09:44:31 +0000 (10:44 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 23 Jan 2023 09:44:31 +0000 (10:44 +0100)
24 files changed:
queue-5.10/arch-fix-broken-buildid-for-arm64-and-riscv.patch [deleted file]
queue-5.10/powerpc-vmlinux.lds-define-runtime_discard_exit.patch [deleted file]
queue-5.10/powerpc-vmlinux.lds-don-t-discard-.comment.patch [deleted file]
queue-5.10/powerpc-vmlinux.lds-don-t-discard-.rela-for-relocatable-builds.patch [deleted file]
queue-5.10/s390-define-runtime_discard_exit-to-fix-link-error-with-gnu-ld-2.36.patch [deleted file]
queue-5.10/series
queue-5.15/arch-fix-broken-buildid-for-arm64-and-riscv.patch [deleted file]
queue-5.15/powerpc-vmlinux.lds-define-runtime_discard_exit.patch [deleted file]
queue-5.15/powerpc-vmlinux.lds-don-t-discard-.comment.patch [deleted file]
queue-5.15/powerpc-vmlinux.lds-don-t-discard-.rela-for-relocatable-builds.patch [deleted file]
queue-5.15/s390-define-runtime_discard_exit-to-fix-link-error-with-gnu-ld-2.36.patch [deleted file]
queue-5.15/series
queue-5.4/arch-fix-broken-buildid-for-arm64-and-riscv.patch [deleted file]
queue-5.4/powerpc-vmlinux.lds-define-runtime_discard_exit.patch [deleted file]
queue-5.4/powerpc-vmlinux.lds-don-t-discard-.comment.patch [deleted file]
queue-5.4/powerpc-vmlinux.lds-don-t-discard-.rela-for-relocatable-builds.patch [deleted file]
queue-5.4/s390-define-runtime_discard_exit-to-fix-link-error-with-gnu-ld-2.36.patch [deleted file]
queue-5.4/series
queue-6.1/arch-fix-broken-buildid-for-arm64-and-riscv.patch [deleted file]
queue-6.1/powerpc-vmlinux.lds-define-runtime_discard_exit.patch [deleted file]
queue-6.1/powerpc-vmlinux.lds-don-t-discard-.comment.patch [deleted file]
queue-6.1/powerpc-vmlinux.lds-don-t-discard-.rela-for-relocatable-builds.patch [deleted file]
queue-6.1/s390-define-runtime_discard_exit-to-fix-link-error-with-gnu-ld-2.36.patch [deleted file]
queue-6.1/series

diff --git a/queue-5.10/arch-fix-broken-buildid-for-arm64-and-riscv.patch b/queue-5.10/arch-fix-broken-buildid-for-arm64-and-riscv.patch
deleted file mode 100644 (file)
index 2ce6c27..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-From 99cb0d917ffa1ab628bb67364ca9b162c07699b1 Mon Sep 17 00:00:00 2001
-From: Masahiro Yamada <masahiroy@kernel.org>
-Date: Tue, 27 Dec 2022 03:45:37 +0900
-Subject: arch: fix broken BuildID for arm64 and riscv
-
-From: Masahiro Yamada <masahiroy@kernel.org>
-
-commit 99cb0d917ffa1ab628bb67364ca9b162c07699b1 upstream.
-
-Dennis Gilmore reports that the BuildID is missing in the arm64 vmlinux
-since commit 994b7ac1697b ("arm64: remove special treatment for the
-link order of head.o").
-
-The issue is that the type of .notes section, which contains the BuildID,
-changed from NOTES to PROGBITS.
-
-Ard Biesheuvel figured out that whichever object gets linked first gets
-to decide the type of a section. The PROGBITS type is the result of the
-compiler emitting .note.GNU-stack as PROGBITS rather than NOTE.
-
-While Ard provided a fix for arm64, I want to fix this globally because
-the same issue is happening on riscv since commit 2348e6bf4421 ("riscv:
-remove special treatment for the link order of head.o"). This problem
-will happen in general for other architectures if they start to drop
-unneeded entries from scripts/head-object-list.txt.
-
-Discard .note.GNU-stack in include/asm-generic/vmlinux.lds.h.
-
-Link: https://lore.kernel.org/lkml/CAABkxwuQoz1CTbyb57n0ZX65eSYiTonFCU8-LCQc=74D=xE=rA@mail.gmail.com/
-Fixes: 994b7ac1697b ("arm64: remove special treatment for the link order of head.o")
-Fixes: 2348e6bf4421 ("riscv: remove special treatment for the link order of head.o")
-Cc: Tom Saeger <tom.saeger@oracle.com>
-Reported-by: Dennis Gilmore <dennis@ausil.us>
-Suggested-by: Ard Biesheuvel <ardb@kernel.org>
-Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
-Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- include/asm-generic/vmlinux.lds.h |    5 +++++
- 1 file changed, 5 insertions(+)
-
---- a/include/asm-generic/vmlinux.lds.h
-+++ b/include/asm-generic/vmlinux.lds.h
-@@ -906,7 +906,12 @@
- #define TRACEDATA
- #endif
-+/*
-+ * Discard .note.GNU-stack, which is emitted as PROGBITS by the compiler.
-+ * Otherwise, the type of .notes section would become PROGBITS instead of NOTES.
-+ */
- #define NOTES                                                         \
-+      /DISCARD/ : { *(.note.GNU-stack) }                              \
-       .notes : AT(ADDR(.notes) - LOAD_OFFSET) {                       \
-               __start_notes = .;                                      \
-               KEEP(*(.note.*))                                        \
diff --git a/queue-5.10/powerpc-vmlinux.lds-define-runtime_discard_exit.patch b/queue-5.10/powerpc-vmlinux.lds-define-runtime_discard_exit.patch
deleted file mode 100644 (file)
index 807825e..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-From 4b9880dbf3bdba3a7c56445137c3d0e30aaa0a40 Mon Sep 17 00:00:00 2001
-From: Michael Ellerman <mpe@ellerman.id.au>
-Date: Thu, 5 Jan 2023 22:05:04 +1100
-Subject: powerpc/vmlinux.lds: Define RUNTIME_DISCARD_EXIT
-
-From: Michael Ellerman <mpe@ellerman.id.au>
-
-commit 4b9880dbf3bdba3a7c56445137c3d0e30aaa0a40 upstream.
-
-The powerpc linker script explicitly includes .exit.text, because
-otherwise the link fails due to references from __bug_table and
-__ex_table. The code is freed (discarded) at runtime along with
-.init.text and data.
-
-That has worked in the past despite powerpc not defining
-RUNTIME_DISCARD_EXIT because DISCARDS appears late in the powerpc linker
-script (line 410), and the explicit inclusion of .exit.text
-earlier (line 280) supersedes the discard.
-
-However commit 99cb0d917ffa ("arch: fix broken BuildID for arm64 and
-riscv") introduced an earlier use of DISCARD as part of the RO_DATA
-macro (line 136). With binutils < 2.36 that causes the DISCARD
-directives later in the script to be applied earlier [1], causing
-.exit.text to actually be discarded at link time, leading to build
-errors:
-
-  '.exit.text' referenced in section '__bug_table' of crypto/algboss.o: defined in
-  discarded section '.exit.text' of crypto/algboss.o
-  '.exit.text' referenced in section '__ex_table' of drivers/nvdimm/core.o: defined in
-  discarded section '.exit.text' of drivers/nvdimm/core.o
-
-Fix it by defining RUNTIME_DISCARD_EXIT, which causes the generic
-DISCARDS macro to not include .exit.text at all.
-
-1: https://lore.kernel.org/lkml/87fscp2v7k.fsf@igel.home/
-
-Fixes: 99cb0d917ffa ("arch: fix broken BuildID for arm64 and riscv")
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-Link: https://lore.kernel.org/r/20230105132349.384666-1-mpe@ellerman.id.au
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/powerpc/kernel/vmlinux.lds.S |    1 +
- 1 file changed, 1 insertion(+)
-
---- a/arch/powerpc/kernel/vmlinux.lds.S
-+++ b/arch/powerpc/kernel/vmlinux.lds.S
-@@ -8,6 +8,7 @@
- #define BSS_FIRST_SECTIONS *(.bss.prominit)
- #define EMITS_PT_NOTE
- #define RO_EXCEPTION_TABLE_ALIGN      0
-+#define RUNTIME_DISCARD_EXIT
- #include <asm/page.h>
- #include <asm-generic/vmlinux.lds.h>
diff --git a/queue-5.10/powerpc-vmlinux.lds-don-t-discard-.comment.patch b/queue-5.10/powerpc-vmlinux.lds-don-t-discard-.comment.patch
deleted file mode 100644 (file)
index af2ebdb..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-From be5f95c8779e19779dd81927c8574fec5aaba36c Mon Sep 17 00:00:00 2001
-From: Michael Ellerman <mpe@ellerman.id.au>
-Date: Thu, 5 Jan 2023 22:42:59 +1100
-Subject: powerpc/vmlinux.lds: Don't discard .comment
-
-From: Michael Ellerman <mpe@ellerman.id.au>
-
-commit be5f95c8779e19779dd81927c8574fec5aaba36c upstream.
-
-Although the powerpc linker script mentions .comment in the DISCARD
-section, that has never actually caused it to be discarded, because the
-earlier ELF_DETAILS macro (previously STABS_DEBUG) explicitly includes
-.comment.
-
-However commit 99cb0d917ffa ("arch: fix broken BuildID for arm64 and
-riscv") introduced an earlier use of DISCARD as part of the RO_DATA
-macro. With binutils < 2.36 that causes the DISCARD directives later in
-the script to be applied earlier, causing .comment to actually be
-discarded.
-
-It's confusing to explicitly include and discard .comment, and even more
-so if the behaviour depends on the toolchain version. So don't discard
-.comment in order to maintain the existing behaviour in all cases.
-
-Fixes: 83a092cf95f2 ("powerpc: Link warning for orphan sections")
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-Link: https://lore.kernel.org/r/20230105132349.384666-3-mpe@ellerman.id.au
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/powerpc/kernel/vmlinux.lds.S |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/arch/powerpc/kernel/vmlinux.lds.S
-+++ b/arch/powerpc/kernel/vmlinux.lds.S
-@@ -379,7 +379,7 @@ SECTIONS
-       DISCARDS
-       /DISCARD/ : {
-               *(*.EMB.apuinfo)
--              *(.glink .iplt .plt .comment)
-+              *(.glink .iplt .plt)
-               *(.gnu.version*)
-               *(.gnu.attributes)
-               *(.eh_frame)
diff --git a/queue-5.10/powerpc-vmlinux.lds-don-t-discard-.rela-for-relocatable-builds.patch b/queue-5.10/powerpc-vmlinux.lds-don-t-discard-.rela-for-relocatable-builds.patch
deleted file mode 100644 (file)
index f670be8..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-From 07b050f9290ee012a407a0f64151db902a1520f5 Mon Sep 17 00:00:00 2001
-From: Michael Ellerman <mpe@ellerman.id.au>
-Date: Thu, 5 Jan 2023 22:28:36 +1100
-Subject: powerpc/vmlinux.lds: Don't discard .rela* for relocatable builds
-
-From: Michael Ellerman <mpe@ellerman.id.au>
-
-commit 07b050f9290ee012a407a0f64151db902a1520f5 upstream.
-
-Relocatable kernels must not discard relocations, they need to be
-processed at runtime. As such they are included for CONFIG_RELOCATABLE
-builds in the powerpc linker script (line 340).
-
-However they are also unconditionally discarded later in the
-script (line 414). Previously that worked because the earlier inclusion
-superseded the discard.
-
-However commit 99cb0d917ffa ("arch: fix broken BuildID for arm64 and
-riscv") introduced an earlier use of DISCARD as part of the RO_DATA
-macro (line 137). With binutils < 2.36 that causes the DISCARD
-directives later in the script to be applied earlier, causing .rela* to
-actually be discarded at link time, leading to build warnings and a
-kernel that doesn't boot:
-
-  ld: warning: discarding dynamic section .rela.init.rodata
-
-Fix it by conditionally discarding .rela* only when CONFIG_RELOCATABLE
-is disabled.
-
-Fixes: 99cb0d917ffa ("arch: fix broken BuildID for arm64 and riscv")
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-Link: https://lore.kernel.org/r/20230105132349.384666-2-mpe@ellerman.id.au
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/powerpc/kernel/vmlinux.lds.S |    5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
---- a/arch/powerpc/kernel/vmlinux.lds.S
-+++ b/arch/powerpc/kernel/vmlinux.lds.S
-@@ -379,9 +379,12 @@ SECTIONS
-       DISCARDS
-       /DISCARD/ : {
-               *(*.EMB.apuinfo)
--              *(.glink .iplt .plt .rela* .comment)
-+              *(.glink .iplt .plt .comment)
-               *(.gnu.version*)
-               *(.gnu.attributes)
-               *(.eh_frame)
-+#ifndef CONFIG_RELOCATABLE
-+              *(.rela*)
-+#endif
-       }
- }
diff --git a/queue-5.10/s390-define-runtime_discard_exit-to-fix-link-error-with-gnu-ld-2.36.patch b/queue-5.10/s390-define-runtime_discard_exit-to-fix-link-error-with-gnu-ld-2.36.patch
deleted file mode 100644 (file)
index b34a3e2..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-From a494398bde273143c2352dd373cad8211f7d94b2 Mon Sep 17 00:00:00 2001
-From: Masahiro Yamada <masahiroy@kernel.org>
-Date: Thu, 5 Jan 2023 12:13:06 +0900
-Subject: s390: define RUNTIME_DISCARD_EXIT to fix link error with GNU ld < 2.36
-
-From: Masahiro Yamada <masahiroy@kernel.org>
-
-commit a494398bde273143c2352dd373cad8211f7d94b2 upstream.
-
-Nathan Chancellor reports that the s390 vmlinux fails to link with
-GNU ld < 2.36 since commit 99cb0d917ffa ("arch: fix broken BuildID
-for arm64 and riscv").
-
-It happens for defconfig, or more specifically for CONFIG_EXPOLINE=y.
-
-  $ s390x-linux-gnu-ld --version | head -n1
-  GNU ld (GNU Binutils for Debian) 2.35.2
-  $ make -s ARCH=s390 CROSS_COMPILE=s390x-linux-gnu- allnoconfig
-  $ ./scripts/config -e CONFIG_EXPOLINE
-  $ make -s ARCH=s390 CROSS_COMPILE=s390x-linux-gnu- olddefconfig
-  $ make -s ARCH=s390 CROSS_COMPILE=s390x-linux-gnu-
-  `.exit.text' referenced in section `.s390_return_reg' of drivers/base/dd.o: defined in discarded section `.exit.text' of drivers/base/dd.o
-  make[1]: *** [scripts/Makefile.vmlinux:34: vmlinux] Error 1
-  make: *** [Makefile:1252: vmlinux] Error 2
-
-arch/s390/kernel/vmlinux.lds.S wants to keep EXIT_TEXT:
-
-        .exit.text : {
-                EXIT_TEXT
-        }
-
-But, at the same time, EXIT_TEXT is thrown away by DISCARD because
-s390 does not define RUNTIME_DISCARD_EXIT.
-
-I still do not understand why the latter wins after 99cb0d917ffa,
-but defining RUNTIME_DISCARD_EXIT seems correct because the comment
-line in arch/s390/kernel/vmlinux.lds.S says:
-
-        /*
-         * .exit.text is discarded at runtime, not link time,
-         * to deal with references from __bug_table
-         */
-
-Nathan also found that binutils commit 21401fc7bf67 ("Duplicate output
-sections in scripts") cured this issue, so we cannot reproduce it with
-binutils 2.36+, but it is better to not rely on it.
-
-Fixes: 99cb0d917ffa ("arch: fix broken BuildID for arm64 and riscv")
-Link: https://lore.kernel.org/all/Y7Jal56f6UBh1abE@dev-arch.thelio-3990X/
-Reported-by: Nathan Chancellor <nathan@kernel.org>
-Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
-Link: https://lore.kernel.org/r/20230105031306.1455409-1-masahiroy@kernel.org
-Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/s390/kernel/vmlinux.lds.S |    2 ++
- 1 file changed, 2 insertions(+)
-
---- a/arch/s390/kernel/vmlinux.lds.S
-+++ b/arch/s390/kernel/vmlinux.lds.S
-@@ -15,6 +15,8 @@
- /* Handle ro_after_init data on our own. */
- #define RO_AFTER_INIT_DATA
-+#define RUNTIME_DISCARD_EXIT
-+
- #define EMITS_PT_NOTE
- #include <asm-generic/vmlinux.lds.h>
index 820d79ce66a08a1254b20a006a75abfff315f821..ed3f875ab2838523273db890be464373d9cc425b 100644 (file)
@@ -82,11 +82,6 @@ efi-rt-wrapper-add-missing-include.patch
 revert-drm-amdgpu-make-display-pinning-more-flexible-v2.patch
 x86-fpu-use-_alignof-to-avoid-undefined-behavior-in-type_align.patch
 tracing-use-alignof__-struct-type-b-instead-of-offsetof.patch
-arch-fix-broken-buildid-for-arm64-and-riscv.patch
-s390-define-runtime_discard_exit-to-fix-link-error-with-gnu-ld-2.36.patch
-powerpc-vmlinux.lds-define-runtime_discard_exit.patch
-powerpc-vmlinux.lds-don-t-discard-.rela-for-relocatable-builds.patch
-powerpc-vmlinux.lds-don-t-discard-.comment.patch
 io_uring-io_kiocb_update_pos-should-not-touch-file-for-non-1-offset.patch
 io_uring-net-fix-fast_iov-assignment-in-io_setup_async_msg.patch
 net-ulp-use-consistent-error-code-when-blocking-ulp.patch
diff --git a/queue-5.15/arch-fix-broken-buildid-for-arm64-and-riscv.patch b/queue-5.15/arch-fix-broken-buildid-for-arm64-and-riscv.patch
deleted file mode 100644 (file)
index 074ac11..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-From 99cb0d917ffa1ab628bb67364ca9b162c07699b1 Mon Sep 17 00:00:00 2001
-From: Masahiro Yamada <masahiroy@kernel.org>
-Date: Tue, 27 Dec 2022 03:45:37 +0900
-Subject: arch: fix broken BuildID for arm64 and riscv
-
-From: Masahiro Yamada <masahiroy@kernel.org>
-
-commit 99cb0d917ffa1ab628bb67364ca9b162c07699b1 upstream.
-
-Dennis Gilmore reports that the BuildID is missing in the arm64 vmlinux
-since commit 994b7ac1697b ("arm64: remove special treatment for the
-link order of head.o").
-
-The issue is that the type of .notes section, which contains the BuildID,
-changed from NOTES to PROGBITS.
-
-Ard Biesheuvel figured out that whichever object gets linked first gets
-to decide the type of a section. The PROGBITS type is the result of the
-compiler emitting .note.GNU-stack as PROGBITS rather than NOTE.
-
-While Ard provided a fix for arm64, I want to fix this globally because
-the same issue is happening on riscv since commit 2348e6bf4421 ("riscv:
-remove special treatment for the link order of head.o"). This problem
-will happen in general for other architectures if they start to drop
-unneeded entries from scripts/head-object-list.txt.
-
-Discard .note.GNU-stack in include/asm-generic/vmlinux.lds.h.
-
-Link: https://lore.kernel.org/lkml/CAABkxwuQoz1CTbyb57n0ZX65eSYiTonFCU8-LCQc=74D=xE=rA@mail.gmail.com/
-Fixes: 994b7ac1697b ("arm64: remove special treatment for the link order of head.o")
-Fixes: 2348e6bf4421 ("riscv: remove special treatment for the link order of head.o")
-Cc: Tom Saeger <tom.saeger@oracle.com>
-Reported-by: Dennis Gilmore <dennis@ausil.us>
-Suggested-by: Ard Biesheuvel <ardb@kernel.org>
-Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
-Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- include/asm-generic/vmlinux.lds.h |    5 +++++
- 1 file changed, 5 insertions(+)
-
---- a/include/asm-generic/vmlinux.lds.h
-+++ b/include/asm-generic/vmlinux.lds.h
-@@ -903,7 +903,12 @@
- #define PRINTK_INDEX
- #endif
-+/*
-+ * Discard .note.GNU-stack, which is emitted as PROGBITS by the compiler.
-+ * Otherwise, the type of .notes section would become PROGBITS instead of NOTES.
-+ */
- #define NOTES                                                         \
-+      /DISCARD/ : { *(.note.GNU-stack) }                              \
-       .notes : AT(ADDR(.notes) - LOAD_OFFSET) {                       \
-               __start_notes = .;                                      \
-               KEEP(*(.note.*))                                        \
diff --git a/queue-5.15/powerpc-vmlinux.lds-define-runtime_discard_exit.patch b/queue-5.15/powerpc-vmlinux.lds-define-runtime_discard_exit.patch
deleted file mode 100644 (file)
index 93e8011..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-From 4b9880dbf3bdba3a7c56445137c3d0e30aaa0a40 Mon Sep 17 00:00:00 2001
-From: Michael Ellerman <mpe@ellerman.id.au>
-Date: Thu, 5 Jan 2023 22:05:04 +1100
-Subject: powerpc/vmlinux.lds: Define RUNTIME_DISCARD_EXIT
-
-From: Michael Ellerman <mpe@ellerman.id.au>
-
-commit 4b9880dbf3bdba3a7c56445137c3d0e30aaa0a40 upstream.
-
-The powerpc linker script explicitly includes .exit.text, because
-otherwise the link fails due to references from __bug_table and
-__ex_table. The code is freed (discarded) at runtime along with
-.init.text and data.
-
-That has worked in the past despite powerpc not defining
-RUNTIME_DISCARD_EXIT because DISCARDS appears late in the powerpc linker
-script (line 410), and the explicit inclusion of .exit.text
-earlier (line 280) supersedes the discard.
-
-However commit 99cb0d917ffa ("arch: fix broken BuildID for arm64 and
-riscv") introduced an earlier use of DISCARD as part of the RO_DATA
-macro (line 136). With binutils < 2.36 that causes the DISCARD
-directives later in the script to be applied earlier [1], causing
-.exit.text to actually be discarded at link time, leading to build
-errors:
-
-  '.exit.text' referenced in section '__bug_table' of crypto/algboss.o: defined in
-  discarded section '.exit.text' of crypto/algboss.o
-  '.exit.text' referenced in section '__ex_table' of drivers/nvdimm/core.o: defined in
-  discarded section '.exit.text' of drivers/nvdimm/core.o
-
-Fix it by defining RUNTIME_DISCARD_EXIT, which causes the generic
-DISCARDS macro to not include .exit.text at all.
-
-1: https://lore.kernel.org/lkml/87fscp2v7k.fsf@igel.home/
-
-Fixes: 99cb0d917ffa ("arch: fix broken BuildID for arm64 and riscv")
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-Link: https://lore.kernel.org/r/20230105132349.384666-1-mpe@ellerman.id.au
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/powerpc/kernel/vmlinux.lds.S |    1 +
- 1 file changed, 1 insertion(+)
-
---- a/arch/powerpc/kernel/vmlinux.lds.S
-+++ b/arch/powerpc/kernel/vmlinux.lds.S
-@@ -8,6 +8,7 @@
- #define BSS_FIRST_SECTIONS *(.bss.prominit)
- #define EMITS_PT_NOTE
- #define RO_EXCEPTION_TABLE_ALIGN      0
-+#define RUNTIME_DISCARD_EXIT
- #define SOFT_MASK_TABLE(align)                                                \
-       . = ALIGN(align);                                               \
diff --git a/queue-5.15/powerpc-vmlinux.lds-don-t-discard-.comment.patch b/queue-5.15/powerpc-vmlinux.lds-don-t-discard-.comment.patch
deleted file mode 100644 (file)
index 631e8df..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-From be5f95c8779e19779dd81927c8574fec5aaba36c Mon Sep 17 00:00:00 2001
-From: Michael Ellerman <mpe@ellerman.id.au>
-Date: Thu, 5 Jan 2023 22:42:59 +1100
-Subject: powerpc/vmlinux.lds: Don't discard .comment
-
-From: Michael Ellerman <mpe@ellerman.id.au>
-
-commit be5f95c8779e19779dd81927c8574fec5aaba36c upstream.
-
-Although the powerpc linker script mentions .comment in the DISCARD
-section, that has never actually caused it to be discarded, because the
-earlier ELF_DETAILS macro (previously STABS_DEBUG) explicitly includes
-.comment.
-
-However commit 99cb0d917ffa ("arch: fix broken BuildID for arm64 and
-riscv") introduced an earlier use of DISCARD as part of the RO_DATA
-macro. With binutils < 2.36 that causes the DISCARD directives later in
-the script to be applied earlier, causing .comment to actually be
-discarded.
-
-It's confusing to explicitly include and discard .comment, and even more
-so if the behaviour depends on the toolchain version. So don't discard
-.comment in order to maintain the existing behaviour in all cases.
-
-Fixes: 83a092cf95f2 ("powerpc: Link warning for orphan sections")
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-Link: https://lore.kernel.org/r/20230105132349.384666-3-mpe@ellerman.id.au
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/powerpc/kernel/vmlinux.lds.S |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/arch/powerpc/kernel/vmlinux.lds.S
-+++ b/arch/powerpc/kernel/vmlinux.lds.S
-@@ -400,7 +400,7 @@ SECTIONS
-       DISCARDS
-       /DISCARD/ : {
-               *(*.EMB.apuinfo)
--              *(.glink .iplt .plt .comment)
-+              *(.glink .iplt .plt)
-               *(.gnu.version*)
-               *(.gnu.attributes)
-               *(.eh_frame)
diff --git a/queue-5.15/powerpc-vmlinux.lds-don-t-discard-.rela-for-relocatable-builds.patch b/queue-5.15/powerpc-vmlinux.lds-don-t-discard-.rela-for-relocatable-builds.patch
deleted file mode 100644 (file)
index 8638f6a..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-From 07b050f9290ee012a407a0f64151db902a1520f5 Mon Sep 17 00:00:00 2001
-From: Michael Ellerman <mpe@ellerman.id.au>
-Date: Thu, 5 Jan 2023 22:28:36 +1100
-Subject: powerpc/vmlinux.lds: Don't discard .rela* for relocatable builds
-
-From: Michael Ellerman <mpe@ellerman.id.au>
-
-commit 07b050f9290ee012a407a0f64151db902a1520f5 upstream.
-
-Relocatable kernels must not discard relocations, they need to be
-processed at runtime. As such they are included for CONFIG_RELOCATABLE
-builds in the powerpc linker script (line 340).
-
-However they are also unconditionally discarded later in the
-script (line 414). Previously that worked because the earlier inclusion
-superseded the discard.
-
-However commit 99cb0d917ffa ("arch: fix broken BuildID for arm64 and
-riscv") introduced an earlier use of DISCARD as part of the RO_DATA
-macro (line 137). With binutils < 2.36 that causes the DISCARD
-directives later in the script to be applied earlier, causing .rela* to
-actually be discarded at link time, leading to build warnings and a
-kernel that doesn't boot:
-
-  ld: warning: discarding dynamic section .rela.init.rodata
-
-Fix it by conditionally discarding .rela* only when CONFIG_RELOCATABLE
-is disabled.
-
-Fixes: 99cb0d917ffa ("arch: fix broken BuildID for arm64 and riscv")
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-Link: https://lore.kernel.org/r/20230105132349.384666-2-mpe@ellerman.id.au
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/powerpc/kernel/vmlinux.lds.S |    5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
---- a/arch/powerpc/kernel/vmlinux.lds.S
-+++ b/arch/powerpc/kernel/vmlinux.lds.S
-@@ -400,9 +400,12 @@ SECTIONS
-       DISCARDS
-       /DISCARD/ : {
-               *(*.EMB.apuinfo)
--              *(.glink .iplt .plt .rela* .comment)
-+              *(.glink .iplt .plt .comment)
-               *(.gnu.version*)
-               *(.gnu.attributes)
-               *(.eh_frame)
-+#ifndef CONFIG_RELOCATABLE
-+              *(.rela*)
-+#endif
-       }
- }
diff --git a/queue-5.15/s390-define-runtime_discard_exit-to-fix-link-error-with-gnu-ld-2.36.patch b/queue-5.15/s390-define-runtime_discard_exit-to-fix-link-error-with-gnu-ld-2.36.patch
deleted file mode 100644 (file)
index 9bda5bd..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-From a494398bde273143c2352dd373cad8211f7d94b2 Mon Sep 17 00:00:00 2001
-From: Masahiro Yamada <masahiroy@kernel.org>
-Date: Thu, 5 Jan 2023 12:13:06 +0900
-Subject: s390: define RUNTIME_DISCARD_EXIT to fix link error with GNU ld < 2.36
-
-From: Masahiro Yamada <masahiroy@kernel.org>
-
-commit a494398bde273143c2352dd373cad8211f7d94b2 upstream.
-
-Nathan Chancellor reports that the s390 vmlinux fails to link with
-GNU ld < 2.36 since commit 99cb0d917ffa ("arch: fix broken BuildID
-for arm64 and riscv").
-
-It happens for defconfig, or more specifically for CONFIG_EXPOLINE=y.
-
-  $ s390x-linux-gnu-ld --version | head -n1
-  GNU ld (GNU Binutils for Debian) 2.35.2
-  $ make -s ARCH=s390 CROSS_COMPILE=s390x-linux-gnu- allnoconfig
-  $ ./scripts/config -e CONFIG_EXPOLINE
-  $ make -s ARCH=s390 CROSS_COMPILE=s390x-linux-gnu- olddefconfig
-  $ make -s ARCH=s390 CROSS_COMPILE=s390x-linux-gnu-
-  `.exit.text' referenced in section `.s390_return_reg' of drivers/base/dd.o: defined in discarded section `.exit.text' of drivers/base/dd.o
-  make[1]: *** [scripts/Makefile.vmlinux:34: vmlinux] Error 1
-  make: *** [Makefile:1252: vmlinux] Error 2
-
-arch/s390/kernel/vmlinux.lds.S wants to keep EXIT_TEXT:
-
-        .exit.text : {
-                EXIT_TEXT
-        }
-
-But, at the same time, EXIT_TEXT is thrown away by DISCARD because
-s390 does not define RUNTIME_DISCARD_EXIT.
-
-I still do not understand why the latter wins after 99cb0d917ffa,
-but defining RUNTIME_DISCARD_EXIT seems correct because the comment
-line in arch/s390/kernel/vmlinux.lds.S says:
-
-        /*
-         * .exit.text is discarded at runtime, not link time,
-         * to deal with references from __bug_table
-         */
-
-Nathan also found that binutils commit 21401fc7bf67 ("Duplicate output
-sections in scripts") cured this issue, so we cannot reproduce it with
-binutils 2.36+, but it is better to not rely on it.
-
-Fixes: 99cb0d917ffa ("arch: fix broken BuildID for arm64 and riscv")
-Link: https://lore.kernel.org/all/Y7Jal56f6UBh1abE@dev-arch.thelio-3990X/
-Reported-by: Nathan Chancellor <nathan@kernel.org>
-Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
-Link: https://lore.kernel.org/r/20230105031306.1455409-1-masahiroy@kernel.org
-Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/s390/kernel/vmlinux.lds.S |    2 ++
- 1 file changed, 2 insertions(+)
-
---- a/arch/s390/kernel/vmlinux.lds.S
-+++ b/arch/s390/kernel/vmlinux.lds.S
-@@ -17,6 +17,8 @@
- /* Handle ro_after_init data on our own. */
- #define RO_AFTER_INIT_DATA
-+#define RUNTIME_DISCARD_EXIT
-+
- #define EMITS_PT_NOTE
- #include <asm-generic/vmlinux.lds.h>
index 5e85b568b254f9f49e0d8bccf446305e2656b879..5120f56f2e080f7388443f6d9b34735423877895 100644 (file)
@@ -103,11 +103,6 @@ efi-rt-wrapper-add-missing-include.patch
 revert-drm-amdgpu-make-display-pinning-more-flexible-v2.patch
 x86-fpu-use-_alignof-to-avoid-undefined-behavior-in-type_align.patch
 tracing-use-alignof__-struct-type-b-instead-of-offsetof.patch
-arch-fix-broken-buildid-for-arm64-and-riscv.patch
-s390-define-runtime_discard_exit-to-fix-link-error-with-gnu-ld-2.36.patch
-powerpc-vmlinux.lds-define-runtime_discard_exit.patch
-powerpc-vmlinux.lds-don-t-discard-.rela-for-relocatable-builds.patch
-powerpc-vmlinux.lds-don-t-discard-.comment.patch
 io_uring-io_kiocb_update_pos-should-not-touch-file-for-non-1-offset.patch
 io_uring-net-fix-fast_iov-assignment-in-io_setup_async_msg.patch
 net-ulp-use-consistent-error-code-when-blocking-ulp.patch
diff --git a/queue-5.4/arch-fix-broken-buildid-for-arm64-and-riscv.patch b/queue-5.4/arch-fix-broken-buildid-for-arm64-and-riscv.patch
deleted file mode 100644 (file)
index 593f1d4..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-From 99cb0d917ffa1ab628bb67364ca9b162c07699b1 Mon Sep 17 00:00:00 2001
-From: Masahiro Yamada <masahiroy@kernel.org>
-Date: Tue, 27 Dec 2022 03:45:37 +0900
-Subject: arch: fix broken BuildID for arm64 and riscv
-
-From: Masahiro Yamada <masahiroy@kernel.org>
-
-commit 99cb0d917ffa1ab628bb67364ca9b162c07699b1 upstream.
-
-Dennis Gilmore reports that the BuildID is missing in the arm64 vmlinux
-since commit 994b7ac1697b ("arm64: remove special treatment for the
-link order of head.o").
-
-The issue is that the type of .notes section, which contains the BuildID,
-changed from NOTES to PROGBITS.
-
-Ard Biesheuvel figured out that whichever object gets linked first gets
-to decide the type of a section. The PROGBITS type is the result of the
-compiler emitting .note.GNU-stack as PROGBITS rather than NOTE.
-
-While Ard provided a fix for arm64, I want to fix this globally because
-the same issue is happening on riscv since commit 2348e6bf4421 ("riscv:
-remove special treatment for the link order of head.o"). This problem
-will happen in general for other architectures if they start to drop
-unneeded entries from scripts/head-object-list.txt.
-
-Discard .note.GNU-stack in include/asm-generic/vmlinux.lds.h.
-
-Link: https://lore.kernel.org/lkml/CAABkxwuQoz1CTbyb57n0ZX65eSYiTonFCU8-LCQc=74D=xE=rA@mail.gmail.com/
-Fixes: 994b7ac1697b ("arm64: remove special treatment for the link order of head.o")
-Fixes: 2348e6bf4421 ("riscv: remove special treatment for the link order of head.o")
-Cc: Tom Saeger <tom.saeger@oracle.com>
-Reported-by: Dennis Gilmore <dennis@ausil.us>
-Suggested-by: Ard Biesheuvel <ardb@kernel.org>
-Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
-Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- include/asm-generic/vmlinux.lds.h |    5 +++++
- 1 file changed, 5 insertions(+)
-
---- a/include/asm-generic/vmlinux.lds.h
-+++ b/include/asm-generic/vmlinux.lds.h
-@@ -825,7 +825,12 @@
- #define TRACEDATA
- #endif
-+/*
-+ * Discard .note.GNU-stack, which is emitted as PROGBITS by the compiler.
-+ * Otherwise, the type of .notes section would become PROGBITS instead of NOTES.
-+ */
- #define NOTES                                                         \
-+      /DISCARD/ : { *(.note.GNU-stack) }                              \
-       .notes : AT(ADDR(.notes) - LOAD_OFFSET) {                       \
-               __start_notes = .;                                      \
-               KEEP(*(.note.*))                                        \
diff --git a/queue-5.4/powerpc-vmlinux.lds-define-runtime_discard_exit.patch b/queue-5.4/powerpc-vmlinux.lds-define-runtime_discard_exit.patch
deleted file mode 100644 (file)
index f8c64f8..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-From 4b9880dbf3bdba3a7c56445137c3d0e30aaa0a40 Mon Sep 17 00:00:00 2001
-From: Michael Ellerman <mpe@ellerman.id.au>
-Date: Thu, 5 Jan 2023 22:05:04 +1100
-Subject: powerpc/vmlinux.lds: Define RUNTIME_DISCARD_EXIT
-
-From: Michael Ellerman <mpe@ellerman.id.au>
-
-commit 4b9880dbf3bdba3a7c56445137c3d0e30aaa0a40 upstream.
-
-The powerpc linker script explicitly includes .exit.text, because
-otherwise the link fails due to references from __bug_table and
-__ex_table. The code is freed (discarded) at runtime along with
-.init.text and data.
-
-That has worked in the past despite powerpc not defining
-RUNTIME_DISCARD_EXIT because DISCARDS appears late in the powerpc linker
-script (line 410), and the explicit inclusion of .exit.text
-earlier (line 280) supersedes the discard.
-
-However commit 99cb0d917ffa ("arch: fix broken BuildID for arm64 and
-riscv") introduced an earlier use of DISCARD as part of the RO_DATA
-macro (line 136). With binutils < 2.36 that causes the DISCARD
-directives later in the script to be applied earlier [1], causing
-.exit.text to actually be discarded at link time, leading to build
-errors:
-
-  '.exit.text' referenced in section '__bug_table' of crypto/algboss.o: defined in
-  discarded section '.exit.text' of crypto/algboss.o
-  '.exit.text' referenced in section '__ex_table' of drivers/nvdimm/core.o: defined in
-  discarded section '.exit.text' of drivers/nvdimm/core.o
-
-Fix it by defining RUNTIME_DISCARD_EXIT, which causes the generic
-DISCARDS macro to not include .exit.text at all.
-
-1: https://lore.kernel.org/lkml/87fscp2v7k.fsf@igel.home/
-
-Fixes: 99cb0d917ffa ("arch: fix broken BuildID for arm64 and riscv")
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-Link: https://lore.kernel.org/r/20230105132349.384666-1-mpe@ellerman.id.au
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/powerpc/kernel/vmlinux.lds.S |    1 +
- 1 file changed, 1 insertion(+)
-
---- a/arch/powerpc/kernel/vmlinux.lds.S
-+++ b/arch/powerpc/kernel/vmlinux.lds.S
-@@ -6,6 +6,7 @@
- #endif
- #define BSS_FIRST_SECTIONS *(.bss.prominit)
-+#define RUNTIME_DISCARD_EXIT
- #include <asm/page.h>
- #include <asm-generic/vmlinux.lds.h>
diff --git a/queue-5.4/powerpc-vmlinux.lds-don-t-discard-.comment.patch b/queue-5.4/powerpc-vmlinux.lds-don-t-discard-.comment.patch
deleted file mode 100644 (file)
index 5f9c1ba..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-From be5f95c8779e19779dd81927c8574fec5aaba36c Mon Sep 17 00:00:00 2001
-From: Michael Ellerman <mpe@ellerman.id.au>
-Date: Thu, 5 Jan 2023 22:42:59 +1100
-Subject: powerpc/vmlinux.lds: Don't discard .comment
-
-From: Michael Ellerman <mpe@ellerman.id.au>
-
-commit be5f95c8779e19779dd81927c8574fec5aaba36c upstream.
-
-Although the powerpc linker script mentions .comment in the DISCARD
-section, that has never actually caused it to be discarded, because the
-earlier ELF_DETAILS macro (previously STABS_DEBUG) explicitly includes
-.comment.
-
-However commit 99cb0d917ffa ("arch: fix broken BuildID for arm64 and
-riscv") introduced an earlier use of DISCARD as part of the RO_DATA
-macro. With binutils < 2.36 that causes the DISCARD directives later in
-the script to be applied earlier, causing .comment to actually be
-discarded.
-
-It's confusing to explicitly include and discard .comment, and even more
-so if the behaviour depends on the toolchain version. So don't discard
-.comment in order to maintain the existing behaviour in all cases.
-
-Fixes: 83a092cf95f2 ("powerpc: Link warning for orphan sections")
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-Link: https://lore.kernel.org/r/20230105132349.384666-3-mpe@ellerman.id.au
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/powerpc/kernel/vmlinux.lds.S |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/arch/powerpc/kernel/vmlinux.lds.S
-+++ b/arch/powerpc/kernel/vmlinux.lds.S
-@@ -395,7 +395,7 @@ SECTIONS
-       DISCARDS
-       /DISCARD/ : {
-               *(*.EMB.apuinfo)
--              *(.glink .iplt .plt .comment)
-+              *(.glink .iplt .plt)
-               *(.gnu.version*)
-               *(.gnu.attributes)
-               *(.eh_frame)
diff --git a/queue-5.4/powerpc-vmlinux.lds-don-t-discard-.rela-for-relocatable-builds.patch b/queue-5.4/powerpc-vmlinux.lds-don-t-discard-.rela-for-relocatable-builds.patch
deleted file mode 100644 (file)
index 637621c..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-From 07b050f9290ee012a407a0f64151db902a1520f5 Mon Sep 17 00:00:00 2001
-From: Michael Ellerman <mpe@ellerman.id.au>
-Date: Thu, 5 Jan 2023 22:28:36 +1100
-Subject: powerpc/vmlinux.lds: Don't discard .rela* for relocatable builds
-
-From: Michael Ellerman <mpe@ellerman.id.au>
-
-commit 07b050f9290ee012a407a0f64151db902a1520f5 upstream.
-
-Relocatable kernels must not discard relocations, they need to be
-processed at runtime. As such they are included for CONFIG_RELOCATABLE
-builds in the powerpc linker script (line 340).
-
-However they are also unconditionally discarded later in the
-script (line 414). Previously that worked because the earlier inclusion
-superseded the discard.
-
-However commit 99cb0d917ffa ("arch: fix broken BuildID for arm64 and
-riscv") introduced an earlier use of DISCARD as part of the RO_DATA
-macro (line 137). With binutils < 2.36 that causes the DISCARD
-directives later in the script to be applied earlier, causing .rela* to
-actually be discarded at link time, leading to build warnings and a
-kernel that doesn't boot:
-
-  ld: warning: discarding dynamic section .rela.init.rodata
-
-Fix it by conditionally discarding .rela* only when CONFIG_RELOCATABLE
-is disabled.
-
-Fixes: 99cb0d917ffa ("arch: fix broken BuildID for arm64 and riscv")
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-Link: https://lore.kernel.org/r/20230105132349.384666-2-mpe@ellerman.id.au
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/powerpc/kernel/vmlinux.lds.S |    5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
---- a/arch/powerpc/kernel/vmlinux.lds.S
-+++ b/arch/powerpc/kernel/vmlinux.lds.S
-@@ -395,9 +395,12 @@ SECTIONS
-       DISCARDS
-       /DISCARD/ : {
-               *(*.EMB.apuinfo)
--              *(.glink .iplt .plt .rela* .comment)
-+              *(.glink .iplt .plt .comment)
-               *(.gnu.version*)
-               *(.gnu.attributes)
-               *(.eh_frame)
-+#ifndef CONFIG_RELOCATABLE
-+              *(.rela*)
-+#endif
-       }
- }
diff --git a/queue-5.4/s390-define-runtime_discard_exit-to-fix-link-error-with-gnu-ld-2.36.patch b/queue-5.4/s390-define-runtime_discard_exit-to-fix-link-error-with-gnu-ld-2.36.patch
deleted file mode 100644 (file)
index a2dbae8..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-From a494398bde273143c2352dd373cad8211f7d94b2 Mon Sep 17 00:00:00 2001
-From: Masahiro Yamada <masahiroy@kernel.org>
-Date: Thu, 5 Jan 2023 12:13:06 +0900
-Subject: s390: define RUNTIME_DISCARD_EXIT to fix link error with GNU ld < 2.36
-
-From: Masahiro Yamada <masahiroy@kernel.org>
-
-commit a494398bde273143c2352dd373cad8211f7d94b2 upstream.
-
-Nathan Chancellor reports that the s390 vmlinux fails to link with
-GNU ld < 2.36 since commit 99cb0d917ffa ("arch: fix broken BuildID
-for arm64 and riscv").
-
-It happens for defconfig, or more specifically for CONFIG_EXPOLINE=y.
-
-  $ s390x-linux-gnu-ld --version | head -n1
-  GNU ld (GNU Binutils for Debian) 2.35.2
-  $ make -s ARCH=s390 CROSS_COMPILE=s390x-linux-gnu- allnoconfig
-  $ ./scripts/config -e CONFIG_EXPOLINE
-  $ make -s ARCH=s390 CROSS_COMPILE=s390x-linux-gnu- olddefconfig
-  $ make -s ARCH=s390 CROSS_COMPILE=s390x-linux-gnu-
-  `.exit.text' referenced in section `.s390_return_reg' of drivers/base/dd.o: defined in discarded section `.exit.text' of drivers/base/dd.o
-  make[1]: *** [scripts/Makefile.vmlinux:34: vmlinux] Error 1
-  make: *** [Makefile:1252: vmlinux] Error 2
-
-arch/s390/kernel/vmlinux.lds.S wants to keep EXIT_TEXT:
-
-        .exit.text : {
-                EXIT_TEXT
-        }
-
-But, at the same time, EXIT_TEXT is thrown away by DISCARD because
-s390 does not define RUNTIME_DISCARD_EXIT.
-
-I still do not understand why the latter wins after 99cb0d917ffa,
-but defining RUNTIME_DISCARD_EXIT seems correct because the comment
-line in arch/s390/kernel/vmlinux.lds.S says:
-
-        /*
-         * .exit.text is discarded at runtime, not link time,
-         * to deal with references from __bug_table
-         */
-
-Nathan also found that binutils commit 21401fc7bf67 ("Duplicate output
-sections in scripts") cured this issue, so we cannot reproduce it with
-binutils 2.36+, but it is better to not rely on it.
-
-Fixes: 99cb0d917ffa ("arch: fix broken BuildID for arm64 and riscv")
-Link: https://lore.kernel.org/all/Y7Jal56f6UBh1abE@dev-arch.thelio-3990X/
-Reported-by: Nathan Chancellor <nathan@kernel.org>
-Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
-Link: https://lore.kernel.org/r/20230105031306.1455409-1-masahiroy@kernel.org
-Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/s390/kernel/vmlinux.lds.S |    2 ++
- 1 file changed, 2 insertions(+)
-
---- a/arch/s390/kernel/vmlinux.lds.S
-+++ b/arch/s390/kernel/vmlinux.lds.S
-@@ -15,6 +15,8 @@
- /* Handle ro_after_init data on our own. */
- #define RO_AFTER_INIT_DATA
-+#define RUNTIME_DISCARD_EXIT
-+
- #include <asm-generic/vmlinux.lds.h>
- #include <asm/vmlinux.lds.h>
index 766e308dfb6a37aa7a9d6e7d13ddbb39311e3983..0a5f203cd4d35f837f29ee46100766b50cfee0b3 100644 (file)
@@ -48,8 +48,3 @@ drm-i915-re-disable-rc6p-on-sandy-bridge.patch
 drm-amd-display-fix-set-scaling-doesn-s-work.patch
 drm-amd-display-fix-color_space_ycbcr2020_type-matrix.patch
 x86-fpu-use-_alignof-to-avoid-undefined-behavior-in-type_align.patch
-arch-fix-broken-buildid-for-arm64-and-riscv.patch
-s390-define-runtime_discard_exit-to-fix-link-error-with-gnu-ld-2.36.patch
-powerpc-vmlinux.lds-define-runtime_discard_exit.patch
-powerpc-vmlinux.lds-don-t-discard-.rela-for-relocatable-builds.patch
-powerpc-vmlinux.lds-don-t-discard-.comment.patch
diff --git a/queue-6.1/arch-fix-broken-buildid-for-arm64-and-riscv.patch b/queue-6.1/arch-fix-broken-buildid-for-arm64-and-riscv.patch
deleted file mode 100644 (file)
index e961381..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-From 99cb0d917ffa1ab628bb67364ca9b162c07699b1 Mon Sep 17 00:00:00 2001
-From: Masahiro Yamada <masahiroy@kernel.org>
-Date: Tue, 27 Dec 2022 03:45:37 +0900
-Subject: arch: fix broken BuildID for arm64 and riscv
-
-From: Masahiro Yamada <masahiroy@kernel.org>
-
-commit 99cb0d917ffa1ab628bb67364ca9b162c07699b1 upstream.
-
-Dennis Gilmore reports that the BuildID is missing in the arm64 vmlinux
-since commit 994b7ac1697b ("arm64: remove special treatment for the
-link order of head.o").
-
-The issue is that the type of .notes section, which contains the BuildID,
-changed from NOTES to PROGBITS.
-
-Ard Biesheuvel figured out that whichever object gets linked first gets
-to decide the type of a section. The PROGBITS type is the result of the
-compiler emitting .note.GNU-stack as PROGBITS rather than NOTE.
-
-While Ard provided a fix for arm64, I want to fix this globally because
-the same issue is happening on riscv since commit 2348e6bf4421 ("riscv:
-remove special treatment for the link order of head.o"). This problem
-will happen in general for other architectures if they start to drop
-unneeded entries from scripts/head-object-list.txt.
-
-Discard .note.GNU-stack in include/asm-generic/vmlinux.lds.h.
-
-Link: https://lore.kernel.org/lkml/CAABkxwuQoz1CTbyb57n0ZX65eSYiTonFCU8-LCQc=74D=xE=rA@mail.gmail.com/
-Fixes: 994b7ac1697b ("arm64: remove special treatment for the link order of head.o")
-Fixes: 2348e6bf4421 ("riscv: remove special treatment for the link order of head.o")
-Reported-by: Dennis Gilmore <dennis@ausil.us>
-Suggested-by: Ard Biesheuvel <ardb@kernel.org>
-Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
-Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- include/asm-generic/vmlinux.lds.h |    5 +++++
- 1 file changed, 5 insertions(+)
-
---- a/include/asm-generic/vmlinux.lds.h
-+++ b/include/asm-generic/vmlinux.lds.h
-@@ -929,7 +929,12 @@
- #define PRINTK_INDEX
- #endif
-+/*
-+ * Discard .note.GNU-stack, which is emitted as PROGBITS by the compiler.
-+ * Otherwise, the type of .notes section would become PROGBITS instead of NOTES.
-+ */
- #define NOTES                                                         \
-+      /DISCARD/ : { *(.note.GNU-stack) }                              \
-       .notes : AT(ADDR(.notes) - LOAD_OFFSET) {                       \
-               __start_notes = .;                                      \
-               KEEP(*(.note.*))                                        \
diff --git a/queue-6.1/powerpc-vmlinux.lds-define-runtime_discard_exit.patch b/queue-6.1/powerpc-vmlinux.lds-define-runtime_discard_exit.patch
deleted file mode 100644 (file)
index 93e8011..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-From 4b9880dbf3bdba3a7c56445137c3d0e30aaa0a40 Mon Sep 17 00:00:00 2001
-From: Michael Ellerman <mpe@ellerman.id.au>
-Date: Thu, 5 Jan 2023 22:05:04 +1100
-Subject: powerpc/vmlinux.lds: Define RUNTIME_DISCARD_EXIT
-
-From: Michael Ellerman <mpe@ellerman.id.au>
-
-commit 4b9880dbf3bdba3a7c56445137c3d0e30aaa0a40 upstream.
-
-The powerpc linker script explicitly includes .exit.text, because
-otherwise the link fails due to references from __bug_table and
-__ex_table. The code is freed (discarded) at runtime along with
-.init.text and data.
-
-That has worked in the past despite powerpc not defining
-RUNTIME_DISCARD_EXIT because DISCARDS appears late in the powerpc linker
-script (line 410), and the explicit inclusion of .exit.text
-earlier (line 280) supersedes the discard.
-
-However commit 99cb0d917ffa ("arch: fix broken BuildID for arm64 and
-riscv") introduced an earlier use of DISCARD as part of the RO_DATA
-macro (line 136). With binutils < 2.36 that causes the DISCARD
-directives later in the script to be applied earlier [1], causing
-.exit.text to actually be discarded at link time, leading to build
-errors:
-
-  '.exit.text' referenced in section '__bug_table' of crypto/algboss.o: defined in
-  discarded section '.exit.text' of crypto/algboss.o
-  '.exit.text' referenced in section '__ex_table' of drivers/nvdimm/core.o: defined in
-  discarded section '.exit.text' of drivers/nvdimm/core.o
-
-Fix it by defining RUNTIME_DISCARD_EXIT, which causes the generic
-DISCARDS macro to not include .exit.text at all.
-
-1: https://lore.kernel.org/lkml/87fscp2v7k.fsf@igel.home/
-
-Fixes: 99cb0d917ffa ("arch: fix broken BuildID for arm64 and riscv")
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-Link: https://lore.kernel.org/r/20230105132349.384666-1-mpe@ellerman.id.au
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/powerpc/kernel/vmlinux.lds.S |    1 +
- 1 file changed, 1 insertion(+)
-
---- a/arch/powerpc/kernel/vmlinux.lds.S
-+++ b/arch/powerpc/kernel/vmlinux.lds.S
-@@ -8,6 +8,7 @@
- #define BSS_FIRST_SECTIONS *(.bss.prominit)
- #define EMITS_PT_NOTE
- #define RO_EXCEPTION_TABLE_ALIGN      0
-+#define RUNTIME_DISCARD_EXIT
- #define SOFT_MASK_TABLE(align)                                                \
-       . = ALIGN(align);                                               \
diff --git a/queue-6.1/powerpc-vmlinux.lds-don-t-discard-.comment.patch b/queue-6.1/powerpc-vmlinux.lds-don-t-discard-.comment.patch
deleted file mode 100644 (file)
index 7649ad9..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-From be5f95c8779e19779dd81927c8574fec5aaba36c Mon Sep 17 00:00:00 2001
-From: Michael Ellerman <mpe@ellerman.id.au>
-Date: Thu, 5 Jan 2023 22:42:59 +1100
-Subject: powerpc/vmlinux.lds: Don't discard .comment
-
-From: Michael Ellerman <mpe@ellerman.id.au>
-
-commit be5f95c8779e19779dd81927c8574fec5aaba36c upstream.
-
-Although the powerpc linker script mentions .comment in the DISCARD
-section, that has never actually caused it to be discarded, because the
-earlier ELF_DETAILS macro (previously STABS_DEBUG) explicitly includes
-.comment.
-
-However commit 99cb0d917ffa ("arch: fix broken BuildID for arm64 and
-riscv") introduced an earlier use of DISCARD as part of the RO_DATA
-macro. With binutils < 2.36 that causes the DISCARD directives later in
-the script to be applied earlier, causing .comment to actually be
-discarded.
-
-It's confusing to explicitly include and discard .comment, and even more
-so if the behaviour depends on the toolchain version. So don't discard
-.comment in order to maintain the existing behaviour in all cases.
-
-Fixes: 83a092cf95f2 ("powerpc: Link warning for orphan sections")
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-Link: https://lore.kernel.org/r/20230105132349.384666-3-mpe@ellerman.id.au
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/powerpc/kernel/vmlinux.lds.S |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/arch/powerpc/kernel/vmlinux.lds.S
-+++ b/arch/powerpc/kernel/vmlinux.lds.S
-@@ -411,7 +411,7 @@ SECTIONS
-       DISCARDS
-       /DISCARD/ : {
-               *(*.EMB.apuinfo)
--              *(.glink .iplt .plt .comment)
-+              *(.glink .iplt .plt)
-               *(.gnu.version*)
-               *(.gnu.attributes)
-               *(.eh_frame)
diff --git a/queue-6.1/powerpc-vmlinux.lds-don-t-discard-.rela-for-relocatable-builds.patch b/queue-6.1/powerpc-vmlinux.lds-don-t-discard-.rela-for-relocatable-builds.patch
deleted file mode 100644 (file)
index 155dff2..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-From 07b050f9290ee012a407a0f64151db902a1520f5 Mon Sep 17 00:00:00 2001
-From: Michael Ellerman <mpe@ellerman.id.au>
-Date: Thu, 5 Jan 2023 22:28:36 +1100
-Subject: powerpc/vmlinux.lds: Don't discard .rela* for relocatable builds
-
-From: Michael Ellerman <mpe@ellerman.id.au>
-
-commit 07b050f9290ee012a407a0f64151db902a1520f5 upstream.
-
-Relocatable kernels must not discard relocations, they need to be
-processed at runtime. As such they are included for CONFIG_RELOCATABLE
-builds in the powerpc linker script (line 340).
-
-However they are also unconditionally discarded later in the
-script (line 414). Previously that worked because the earlier inclusion
-superseded the discard.
-
-However commit 99cb0d917ffa ("arch: fix broken BuildID for arm64 and
-riscv") introduced an earlier use of DISCARD as part of the RO_DATA
-macro (line 137). With binutils < 2.36 that causes the DISCARD
-directives later in the script to be applied earlier, causing .rela* to
-actually be discarded at link time, leading to build warnings and a
-kernel that doesn't boot:
-
-  ld: warning: discarding dynamic section .rela.init.rodata
-
-Fix it by conditionally discarding .rela* only when CONFIG_RELOCATABLE
-is disabled.
-
-Fixes: 99cb0d917ffa ("arch: fix broken BuildID for arm64 and riscv")
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-Link: https://lore.kernel.org/r/20230105132349.384666-2-mpe@ellerman.id.au
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/powerpc/kernel/vmlinux.lds.S |    5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
---- a/arch/powerpc/kernel/vmlinux.lds.S
-+++ b/arch/powerpc/kernel/vmlinux.lds.S
-@@ -411,9 +411,12 @@ SECTIONS
-       DISCARDS
-       /DISCARD/ : {
-               *(*.EMB.apuinfo)
--              *(.glink .iplt .plt .rela* .comment)
-+              *(.glink .iplt .plt .comment)
-               *(.gnu.version*)
-               *(.gnu.attributes)
-               *(.eh_frame)
-+#ifndef CONFIG_RELOCATABLE
-+              *(.rela*)
-+#endif
-       }
- }
diff --git a/queue-6.1/s390-define-runtime_discard_exit-to-fix-link-error-with-gnu-ld-2.36.patch b/queue-6.1/s390-define-runtime_discard_exit-to-fix-link-error-with-gnu-ld-2.36.patch
deleted file mode 100644 (file)
index 9bda5bd..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-From a494398bde273143c2352dd373cad8211f7d94b2 Mon Sep 17 00:00:00 2001
-From: Masahiro Yamada <masahiroy@kernel.org>
-Date: Thu, 5 Jan 2023 12:13:06 +0900
-Subject: s390: define RUNTIME_DISCARD_EXIT to fix link error with GNU ld < 2.36
-
-From: Masahiro Yamada <masahiroy@kernel.org>
-
-commit a494398bde273143c2352dd373cad8211f7d94b2 upstream.
-
-Nathan Chancellor reports that the s390 vmlinux fails to link with
-GNU ld < 2.36 since commit 99cb0d917ffa ("arch: fix broken BuildID
-for arm64 and riscv").
-
-It happens for defconfig, or more specifically for CONFIG_EXPOLINE=y.
-
-  $ s390x-linux-gnu-ld --version | head -n1
-  GNU ld (GNU Binutils for Debian) 2.35.2
-  $ make -s ARCH=s390 CROSS_COMPILE=s390x-linux-gnu- allnoconfig
-  $ ./scripts/config -e CONFIG_EXPOLINE
-  $ make -s ARCH=s390 CROSS_COMPILE=s390x-linux-gnu- olddefconfig
-  $ make -s ARCH=s390 CROSS_COMPILE=s390x-linux-gnu-
-  `.exit.text' referenced in section `.s390_return_reg' of drivers/base/dd.o: defined in discarded section `.exit.text' of drivers/base/dd.o
-  make[1]: *** [scripts/Makefile.vmlinux:34: vmlinux] Error 1
-  make: *** [Makefile:1252: vmlinux] Error 2
-
-arch/s390/kernel/vmlinux.lds.S wants to keep EXIT_TEXT:
-
-        .exit.text : {
-                EXIT_TEXT
-        }
-
-But, at the same time, EXIT_TEXT is thrown away by DISCARD because
-s390 does not define RUNTIME_DISCARD_EXIT.
-
-I still do not understand why the latter wins after 99cb0d917ffa,
-but defining RUNTIME_DISCARD_EXIT seems correct because the comment
-line in arch/s390/kernel/vmlinux.lds.S says:
-
-        /*
-         * .exit.text is discarded at runtime, not link time,
-         * to deal with references from __bug_table
-         */
-
-Nathan also found that binutils commit 21401fc7bf67 ("Duplicate output
-sections in scripts") cured this issue, so we cannot reproduce it with
-binutils 2.36+, but it is better to not rely on it.
-
-Fixes: 99cb0d917ffa ("arch: fix broken BuildID for arm64 and riscv")
-Link: https://lore.kernel.org/all/Y7Jal56f6UBh1abE@dev-arch.thelio-3990X/
-Reported-by: Nathan Chancellor <nathan@kernel.org>
-Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
-Link: https://lore.kernel.org/r/20230105031306.1455409-1-masahiroy@kernel.org
-Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/s390/kernel/vmlinux.lds.S |    2 ++
- 1 file changed, 2 insertions(+)
-
---- a/arch/s390/kernel/vmlinux.lds.S
-+++ b/arch/s390/kernel/vmlinux.lds.S
-@@ -17,6 +17,8 @@
- /* Handle ro_after_init data on our own. */
- #define RO_AFTER_INIT_DATA
-+#define RUNTIME_DISCARD_EXIT
-+
- #define EMITS_PT_NOTE
- #include <asm-generic/vmlinux.lds.h>
index 569ad3d367de43d8000f15bcc4f280f1253db72d..e6db54d837e5a5c5013de568d0df801ea125f53a 100644 (file)
@@ -157,7 +157,6 @@ panic-expose-warn_count-to-sysfs.patch
 docs-fix-path-paste-o-for-sys-kernel-warn_count.patch
 exit-use-read_once-for-all-oops-warn-limit-reads.patch
 x86-fpu-use-_alignof-to-avoid-undefined-behavior-in-type_align.patch
-arch-fix-broken-buildid-for-arm64-and-riscv.patch
 drm-amdgpu-discovery-enable-soc21-common-for-gc-11.0.4.patch
 drm-amdgpu-discovery-enable-gmc-v11-for-gc-11.0.4.patch
 drm-amdgpu-discovery-enable-gfx-v11-for-gc-11.0.4.patch
@@ -180,10 +179,6 @@ drm-amdgpu-enable-gfx-clock-gating-control-for-gc-ip-v11.0.4.patch
 drm-amdgpu-add-tmz-support-for-gc-11.0.1.patch
 drm-amdgpu-add-tmz-support-for-gc-ip-v11.0.4.patch
 drm-amdgpu-correct-mec-number-for-gfx11-apus.patch
-s390-define-runtime_discard_exit-to-fix-link-error-with-gnu-ld-2.36.patch
-powerpc-vmlinux.lds-define-runtime_discard_exit.patch
-powerpc-vmlinux.lds-don-t-discard-.rela-for-relocatable-builds.patch
-powerpc-vmlinux.lds-don-t-discard-.comment.patch
 octeontx2-pf-avoid-use-of-gfp_kernel-in-atomic-context.patch
 net-ulp-use-consistent-error-code-when-blocking-ulp.patch
 octeontx2-pf-fix-the-use-of-gfp_kernel-in-atomic-context-on-rt.patch