ENTRY_PRIVATE(__bionic_clone)
# Make the system call.
li a7, __NR_clone
ecall
# Are we the child?
beqz a0, L(bc_child)
# We're either the parent or the syscall failed.
DO_SYSCALL_RETURN
L(bc_child):
# We're in the child now. Set the end of the frame record chain.
li fp, 0
# Setting ra to 0 will make the unwinder stop at __start_thread.
li ra, 0
# Call __start_thread with 'fn' and 'arg'.
mv a0, a5
mv a1, a6
tail __start_thread
END(__bionic_clone)
// pid_t __bionic_clone3(struct clone_args* cl_args, size_t size, int (*fn)(void*), void* arg);
ENTRY_PRIVATE(__bionic_clone3)
# Make the system call.
li a7, __NR_clone3
ecall
# Are we the child?
beqz a0, L(bc3_child)
# We're either the parent or the syscall failed.
DO_SYSCALL_RETURN
L(bc3_child):
# We're in the child now. Set the end of the frame record chain.
li fp, 0
# Setting ra to 0 will make the unwinder stop at __start_thread.
li ra, 0
# Call __start_thread with the 'fn' and 'arg' stored in a2 and a3.
mv a0, a2
mv a1, a3
tail __start_thread
END(__bionic_clone3)
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.0 Sekunden
(vorverarbeitet am 2026-06-28)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.