Remove vDSO install in Nix
This commit is contained in:
parent
0a126a0c8c
commit
65344a187f
|
|
@ -139,7 +139,6 @@ general_pkgs:
|
||||||
--tarball-ttl $(NIXPKGS_CACHE_TTL) \
|
--tarball-ttl $(NIXPKGS_CACHE_TTL) \
|
||||||
$(NIX_QUIET) \
|
$(NIX_QUIET) \
|
||||||
--out-link /nix/var/nix/gcroots/auto/general \
|
--out-link /nix/var/nix/gcroots/auto/general \
|
||||||
-A linux_vdso \
|
|
||||||
-A apps.mongoose_src
|
-A apps.mongoose_src
|
||||||
|
|
||||||
install_host_pkgs:
|
install_host_pkgs:
|
||||||
|
|
|
||||||
|
|
@ -30,14 +30,8 @@ in rec {
|
||||||
testSuite = syscallTestSuite;
|
testSuite = syscallTestSuite;
|
||||||
workDir = syscallTestWorkDir;
|
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 {
|
initramfs = pkgs.callPackage ./initramfs.nix {
|
||||||
inherit busybox linux_vdso;
|
inherit busybox;
|
||||||
apps = if enableBasicTest then apps else null;
|
apps = if enableBasicTest then apps else null;
|
||||||
benchmark = if enableBenchmark then benchmark else null;
|
benchmark = if enableBenchmark then benchmark else null;
|
||||||
syscall = if enableSyscallTest then syscall else null;
|
syscall = if enableSyscallTest then syscall else null;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{ lib, stdenvNoCC, fetchFromGitHub, hostPlatform, writeClosure, busybox, apps
|
{ lib, stdenvNoCC, fetchFromGitHub, hostPlatform, writeClosure, busybox, apps
|
||||||
, linux_vdso, benchmark, syscall, }:
|
, benchmark, syscall, }:
|
||||||
let
|
let
|
||||||
etc = lib.fileset.toSource {
|
etc = lib.fileset.toSource {
|
||||||
root = ./../src/etc;
|
root = ./../src/etc;
|
||||||
|
|
@ -9,8 +9,7 @@ let
|
||||||
name = "gvisor-libs";
|
name = "gvisor-libs";
|
||||||
path = "/lib/x86_64-linux-gnu";
|
path = "/lib/x86_64-linux-gnu";
|
||||||
};
|
};
|
||||||
all_pkgs = [ busybox etc linux_vdso ]
|
all_pkgs = [ busybox etc ] ++ lib.optionals (apps != null) [ apps.package ]
|
||||||
++ lib.optionals (apps != null) [ apps.package ]
|
|
||||||
++ lib.optionals (benchmark != null) [ benchmark.package ]
|
++ lib.optionals (benchmark != null) [ benchmark.package ]
|
||||||
++ lib.optionals (syscall != null) [ syscall.package ];
|
++ lib.optionals (syscall != null) [ syscall.package ];
|
||||||
in stdenvNoCC.mkDerivation {
|
in stdenvNoCC.mkDerivation {
|
||||||
|
|
@ -25,14 +24,6 @@ in stdenvNoCC.mkDerivation {
|
||||||
ln -sfn usr/lib64 $out/lib64
|
ln -sfn usr/lib64 $out/lib64
|
||||||
cp -r ${busybox}/bin/* $out/bin/
|
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/
|
cp -r ${etc}/* $out/etc/
|
||||||
|
|
||||||
${lib.optionalString (apps != null) ''
|
${lib.optionalString (apps != null) ''
|
||||||
|
|
@ -48,6 +39,7 @@ in stdenvNoCC.mkDerivation {
|
||||||
|
|
||||||
# FIXME: Build gvisor syscall test with nix to avoid manual library copying.
|
# FIXME: Build gvisor syscall test with nix to avoid manual library copying.
|
||||||
if [ "${syscall.testSuite}" == "gvisor" ]; then
|
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}/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}/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
|
cp -L ${gvisor_libs}/libgcc_s.so.1 $out/lib/x86_64-linux-gnu/libgcc_s.so.1
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue