From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
To: buildroot@buildroot.org
Cc: Julien Olivain <ju.o@free.fr>,
Fabrice Fontaine <fontaine.fabrice@gmail.com>
Subject: [Buildroot] [PATCH 1/1] package/kexec: fix x86_64 build with binutils 2.41
Date: Sun, 5 May 2024 13:22:27 +0200 [thread overview]
Message-ID: <20240505112227.36660-1-fontaine.fabrice@gmail.com> (raw)
Fix the following x86_64 build failure with binutils 2.41:
purgatory/arch/i386/entry32-16.S:23: Error: 64bit mode not supported on `i386'.
Fixes:
- http://autobuild.buildroot.org/results/60f2f163b491879a8ea7f2d56a6b0d38b3cf439c
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
...uilding-on-x86_64-with-binutils-2-41.patch | 94 +++++++++++++++++++
1 file changed, 94 insertions(+)
create mode 100644 package/kexec/0001-Fix-building-on-x86_64-with-binutils-2-41.patch
diff --git a/package/kexec/0001-Fix-building-on-x86_64-with-binutils-2-41.patch b/package/kexec/0001-Fix-building-on-x86_64-with-binutils-2-41.patch
new file mode 100644
index 0000000000..ae44c21fe1
--- /dev/null
+++ b/package/kexec/0001-Fix-building-on-x86_64-with-binutils-2-41.patch
@@ -0,0 +1,94 @@
+From 328de8e00e298f00d7ba6b25dc3950147e9642e6 Mon Sep 17 00:00:00 2001
+From: Michel Lind <salimma@fedoraproject.org>
+Date: Tue, 30 Jan 2024 04:14:31 -0600
+Subject: Fix building on x86_64 with binutils 2.41
+
+Newer versions of the GNU assembler (observed with binutils 2.41) will
+complain about the ".arch i386" in files assembled with "as --64",
+with the message "Error: 64bit mode not supported on 'i386'".
+
+Fix by moving ".arch i386" below the relevant ".code32" directive, so
+that the assembler is no longer expecting 64-bit instructions to be used
+by the time that the ".arch i386" directive is encountered.
+
+Based on similar iPXE fix:
+https://github.com/ipxe/ipxe/commit/6ca597eee
+
+Signed-off-by: Michel Lind <michel@michel-slm.name>
+Signed-off-by: Simon Horman <horms@kernel.org>
+Upstream: https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?id=328de8e00e298f00d7ba6b25dc3950147e9642e6
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+---
+ purgatory/arch/i386/entry32-16-debug.S | 2 +-
+ purgatory/arch/i386/entry32-16.S | 2 +-
+ purgatory/arch/i386/entry32.S | 2 +-
+ purgatory/arch/i386/setup-x86.S | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/purgatory/arch/i386/entry32-16-debug.S b/purgatory/arch/i386/entry32-16-debug.S
+index 5167944d..12e11649 100644
+--- a/purgatory/arch/i386/entry32-16-debug.S
++++ b/purgatory/arch/i386/entry32-16-debug.S
+@@ -25,10 +25,10 @@
+ .globl entry16_debug_pre32
+ .globl entry16_debug_first32
+ .globl entry16_debug_old_first32
+- .arch i386
+ .balign 16
+ entry16_debug:
+ .code32
++ .arch i386
+ /* Compute where I am running at (assumes esp valid) */
+ call 1f
+ 1: popl %ebx
+diff --git a/purgatory/arch/i386/entry32-16.S b/purgatory/arch/i386/entry32-16.S
+index c051aab0..eace0958 100644
+--- a/purgatory/arch/i386/entry32-16.S
++++ b/purgatory/arch/i386/entry32-16.S
+@@ -20,10 +20,10 @@
+ #undef i386
+ .text
+ .globl entry16, entry16_regs
+- .arch i386
+ .balign 16
+ entry16:
+ .code32
++ .arch i386
+ /* Compute where I am running at (assumes esp valid) */
+ call 1f
+ 1: popl %ebx
+diff --git a/purgatory/arch/i386/entry32.S b/purgatory/arch/i386/entry32.S
+index f7a494f1..8ce9e316 100644
+--- a/purgatory/arch/i386/entry32.S
++++ b/purgatory/arch/i386/entry32.S
+@@ -20,10 +20,10 @@
+ #undef i386
+
+ .text
+- .arch i386
+ .globl entry32, entry32_regs
+ entry32:
+ .code32
++ .arch i386
+
+ /* Setup a gdt that should that is generally usefully */
+ lgdt %cs:gdt
+diff --git a/purgatory/arch/i386/setup-x86.S b/purgatory/arch/i386/setup-x86.S
+index 201bb2cb..a212eed4 100644
+--- a/purgatory/arch/i386/setup-x86.S
++++ b/purgatory/arch/i386/setup-x86.S
+@@ -21,10 +21,10 @@
+ #undef i386
+
+ .text
+- .arch i386
+ .globl purgatory_start
+ purgatory_start:
+ .code32
++ .arch i386
+
+ /* Load a gdt so I know what the segment registers are */
+ lgdt %cs:gdt
+--
+cgit 1.2.3-korg
+
--
2.43.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next reply other threads:[~2024-05-05 11:22 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-05 11:22 Fabrice Fontaine [this message]
2024-05-05 16:12 ` [Buildroot] [PATCH 1/1] package/kexec: fix x86_64 build with binutils 2.41 Yann E. MORIN
2024-05-22 6:20 ` Peter Korsgaard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240505112227.36660-1-fontaine.fabrice@gmail.com \
--to=fontaine.fabrice@gmail.com \
--cc=buildroot@buildroot.org \
--cc=ju.o@free.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.