Rewrite the vDSOs for CloudABI in assembly.
authored <ed@FreeBSD.org>
Sun, 21 Aug 2016 07:28:38 +0000 (07:28 +0000)
committered <ed@FreeBSD.org>
Sun, 21 Aug 2016 07:28:38 +0000 (07:28 +0000)
commit1a0fadf5ab6230df49e35be0e729a1bac7e3e396
tree4fa4b1b06b96d308a928f7b0036679727ef6ef80
parent0517ffff03847943c4a26b85fb44bd7ed5d31c14
Rewrite the vDSOs for CloudABI in assembly.

The reason why the old vDSOs were written in C using inline assembly was
purely because they were embedded in the C library directly as static
inline functions. This was practical during development, because it
meant you could invoke system calls without any library dependencies.
The vDSO was simply a copy of these functions.

Now that we require the use of the vDSO, there is no longer any need for
embedding them in C code directly. Rewriting them in assembly has the
advantage that they are closer to ideal (less useless branching, less
assumptions about registers remaining unclobbered by the kernel, etc).
They are also easier to build, as they no longer depend on the C type
information for CloudABI.

Obtained from: https://github.com/NuxiNL/cloudabi
sys/conf/files.amd64
sys/conf/files.arm64
sys/contrib/cloudabi/cloudabi_vdso_aarch64.S [new file with mode: 0644]
sys/contrib/cloudabi/cloudabi_vdso_aarch64.c [deleted file]
sys/contrib/cloudabi/cloudabi_vdso_x86_64.S [new file with mode: 0644]
sys/contrib/cloudabi/cloudabi_vdso_x86_64.c [deleted file]
sys/modules/cloudabi64/Makefile