[PATCH] microblaze: fix __syscall_cancel_arch
Luc Michel
luc.michel@amd.com
Fri Oct 17 09:27:12 GMT 2025
The __syscall_cancel_arch function has an epilogue that does not match
the prologue. The stack is not used and the return address still lies in
r15 when reaching the epilogue. Fix the epilogue by simply returning
from the function.
Signed-off-by: Luc Michel <luc.michel@amd.com>
---
Hi,
This bug was introduced by 89b53077d2a58f00e7debdfe58afabe953dac60d
(BZ#12683).
https://sourceware.org/bugzilla/show_bug.cgi?id=12683 suggests that the
author copied coded generated by GCC. This is probably why the epilogue
was wrong.
I have yet to create a Bugzilla entry for this. I just requested an
accound and waiting for it.
Thanks
Luc
---
sysdeps/unix/sysv/linux/microblaze/syscall_cancel.S | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/sysdeps/unix/sysv/linux/microblaze/syscall_cancel.S b/sysdeps/unix/sysv/linux/microblaze/syscall_cancel.S
index 38150e6a94..3e8dc96a93 100644
--- a/sysdeps/unix/sysv/linux/microblaze/syscall_cancel.S
+++ b/sysdeps/unix/sysv/linux/microblaze/syscall_cancel.S
@@ -48,13 +48,12 @@ __syscall_cancel_arch_start:
.globl __syscall_cancel_arch_end
__syscall_cancel_arch_end:
nop
- lwi r15,r1,0
rtsd r15,8
- addik r1,r1,28
+ nop
1:
brlid r15, __syscall_do_cancel
nop
--
2.51.0
More information about the Libc-alpha
mailing list