diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2025-08-18 11:18:55 +0200 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2025-08-20 11:47:53 -0700 |
commit | dd38f49cdcc3630c541d9f603eb9b5dbeccbbe56 (patch) | |
tree | 5da1eea4ff48b839cbbcbaf3571a7e14c17a98c7 | |
parent | aac077645a645bba0d67f3250e82017c539d0f4b (diff) | |
download | glibc-dd38f49cdcc3630c541d9f603eb9b5dbeccbbe56.zip glibc-dd38f49cdcc3630c541d9f603eb9b5dbeccbbe56.tar.gz glibc-dd38f49cdcc3630c541d9f603eb9b5dbeccbbe56.tar.bz2 |
x86_64: Use TESTB instead of TESTL in CHECK_INVALID_LONGJMP
There is no need to use TESTL when checking the least-significant bit
with a TEST instruction. Use TESTB, which is three bytes shorter:
f6 44 24 f0 01 testb $0x1,-0x10(%rsp)
vs:
f7 44 24 f0 01 00 00 testl $0x1,-0x10(%rsp)
00
for the same effect.
No functional changes intended.
Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Cc: H.J.Lu <hjl.tools@gmail.com>
Cc: Carlos O'Donell <carlos@redhat.com>
Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S b/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S index b73a18b..3bcdd6a 100644 --- a/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S +++ b/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S @@ -44,7 +44,7 @@ longjmp_msg: /* Without working sigaltstack we cannot perform the test. */ \ testl %eax, %eax; \ jne .Lok2; \ - testl $1, (-sizeSS + oSS_FLAGS)(%rsp); \ + testb $1, (-sizeSS + oSS_FLAGS)(%rsp); \ jz .Lfail; \ mov (-sizeSS + oSS_SP)(%rsp), %RAX_LP; \ add (-sizeSS + oSS_SIZE)(%rsp), %RAX_LP; \ |