aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/sparc
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2025-08-25 09:50:37 +0200
committerH.J. Lu <hjl.tools@gmail.com>2025-08-28 04:57:24 -0700
commit9a1cb8f783cb98d4c5fd180c43855fdbb74fbe71 (patch)
tree788c9423ac7c738370fedde3b6b60a4e196f1e23 /sysdeps/sparc
parentc49a32d7eb0466544cce089cd2affab15694dc5a (diff)
downloadglibc-9a1cb8f783cb98d4c5fd180c43855fdbb74fbe71.zip
glibc-9a1cb8f783cb98d4c5fd180c43855fdbb74fbe71.tar.gz
glibc-9a1cb8f783cb98d4c5fd180c43855fdbb74fbe71.tar.bz2
x32: Fix, optimize and cleanup RSEQ_* accessors
Add missing "memory" clobber to accessors. The "memory" clobber tells the compiler that the assembly code performs memory reads or writes to items other than those listed in the input and output operands (for example, accessing the memory pointed to by one of the input parameters). Use MOVZBL instead of MOVB when reading 1-byte memory location into a register. MOVB to a register actually inserts into the LSB of the word-sized register, making the result dependent on the previous register value. MOVZBL avoids this issue. Change %P asm operand modifiers to %c. The ā€˜c’ modifier is a generic asm operand modifier that requires a constant operand and prints the constant expression without punctuation. Replace %b asm operand modifiers with explicit casts. Explicit casts inform the compiler which part of the register value is used, allowing it to perform additional optimizations (e.g. narrowing the preceding operation). Remove %q asm operand modifiers. Since the value is already cast to 'long long int', the compiler will emit a 64-bit register name in the assembly without needing %q. No functional changes intended. Tested-by: H.J. Lu <hjl.tools@gmail.com> Co-Authored-By: H.J. Lu <hjl.tools@gmail.com> Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Signed-off-by: Uros Bizjak <ubizjak@gmail.com> Cc: Florian Weimer <fweimer@redhat.com> Cc: Carlos O'Donell <carlos@redhat.com> Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
Diffstat (limited to 'sysdeps/sparc')
0 files changed, 0 insertions, 0 deletions