configs/qemu_m68k: add Linux kernel patch to fix build with binutils >= 2.41
The m68k Linux kernel build is broken with binutils >= 2.41 with: arch/m68k/fpsp040/skeleton.S: Assembler messages: arch/m68k/fpsp040/skeleton.S:502: Error: junk at end of line, first unrecognized character is `#' arch/m68k/fpsp040/skeleton.S:508: Error: junk at end of line, first unrecognized character is `#' This commit adds a backport from the upstream Linux kernel which fixes this issue. Many thanks to Romain Naour for the issue investigation and the identification of the kernel commit fixing this. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
ef57da23b9
commit
a1ce9474e4
@ -0,0 +1,97 @@
|
||||
From 0bb6b7477f5dcfafbdd76eea9c7aa7a5f78d7613 Mon Sep 17 00:00:00 2001
|
||||
From: Ben Hutchings <benh@debian.org>
|
||||
Date: Fri, 16 Jun 2023 17:36:10 +0200
|
||||
Subject: [PATCH] m68k: Fix invalid .section syntax
|
||||
|
||||
gas supports several different forms for .section for ELF targets,
|
||||
including:
|
||||
.section NAME [, "FLAGS"[, @TYPE[,FLAG_SPECIFIC_ARGUMENTS]]]
|
||||
and:
|
||||
.section "NAME"[, #FLAGS...]
|
||||
|
||||
In several places we use a mix of these two forms:
|
||||
.section NAME, #FLAGS...
|
||||
|
||||
A current development snapshot of binutils (2.40.50.20230611) treats
|
||||
this mixed syntax as an error.
|
||||
|
||||
Change to consistently use:
|
||||
.section NAME, "FLAGS"
|
||||
as is used elsewhere in the kernel.
|
||||
|
||||
Link: https://buildd.debian.org/status/fetch.php?pkg=linux&arch=m68k&ver=6.4%7Erc6-1%7Eexp1&stamp=1686907300&raw=1
|
||||
Signed-off-by: Ben Hutchings <benh@debian.org>
|
||||
Tested-by: Jan-Benedict Glaw <jbglaw@lug-owl.de>
|
||||
Link: https://lore.kernel.org/r/ZIyBaueWT9jnTwRC@decadent.org.uk
|
||||
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
|
||||
Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=922a9bd138101e3e5718f0f4d40dba68ef89bb43
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
arch/m68k/fpsp040/skeleton.S | 4 ++--
|
||||
arch/m68k/ifpsp060/os.S | 4 ++--
|
||||
arch/m68k/kernel/relocate_kernel.S | 4 ++--
|
||||
3 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/arch/m68k/fpsp040/skeleton.S b/arch/m68k/fpsp040/skeleton.S
|
||||
index 439395aa6fb4..081922c72daa 100644
|
||||
--- a/arch/m68k/fpsp040/skeleton.S
|
||||
+++ b/arch/m68k/fpsp040/skeleton.S
|
||||
@@ -499,13 +499,13 @@ in_ea:
|
||||
dbf %d0,morein
|
||||
rts
|
||||
|
||||
- .section .fixup,#alloc,#execinstr
|
||||
+ .section .fixup,"ax"
|
||||
.even
|
||||
1:
|
||||
jbsr fpsp040_die
|
||||
jbra .Lnotkern
|
||||
|
||||
- .section __ex_table,#alloc
|
||||
+ .section __ex_table,"a"
|
||||
.align 4
|
||||
|
||||
.long in_ea,1b
|
||||
diff --git a/arch/m68k/ifpsp060/os.S b/arch/m68k/ifpsp060/os.S
|
||||
index 7a0d6e428066..89e2ec224ab6 100644
|
||||
--- a/arch/m68k/ifpsp060/os.S
|
||||
+++ b/arch/m68k/ifpsp060/os.S
|
||||
@@ -379,11 +379,11 @@ _060_real_access:
|
||||
|
||||
|
||||
| Execption handling for movs access to illegal memory
|
||||
- .section .fixup,#alloc,#execinstr
|
||||
+ .section .fixup,"ax"
|
||||
.even
|
||||
1: moveq #-1,%d1
|
||||
rts
|
||||
-.section __ex_table,#alloc
|
||||
+.section __ex_table,"a"
|
||||
.align 4
|
||||
.long dmrbuae,1b
|
||||
.long dmrwuae,1b
|
||||
diff --git a/arch/m68k/kernel/relocate_kernel.S b/arch/m68k/kernel/relocate_kernel.S
|
||||
index ab0f1e7d4653..f7667079e08e 100644
|
||||
--- a/arch/m68k/kernel/relocate_kernel.S
|
||||
+++ b/arch/m68k/kernel/relocate_kernel.S
|
||||
@@ -26,7 +26,7 @@ ENTRY(relocate_new_kernel)
|
||||
lea %pc@(.Lcopy),%a4
|
||||
2: addl #0x00000000,%a4 /* virt_to_phys() */
|
||||
|
||||
- .section ".m68k_fixup","aw"
|
||||
+ .section .m68k_fixup,"aw"
|
||||
.long M68K_FIXUP_MEMOFFSET, 2b+2
|
||||
.previous
|
||||
|
||||
@@ -49,7 +49,7 @@ ENTRY(relocate_new_kernel)
|
||||
lea %pc@(.Lcont040),%a4
|
||||
5: addl #0x00000000,%a4 /* virt_to_phys() */
|
||||
|
||||
- .section ".m68k_fixup","aw"
|
||||
+ .section .m68k_fixup,"aw"
|
||||
.long M68K_FIXUP_MEMOFFSET, 5b+2
|
||||
.previous
|
||||
|
||||
--
|
||||
2.41.0
|
||||
|
@ -0,0 +1,97 @@
|
||||
From 0bb6b7477f5dcfafbdd76eea9c7aa7a5f78d7613 Mon Sep 17 00:00:00 2001
|
||||
From: Ben Hutchings <benh@debian.org>
|
||||
Date: Fri, 16 Jun 2023 17:36:10 +0200
|
||||
Subject: [PATCH] m68k: Fix invalid .section syntax
|
||||
|
||||
gas supports several different forms for .section for ELF targets,
|
||||
including:
|
||||
.section NAME [, "FLAGS"[, @TYPE[,FLAG_SPECIFIC_ARGUMENTS]]]
|
||||
and:
|
||||
.section "NAME"[, #FLAGS...]
|
||||
|
||||
In several places we use a mix of these two forms:
|
||||
.section NAME, #FLAGS...
|
||||
|
||||
A current development snapshot of binutils (2.40.50.20230611) treats
|
||||
this mixed syntax as an error.
|
||||
|
||||
Change to consistently use:
|
||||
.section NAME, "FLAGS"
|
||||
as is used elsewhere in the kernel.
|
||||
|
||||
Link: https://buildd.debian.org/status/fetch.php?pkg=linux&arch=m68k&ver=6.4%7Erc6-1%7Eexp1&stamp=1686907300&raw=1
|
||||
Signed-off-by: Ben Hutchings <benh@debian.org>
|
||||
Tested-by: Jan-Benedict Glaw <jbglaw@lug-owl.de>
|
||||
Link: https://lore.kernel.org/r/ZIyBaueWT9jnTwRC@decadent.org.uk
|
||||
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
|
||||
Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=922a9bd138101e3e5718f0f4d40dba68ef89bb43
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
arch/m68k/fpsp040/skeleton.S | 4 ++--
|
||||
arch/m68k/ifpsp060/os.S | 4 ++--
|
||||
arch/m68k/kernel/relocate_kernel.S | 4 ++--
|
||||
3 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/arch/m68k/fpsp040/skeleton.S b/arch/m68k/fpsp040/skeleton.S
|
||||
index 439395aa6fb4..081922c72daa 100644
|
||||
--- a/arch/m68k/fpsp040/skeleton.S
|
||||
+++ b/arch/m68k/fpsp040/skeleton.S
|
||||
@@ -499,13 +499,13 @@ in_ea:
|
||||
dbf %d0,morein
|
||||
rts
|
||||
|
||||
- .section .fixup,#alloc,#execinstr
|
||||
+ .section .fixup,"ax"
|
||||
.even
|
||||
1:
|
||||
jbsr fpsp040_die
|
||||
jbra .Lnotkern
|
||||
|
||||
- .section __ex_table,#alloc
|
||||
+ .section __ex_table,"a"
|
||||
.align 4
|
||||
|
||||
.long in_ea,1b
|
||||
diff --git a/arch/m68k/ifpsp060/os.S b/arch/m68k/ifpsp060/os.S
|
||||
index 7a0d6e428066..89e2ec224ab6 100644
|
||||
--- a/arch/m68k/ifpsp060/os.S
|
||||
+++ b/arch/m68k/ifpsp060/os.S
|
||||
@@ -379,11 +379,11 @@ _060_real_access:
|
||||
|
||||
|
||||
| Execption handling for movs access to illegal memory
|
||||
- .section .fixup,#alloc,#execinstr
|
||||
+ .section .fixup,"ax"
|
||||
.even
|
||||
1: moveq #-1,%d1
|
||||
rts
|
||||
-.section __ex_table,#alloc
|
||||
+.section __ex_table,"a"
|
||||
.align 4
|
||||
.long dmrbuae,1b
|
||||
.long dmrwuae,1b
|
||||
diff --git a/arch/m68k/kernel/relocate_kernel.S b/arch/m68k/kernel/relocate_kernel.S
|
||||
index ab0f1e7d4653..f7667079e08e 100644
|
||||
--- a/arch/m68k/kernel/relocate_kernel.S
|
||||
+++ b/arch/m68k/kernel/relocate_kernel.S
|
||||
@@ -26,7 +26,7 @@ ENTRY(relocate_new_kernel)
|
||||
lea %pc@(.Lcopy),%a4
|
||||
2: addl #0x00000000,%a4 /* virt_to_phys() */
|
||||
|
||||
- .section ".m68k_fixup","aw"
|
||||
+ .section .m68k_fixup,"aw"
|
||||
.long M68K_FIXUP_MEMOFFSET, 2b+2
|
||||
.previous
|
||||
|
||||
@@ -49,7 +49,7 @@ ENTRY(relocate_new_kernel)
|
||||
lea %pc@(.Lcont040),%a4
|
||||
5: addl #0x00000000,%a4 /* virt_to_phys() */
|
||||
|
||||
- .section ".m68k_fixup","aw"
|
||||
+ .section .m68k_fixup,"aw"
|
||||
.long M68K_FIXUP_MEMOFFSET, 5b+2
|
||||
.previous
|
||||
|
||||
--
|
||||
2.41.0
|
||||
|
@ -22,6 +22,7 @@ BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.26"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/m68k-mcf5208/linux.config"
|
||||
BR2_LINUX_KERNEL_PATCH="board/qemu/m68k-mcf5208/0001-m68k-Fix-invalid-.section-syntax.patch"
|
||||
BR2_LINUX_KERNEL_VMLINUX=y
|
||||
|
||||
# Serial port config
|
||||
|
@ -22,6 +22,7 @@ BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.26"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/m68k-q800/linux.config"
|
||||
BR2_LINUX_KERNEL_PATCH="board/qemu/m68k-q800/0001-m68k-Fix-invalid-.section-syntax.patch"
|
||||
BR2_LINUX_KERNEL_VMLINUX=y
|
||||
|
||||
# Serial port config
|
||||
|
Loading…
Reference in New Issue
Block a user