Rebase to latest git snapshot
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
7ecbb9711d
commit
7331b2ed70
@ -1,58 +0,0 @@
|
|||||||
From 0aa2e4ec963597794dd8f8b36f77f4d0cf4e03c8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Michael Brown <mcb30@ipxe.org>
|
|
||||||
Date: Tue, 5 Sep 2023 12:46:39 +0100
|
|
||||||
Subject: [PATCH] [librm] Use explicit operand size when pushing a label
|
|
||||||
address
|
|
||||||
|
|
||||||
We currently use "push $1f" within inline assembly to push the address
|
|
||||||
of the real-mode code fragment, relying on the assembler to treat this
|
|
||||||
as "pushl" for 32-bit code or "pushq" for 64-bit code.
|
|
||||||
|
|
||||||
As of binutils commit 5cc0077 ("x86: further adjust extend-to-32bit-
|
|
||||||
address conditions"), first included in binutils-2.41, this implicit
|
|
||||||
operand size is no longer calculated as expected and 64-bit builds
|
|
||||||
will fail with
|
|
||||||
|
|
||||||
Error: operand size mismatch for `push'
|
|
||||||
|
|
||||||
Fix by adding an explicit operand size to the "push" instruction.
|
|
||||||
|
|
||||||
Originally-fixed-by: Justin Cano <jstncno@gmail.com>
|
|
||||||
Signed-off-by: Michael Brown <mcb30@ipxe.org>
|
|
||||||
---
|
|
||||||
src/arch/x86/include/librm.h | 6 ++++--
|
|
||||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/arch/x86/include/librm.h b/src/arch/x86/include/librm.h
|
|
||||||
index 5196d390fa..40f075439a 100644
|
|
||||||
--- a/src/arch/x86/include/librm.h
|
|
||||||
+++ b/src/arch/x86/include/librm.h
|
|
||||||
@@ -250,8 +250,10 @@ extern void remove_user_from_rm_stack ( userptr_t data, size_t size );
|
|
||||||
/* CODE_DEFAULT: restore default .code32/.code64 directive */
|
|
||||||
#ifdef __x86_64__
|
|
||||||
#define CODE_DEFAULT ".code64"
|
|
||||||
+#define STACK_DEFAULT "q"
|
|
||||||
#else
|
|
||||||
#define CODE_DEFAULT ".code32"
|
|
||||||
+#define STACK_DEFAULT "l"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* LINE_SYMBOL: declare a symbol for the current source code line */
|
|
||||||
@@ -268,7 +270,7 @@ extern void remove_user_from_rm_stack ( userptr_t data, size_t size );
|
|
||||||
|
|
||||||
/* REAL_CODE: declare a fragment of code that executes in real mode */
|
|
||||||
#define REAL_CODE( asm_code_str ) \
|
|
||||||
- "push $1f\n\t" \
|
|
||||||
+ "push" STACK_DEFAULT " $1f\n\t" \
|
|
||||||
"call real_call\n\t" \
|
|
||||||
TEXT16_CODE ( "\n1:\n\t" \
|
|
||||||
asm_code_str \
|
|
||||||
@@ -277,7 +279,7 @@ extern void remove_user_from_rm_stack ( userptr_t data, size_t size );
|
|
||||||
|
|
||||||
/* PHYS_CODE: declare a fragment of code that executes in flat physical mode */
|
|
||||||
#define PHYS_CODE( asm_code_str ) \
|
|
||||||
- "push $1f\n\t" \
|
|
||||||
+ "push" STACK_DEFAULT " $1f\n\t" \
|
|
||||||
"call phys_call\n\t" \
|
|
||||||
".section \".text.phys\", \"ax\", @progbits\n\t"\
|
|
||||||
"\n" LINE_SYMBOL "\n\t" \
|
|
11
ipxe.spec
11
ipxe.spec
@ -34,12 +34,12 @@
|
|||||||
#
|
#
|
||||||
# And then change these two:
|
# And then change these two:
|
||||||
|
|
||||||
%global hash 64113751
|
%global hash de8a0821
|
||||||
%global date 20220210
|
%global date 20240119
|
||||||
|
|
||||||
Name: ipxe
|
Name: ipxe
|
||||||
Version: %{date}
|
Version: %{date}
|
||||||
Release: 8.git%{hash}%{?dist}
|
Release: 1.git%{hash}%{?dist}
|
||||||
Summary: A network boot loader
|
Summary: A network boot loader
|
||||||
|
|
||||||
License: BSD-2-Clause AND BSD-3-Clause AND GPL-2.0-only AND (GPL-2.0-only OR MPL-1.1) AND GPL-2.0-or-later AND GPL-2.0-or-later WITH UBDL-exception AND ISC AND MIT
|
License: BSD-2-Clause AND BSD-3-Clause AND GPL-2.0-only AND (GPL-2.0-only OR MPL-1.1) AND GPL-2.0-or-later AND GPL-2.0-or-later WITH UBDL-exception AND ISC AND MIT
|
||||||
@ -51,8 +51,6 @@ Source0: %{name}-%{version}-git%{hash}.tar.xz
|
|||||||
# Sent upstream: http://lists.ipxe.org/pipermail/ipxe-devel/2015-November/004494.html
|
# Sent upstream: http://lists.ipxe.org/pipermail/ipxe-devel/2015-November/004494.html
|
||||||
Patch0001: 0001-build-customize-configuration.patch
|
Patch0001: 0001-build-customize-configuration.patch
|
||||||
Patch0002: 0002-Use-spec-compliant-timeouts.patch
|
Patch0002: 0002-Use-spec-compliant-timeouts.patch
|
||||||
# Fix build with binutils-2.41, https://github.com/ipxe/ipxe/pull/1011
|
|
||||||
Patch0003: 0003-librm-Use-explicit-operand-size.patch
|
|
||||||
|
|
||||||
%ifarch %{buildarches}
|
%ifarch %{buildarches}
|
||||||
BuildRequires: perl-interpreter
|
BuildRequires: perl-interpreter
|
||||||
@ -280,6 +278,9 @@ cp -a src/bin-arm64-efi/ipxe.efi %{buildroot}/%{_datadir}/%{name}/arm64-efi/ipxe
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Jan 30 2024 Daniel P. Berrangé <berrange@redhat.com> - 20240119-1.gitde8a0821
|
||||||
|
- Update to latest git snapshot
|
||||||
|
|
||||||
* Thu Jan 25 2024 Stid Official <stidofficiel@gmail.com> - 20220210-8.git64113751
|
* Thu Jan 25 2024 Stid Official <stidofficiel@gmail.com> - 20220210-8.git64113751
|
||||||
- Add support of NFS protocol
|
- Add support of NFS protocol
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (ipxe-20220210-git64113751.tar.xz) = 3c7d80e2f841013bcb0cb917e13fac86e90e27deadc07d50fac99d8abf69b851a045eed376a095baebc28f5b04f5a9c88fc142979ca65800b9219216cd7fb81b
|
SHA512 (ipxe-20240119-gitde8a0821.tar.xz) = 75f6e926e4f8c45ff661df50158c6eede38cac6e8f90c48157784c64761908b0c272c1a4c1e7e49d6efdb4c93611bf6fb018b99dd8d027bc42848aaa0ad223a2
|
||||||
|
Loading…
Reference in New Issue
Block a user