diff options
| author | Michael Brown | 2023-09-05 13:46:39 +0200 |
|---|---|---|
| committer | Michael Brown | 2023-09-05 13:47:42 +0200 |
| commit | 0aa2e4ec963597794dd8f8b36f77f4d0cf4e03c8 (patch) | |
| tree | 1b1f208e21d08f16f071a5ca6fe42f21af3fa7cb /src/include/ipxe/efi/Protocol/SimpleFileSystem.h | |
| parent | [virtio] Fix implementation of vpm_ioread32() (diff) | |
| download | ipxe-0aa2e4ec963597794dd8f8b36f77f4d0cf4e03c8.tar.gz ipxe-0aa2e4ec963597794dd8f8b36f77f4d0cf4e03c8.tar.xz ipxe-0aa2e4ec963597794dd8f8b36f77f4d0cf4e03c8.zip | |
[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>
Diffstat (limited to 'src/include/ipxe/efi/Protocol/SimpleFileSystem.h')
0 files changed, 0 insertions, 0 deletions
