solo5: 0.7.3 -> 0.7.4
This commit is contained in:
parent
4d44cd61d1
commit
a5cfc0e571
3 changed files with 2 additions and 55 deletions
|
@ -2,7 +2,7 @@
|
||||||
, pkg-config, qemu, syslinux, util-linux }:
|
, pkg-config, qemu, syslinux, util-linux }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "0.7.3";
|
version = "0.7.4";
|
||||||
# list of all theoretically available targets
|
# list of all theoretically available targets
|
||||||
targets = [
|
targets = [
|
||||||
"genode"
|
"genode"
|
||||||
|
@ -21,11 +21,9 @@ in stdenv.mkDerivation {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/Solo5/solo5/releases/download/v${version}/solo5-v${version}.tar.gz";
|
url = "https://github.com/Solo5/solo5/releases/download/v${version}/solo5-v${version}.tar.gz";
|
||||||
sha256 = "sha256-8LftT22XzmmWxgYez+BAHDX4HOyl5DrwrpuO2+bqqcY=";
|
sha256 = "sha256-ovDdaS2cDufe5gTgi+t2C8waWiRC40/2flLLJlz+NvU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./fix_paths.patch ./test_sleep.patch ];
|
|
||||||
|
|
||||||
hardeningEnable = [ "pie" ];
|
hardeningEnable = [ "pie" ];
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
|
|
|
@ -1,29 +0,0 @@
|
||||||
diff --git a/toolchain/cc.in b/toolchain/cc.in
|
|
||||||
index 337562a..0ec9315 100644
|
|
||||||
--- a/toolchain/cc.in
|
|
||||||
+++ b/toolchain/cc.in
|
|
||||||
@@ -30,9 +30,9 @@
|
|
||||||
# symbols.
|
|
||||||
|
|
||||||
prog="$(basename $0)"
|
|
||||||
-I="$(dirname $0)/../include"
|
|
||||||
+I="$(realpath $0 | xargs dirname)/../include"
|
|
||||||
[ ! -d "${I}" ] && echo "$prog: Could not determine include path" 1>&2 && exit 1
|
|
||||||
-L="$(dirname $0)/../lib/@@CONFIG_TARGET_TRIPLE@@"
|
|
||||||
+L="$(realpath $0 | xargs dirname)/../lib/@@CONFIG_TARGET_TRIPLE@@"
|
|
||||||
[ ! -d "${L}" ] && echo "$prog: Could not determine library path" 1>&2 && exit 1
|
|
||||||
# we can't really tell if 'cc' is called with no input, but work around the
|
|
||||||
# most obvious cases and stop them from "succeeding" and producing an "a.out"
|
|
||||||
diff --git a/toolchain/ld.in b/toolchain/ld.in
|
|
||||||
index 01dffa8..13dca2c 100644
|
|
||||||
--- a/toolchain/ld.in
|
|
||||||
+++ b/toolchain/ld.in
|
|
||||||
@@ -28,7 +28,7 @@
|
|
||||||
# linking a unikernel. No default for ABI is provided, as it is expected that a
|
|
||||||
# caller directly using 'ld' knows what they are doing.
|
|
||||||
|
|
||||||
-L="$(dirname $0)/../lib/@@CONFIG_TARGET_TRIPLE@@"
|
|
||||||
+L="$(realpath $0 | xargs dirname)/../lib/@@CONFIG_TARGET_TRIPLE@@"
|
|
||||||
[ ! -d "${L}" ] && echo "$0: Could not determine library path" 1>&2 && exit 1
|
|
||||||
# ld accepts -z solo5-abi=ABI, but does not provide a default ABI
|
|
||||||
# this is intentional
|
|
|
@ -1,22 +0,0 @@
|
||||||
diff --git a/tests/test_time/test_time.c b/tests/test_time/test_time.c
|
|
||||||
index 931500b..cde64ad 100644
|
|
||||||
--- a/tests/test_time/test_time.c
|
|
||||||
+++ b/tests/test_time/test_time.c
|
|
||||||
@@ -110,7 +110,8 @@ int solo5_app_main(const struct solo5_start_info *si __attribute__((unused)))
|
|
||||||
/*
|
|
||||||
* Verify that we did not sleep less than requested (see above).
|
|
||||||
*/
|
|
||||||
- if (delta < NSEC_PER_SEC) {
|
|
||||||
+ const solo5_time_t slack = 100000000ULL;
|
|
||||||
+ if (delta < NSEC_PER_SEC - slack) {
|
|
||||||
printf("[%d] ERROR: slept too little (expected at least %llu ns)\n",
|
|
||||||
iters, (unsigned long long)NSEC_PER_SEC);
|
|
||||||
failed = true;
|
|
||||||
@@ -120,7 +121,6 @@ int solo5_app_main(const struct solo5_start_info *si __attribute__((unused)))
|
|
||||||
* Verify that we did not sleep more than requested, within reason
|
|
||||||
* (scheduling delays, general inaccuracy of the current timing code).
|
|
||||||
*/
|
|
||||||
- const solo5_time_t slack = 100000000ULL;
|
|
||||||
if (delta > (NSEC_PER_SEC + slack)) {
|
|
||||||
printf("[%d] ERROR: slept too much (expected at most %llu ns)\n",
|
|
||||||
iters, (unsigned long long)slack);
|
|
Loading…
Reference in a new issue