libsys/arm: make vfork less of an outlier

Following the pattern of other architectures, make __sys_vfork the main
symbol and _vfork and vfork weak aliases.  This avoids the need to
special case vfork in the generated list of symbols.

Differential Revision:	https://reviews.freebsd.org/D44330
This commit is contained in:
Brooks Davis 2024-04-22 20:13:35 +01:00
parent 5ffb5c849c
commit 80ffc7398b

View File

@ -42,13 +42,17 @@
.text
.align 0
ENTRY(vfork)
ENTRY(__sys_vfork)
.weak _C_LABEL(vfork);
.set _C_LABEL(vfork), _C_LABEL(__sys_vfork);
.weak _C_LABEL(_vfork);
.set _C_LABEL(_vfork), _C_LABEL(__sys_vfork);
mov r2, r14
_SYSCALL(vfork)
bcs PIC_SYM(CERROR, PLT)
sub r1, r1, #1 /* r1 == 0xffffffff if parent, 0 if child */
and r0, r0, r1 /* r0 == 0 if child, else unchanged */
mov r15, r2
END(vfork)
END(__sys_vfork)
.section .note.GNU-stack,"",%progbits