summaryrefslogtreecommitdiffstats
path: root/tools/include
diff options
context:
space:
mode:
authorAmmar Faizi <ammar.faizi@students.amikom.ac.id>2021-10-24 19:43:22 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-01-18 11:48:55 +0100
commit487386a49e01a9d7d28d6a52fe6ec095af1ef789 (patch)
tree9460449f68b5b8ee89d55c26fbbca4fa427abc3c /tools/include
parent27af4f2260cdccbcf3d7c95993b63bab5c0ffa2b (diff)
downloadlinux-stable-487386a49e01a9d7d28d6a52fe6ec095af1ef789.tar.gz
linux-stable-487386a49e01a9d7d28d6a52fe6ec095af1ef789.tar.bz2
linux-stable-487386a49e01a9d7d28d6a52fe6ec095af1ef789.zip
tools/nolibc: x86-64: Use `mov $60,%eax` instead of `mov $60,%rax`
[ Upstream commit 7bdc0e7a390511cd3df8194003b908f15a6170a5 ] 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: Ammar Faizi <ammar.faizi@students.amikom.ac.id> Signed-off-by: Willy Tarreau <w@1wt.eu> Signed-off-by: Paul E. McKenney <paulmck@kernel.org> Stable-dep-of: 184177c3d6e0 ("tools/nolibc: restore mips branch ordering in the _start block") Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'tools/include')
-rw-r--r--tools/include/nolibc/nolibc.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/include/nolibc/nolibc.h b/tools/include/nolibc/nolibc.h
index ece7a70d8b39..676fe5d92875 100644
--- a/tools/include/nolibc/nolibc.h
+++ b/tools/include/nolibc/nolibc.h
@@ -420,7 +420,7 @@ asm(".section .text\n"
"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.
"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
"hlt\n" // ensure it does not return
"");