git: 042ea7345754 - main - net/ipxe: Add patch to fix build with upcoming binutils 2.41
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 29 Aug 2023 03:10:26 UTC
The branch main has been updated by yasu: URL: https://cgit.FreeBSD.org/ports/commit/?id=042ea734575462e59b9901bf3dc037d17c1c3050 commit 042ea734575462e59b9901bf3dc037d17c1c3050 Author: Yasuhiro Kimura <yasu@FreeBSD.org> AuthorDate: 2023-08-09 07:49:19 +0000 Commit: Yasuhiro Kimura <yasu@FreeBSD.org> CommitDate: 2023-08-29 03:06:38 +0000 net/ipxe: Add patch to fix build with upcoming binutils 2.41 Obtained from: https://github.com/ipxe/ipxe/pull/1011 PR: 273024 Approved by: maintainer --- net/ipxe/files/patch-src_arch_x86_include_librm.h | 47 +++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/net/ipxe/files/patch-src_arch_x86_include_librm.h b/net/ipxe/files/patch-src_arch_x86_include_librm.h new file mode 100644 index 000000000000..2e23880efa62 --- /dev/null +++ b/net/ipxe/files/patch-src_arch_x86_include_librm.h @@ -0,0 +1,47 @@ +From 08caa8be3a143d6f33782f398b7937efb39ff283 Mon Sep 17 00:00:00 2001 +From: Justin Cano <5184128+jstncno@users.noreply.github.com> +Date: Thu, 3 Aug 2023 09:58:11 -0700 +Subject: [PATCH] Use the right sized register for the push operand based on + the size of the value being pushed + +Fixes https://github.com/ipxe/ipxe/issues/997 +--- + src/arch/x86/include/librm.h | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git src/arch/x86/include/librm.h src/arch/x86/include/librm.h +index 5196d390..d9e748ad 100644 +--- arch/x86/include/librm.h ++++ 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 PUSH "pushq" + #else + #define CODE_DEFAULT ".code32" ++#define PUSH "pushl" + #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 " $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 " $1f\n\t" \ + "call phys_call\n\t" \ + ".section \".text.phys\", \"ax\", @progbits\n\t"\ + "\n" LINE_SYMBOL "\n\t" \ +-- +2.41.0 +