Remove vDSO install in Nix

This commit is contained in:
Chen Chengjun 2025-08-22 08:55:15 +00:00 committed by Tate, Hongliang Tian
parent 0a126a0c8c
commit 65344a187f
3 changed files with 4 additions and 19 deletions

View File

@ -139,7 +139,6 @@ general_pkgs:
--tarball-ttl $(NIXPKGS_CACHE_TTL) \
$(NIX_QUIET) \
--out-link /nix/var/nix/gcroots/auto/general \
-A linux_vdso \
-A apps.mongoose_src
install_host_pkgs:

View File

@ -30,14 +30,8 @@ in rec {
testSuite = syscallTestSuite;
workDir = syscallTestWorkDir;
};
linux_vdso = pkgs.fetchFromGitHub {
owner = "asterinas";
repo = "linux_vdso";
rev = "be255018febf8b9e2d36f356f6aeb15896521618";
hash = "sha256-F5RPtu/Hh2hDnjm6/0mc0wGqhQtfMNvPP+6/Id9Hcpk";
};
initramfs = pkgs.callPackage ./initramfs.nix {
inherit busybox linux_vdso;
inherit busybox;
apps = if enableBasicTest then apps else null;
benchmark = if enableBenchmark then benchmark else null;
syscall = if enableSyscallTest then syscall else null;

View File

@ -1,5 +1,5 @@
{ lib, stdenvNoCC, fetchFromGitHub, hostPlatform, writeClosure, busybox, apps
, linux_vdso, benchmark, syscall, }:
, benchmark, syscall, }:
let
etc = lib.fileset.toSource {
root = ./../src/etc;
@ -9,8 +9,7 @@ let
name = "gvisor-libs";
path = "/lib/x86_64-linux-gnu";
};
all_pkgs = [ busybox etc linux_vdso ]
++ lib.optionals (apps != null) [ apps.package ]
all_pkgs = [ busybox etc ] ++ lib.optionals (apps != null) [ apps.package ]
++ lib.optionals (benchmark != null) [ benchmark.package ]
++ lib.optionals (syscall != null) [ syscall.package ];
in stdenvNoCC.mkDerivation {
@ -25,14 +24,6 @@ in stdenvNoCC.mkDerivation {
ln -sfn usr/lib64 $out/lib64
cp -r ${busybox}/bin/* $out/bin/
mkdir -p $out/usr/lib/x86_64-linux-gnu
${lib.optionalString hostPlatform.isx86_64 ''
cp -r ${linux_vdso}/vdso64.so $out/usr/lib/x86_64-linux-gnu/vdso64.so
''}
${lib.optionalString hostPlatform.isRiscV64 ''
cp -r ${linux_vdso}/riscv64-vdso.so $out/usr/lib/x86_64-linux-gnu/vdso64.so
''}
cp -r ${etc}/* $out/etc/
${lib.optionalString (apps != null) ''
@ -48,6 +39,7 @@ in stdenvNoCC.mkDerivation {
# FIXME: Build gvisor syscall test with nix to avoid manual library copying.
if [ "${syscall.testSuite}" == "gvisor" ]; then
mkdir -p $out/lib/x86_64-linux-gnu
cp -L ${gvisor_libs}/ld-linux-x86-64.so.2 $out/lib64/ld-linux-x86-64.so.2
cp -L ${gvisor_libs}/libstdc++.so.6 $out/lib/x86_64-linux-gnu/libstdc++.so.6
cp -L ${gvisor_libs}/libgcc_s.so.1 $out/lib/x86_64-linux-gnu/libgcc_s.so.1