Switch from `xorq %rax, %rax` to `xorl %eax, %eax`. In 64-bit mode,
zeroing EAX implicitly clears RAX, and the 32-bit form encodes one
byte smaller while keeping identical semantics.

Signed-off-by: George Hu <[email protected]>
---
 grub-core/lib/x86_64/setjmp.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/grub-core/lib/x86_64/setjmp.S b/grub-core/lib/x86_64/setjmp.S
index 6b151bc4d..4c6c81249 100644
--- a/grub-core/lib/x86_64/setjmp.S
+++ b/grub-core/lib/x86_64/setjmp.S
@@ -36,7 +36,7 @@ GRUB_MOD_LICENSE "GPLv3+"
  */
 FUNCTION(grub_setjmp)
        pop     %rsi            /* Return address, and adjust the stack */
-       xorq    %rax, %rax
+       xorl    %eax, %eax
        movq    %rbx, 0(%rdi)   /* RBX */
        movq    %rsp, 8(%rdi)   /* RSP */
        push    %rsi
-- 
2.52.0


_______________________________________________
Grub-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to