Commit 7bdc0e7a authored by Ammar Faizi's avatar Ammar Faizi Committed by Paul E. McKenney

tools/nolibc: x86-64: Use `mov $60,%eax` instead of `mov $60,%rax`

Note that mov to 32-bit register will zero extend to 64-bit register.
Thus `mov $60,%eax` has the same effect with `mov $60,%rax`. Use the
shorter opcode to achieve the same thing.
```
  b8 3c 00 00 00       	mov    $60,%eax (5 bytes) [1]
  48 c7 c0 3c 00 00 00 	mov    $60,%rax (7 bytes) [2]
```
Currently, we use [2]. Change it to [1] for shorter code.
Signed-off-by: default avatarAmmar Faizi <ammar.faizi@students.amikom.ac.id>
Signed-off-by: default avatarWilly Tarreau <w@1wt.eu>
Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
parent bf916669
...@@ -420,7 +420,7 @@ asm(".section .text\n" ...@@ -420,7 +420,7 @@ asm(".section .text\n"
"and $-16, %rsp\n" // x86 ABI : esp must be 16-byte aligned before call "and $-16, %rsp\n" // x86 ABI : esp must be 16-byte aligned before call
"call main\n" // main() returns the status code, we'll exit with it. "call main\n" // main() returns the status code, we'll exit with it.
"mov %eax, %edi\n" // retrieve exit code (32 bit) "mov %eax, %edi\n" // retrieve exit code (32 bit)
"mov $60, %rax\n" // NR_exit == 60 "mov $60, %eax\n" // NR_exit == 60
"syscall\n" // really exit "syscall\n" // really exit
"hlt\n" // ensure it does not return "hlt\n" // ensure it does not return
""); "");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment