diff options
author | Michael Brown <mcb30@ipxe.org> | 2023-09-05 12:46:39 +0100 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2023-09-05 12:47:42 +0100 |
commit | 0aa2e4ec963597794dd8f8b36f77f4d0cf4e03c8 (patch) | |
tree | 1b1f208e21d08f16f071a5ca6fe42f21af3fa7cb /src/drivers/usb | |
parent | 9e99a55b317f5da66f5110891b154084b337a031 (diff) | |
download | ipxe-0aa2e4ec963597794dd8f8b36f77f4d0cf4e03c8.tar.gz |
[librm] Use explicit operand size when pushing a label addressopsize
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/drivers/usb')
0 files changed, 0 insertions, 0 deletions