__syscall_cp在 Musl Libc 中的作用

Function of __syscall_cp In Musl Libc

提问人:Bneac 提问时间:11/8/2023 更新时间:11/8/2023 访问量:48

问:

我正在使用 Musl libc 的一个分支来添加到我正在为一个项目构建的玩具操作系统中。其中一个挑战是我的操作系统的调用约定略有不同,这需要更改在 Musl libc 包装器中向系统调用添加和返回参数的方式。到目前为止,这还不错,但我最近遇到了(在套接字中)所有用法都汇集到内联汇编中。syscall_cp__syscall_cp

我一直在尝试查看功能与标准有何不同,但我能看到的唯一区别是使用了附加功能,如果它不为零,则会导致系统调用立即退出。__syscall_cp__syscall&self->cancel

任何对 和 之间差异的见解,无论是功能上的任何其他差异,还是何时使用(即,在许多套接字功能中,它似乎是首选)将不胜感激。__syscall__syscall_cp__syscall_cp__syscall

我正在使用 arm (aarch64)。实现是 http://git.musl-libc.org/cgit/musl/tree/src/thread/aarch64/syscall_cp.s 的,标准系统调用在这里 http://git.musl-libc.org/cgit/musl/tree/arch/aarch64/syscall_arch.h。管理呼叫它们的工具是 http://git.musl-libc.org/cgit/musl/tree/src/internal/syscall.h__syscall_cp

我无法找到有关这些实现或其用法的太多信息,除了一些关于它们可以取消的事情。

谢谢!

C arm64 libc musl

评论

1赞 teapot418 11/8/2023
似乎是关于 pthread 取消点 + 提交日志的东西
1赞 teapot418 11/8/2023
...因此,如果其他线程调用pthread_cancel,这应该只执行与普通系统调用不同的操作

答: 暂无答案