Compare commits
2 Commits
9e8566ff4d
...
3a3ce74003
| Author | SHA1 | Date | |
|---|---|---|---|
|
3a3ce74003
|
|||
|
629c0782d5
|
@ -1,11 +0,0 @@
|
||||
services:
|
||||
fail-db:
|
||||
image: mysql
|
||||
container_name: fail-db
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: fail
|
||||
MYSQL_USER: fail
|
||||
MYSQL_PASSWORD: fail
|
||||
MYSQL_DATABASE: fail
|
||||
ports:
|
||||
- "3306:3306"
|
||||
11
flake.nix
11
flake.nix
@ -44,8 +44,8 @@ rec {
|
||||
|
||||
libdwarf_pkgs =
|
||||
import (builtins.fetchTarball {
|
||||
url = "https://github.com/NixOS/nixpkgs/archive/a054d7450768069084142fe597ed2da367813a4a.tar.gz";
|
||||
sha256 = "sha256:1wlbz6glkzrl3y7pprw1v4sgkwwzi26qlxqfjzxghdlnny91l3cj";
|
||||
url = "https://github.com/NixOS/nixpkgs/archive/f597e7e9fcf37d8ed14a12835ede0a7d362314bd.tar.gz";
|
||||
sha256 = "sha256:1l79hh7jh7m8yc5mvc8dbg6s8rf30bgm994kf07xriqbzwfn158r";
|
||||
}) {
|
||||
inherit system;
|
||||
};
|
||||
@ -250,7 +250,7 @@ rec {
|
||||
'';
|
||||
};
|
||||
|
||||
wamr = stdenv.mkDerivation rec {
|
||||
wamr = stdenv.mkDerivation {
|
||||
pname = "wamr";
|
||||
version = "2.4.4";
|
||||
|
||||
@ -274,7 +274,7 @@ rec {
|
||||
};
|
||||
|
||||
libiwasm = buildtype: flags:
|
||||
i386_pkgs.stdenv.mkDerivation rec {
|
||||
i386_pkgs.stdenv.mkDerivation {
|
||||
pname = "libiwasm";
|
||||
version = "2.4.4";
|
||||
|
||||
@ -315,7 +315,7 @@ rec {
|
||||
};
|
||||
|
||||
libiwasm_debug = libiwasm "Debug" "-O0 -ggdb";
|
||||
libiwasm_release = libiwasm "Release" "-O2 -DNDEBUG";
|
||||
libiwasm_release = libiwasm "Release" "-O2 -ggdb -DNDEBUG";
|
||||
|
||||
# ===========================================================================================
|
||||
# Specify dependencies
|
||||
@ -334,6 +334,7 @@ rec {
|
||||
grub2
|
||||
xorriso
|
||||
mariadb.client
|
||||
dbeaver-bin
|
||||
iwasm
|
||||
wamrc
|
||||
fail-bin
|
||||
|
||||
58
justfile
58
justfile
@ -37,7 +37,7 @@ WAMRCFLAGS := "\
|
||||
"
|
||||
XXD := "xxd"
|
||||
|
||||
# Load AOT from WAMR
|
||||
# Load AOT from WAMR (FAIL+Baremetal)
|
||||
|
||||
CROSS_CFLAGS := "\
|
||||
-I./targets/wasm-host \
|
||||
@ -147,15 +147,32 @@ FAIL_SERVER := "generic-experiment-server --database-option-file ./db.conf"
|
||||
FAIL_INJECT := "generic-experiment-client"
|
||||
RESULT_BROWSER := "resultbrowser.py -c ./db.conf"
|
||||
|
||||
[doc("Start MySQL to receive FAIL* trace/campaign results")]
|
||||
[doc("Start MySQL container to receive FAIL* trace/campaign results")]
|
||||
[group("fail")]
|
||||
start-db:
|
||||
docker compose up
|
||||
docker run -d \
|
||||
--name fail-db \
|
||||
-e MYSQL_ROOT_PASSWORD=fail \
|
||||
-e MYSQL_USER=fail \
|
||||
-e MYSQL_PASSWORD=fail \
|
||||
-e MYSQL_DATABASE=fail \
|
||||
-p 3306:3306 \
|
||||
mysql
|
||||
|
||||
[doc("Stop MySQL")]
|
||||
[doc("Connect to MySQL database using DBeaver")]
|
||||
[group("fail")]
|
||||
connect-db:
|
||||
dbeaver -con "name=fail|driver=mysql|host=localhost|port=3306|database=fail|user=fail|password=fail"
|
||||
|
||||
[doc("Stop MySQL container")]
|
||||
[group("fail")]
|
||||
stop-db:
|
||||
docker compose down
|
||||
docker stop fail-db
|
||||
|
||||
[doc("Remove MySQL container")]
|
||||
[group("fail")]
|
||||
remove-db:
|
||||
docker container rm fail-db
|
||||
|
||||
[doc("Trace a golden run using FAIL*")]
|
||||
[group("fail")]
|
||||
@ -176,6 +193,11 @@ trace module:
|
||||
-Wf,--elf-file={{ BUILD_DIR }}-{{ module }}/system.elf
|
||||
@echo "Next step: \"just import {{ module }}\""
|
||||
|
||||
# [doc("Dump a FAIL* golden run trace")]
|
||||
# [group("fail")]
|
||||
# dump module:
|
||||
# {{ FAIL_DUMP }} {{ BUILD_DIR }}-{{ module }}/trace.pb
|
||||
|
||||
[doc("Import a FAIL* golden run trace")]
|
||||
[group("fail")]
|
||||
import module:
|
||||
@ -185,20 +207,18 @@ import module:
|
||||
-e {{ BUILD_DIR }}-{{ module }}/system.elf -v {{ module }} -b regs --flags
|
||||
{{ FAIL_IMPORT }} -t {{ BUILD_DIR }}-{{ module }}/trace.pb -i RegisterImporter \
|
||||
-e {{ BUILD_DIR }}-{{ module }}/system.elf -v {{ module }} -b ip --no-gp --ip
|
||||
# TODO: Failed to decode DWARF data - wrong libdwarf version?
|
||||
#
|
||||
# {{ FAIL_IMPORT }} -t {{ BUILD_DIR }}-{{ module }}/trace.pb -i ElfImporter --objdump objdump \
|
||||
# -e {{ BUILD_DIR }}-{{ module }}/system.elf -v {{ module }} -b ip
|
||||
# {{ FAIL_IMPORT }} -t {{ BUILD_DIR }}-{{ module }}/trace.pb -i ElfImporter --objdump objdump \
|
||||
# -e {{ BUILD_DIR }}-{{ module }}/system.elf -v {{ module }} -b mem
|
||||
# {{ FAIL_IMPORT }} -t {{ BUILD_DIR }}-{{ module }}/trace.pb -i ElfImporter --objdump objdump \
|
||||
# -e {{ BUILD_DIR }}-{{ module }}/system.elf -v {{ module }} -b regs
|
||||
# {{ FAIL_IMPORT }} -t {{ BUILD_DIR }}-{{ module }}/trace.pb -i ElfImporter --objdump objdump \
|
||||
# -e {{ BUILD_DIR }}-{{ module }}/system.elf -v {{ module }} -b ip --sources
|
||||
# {{ FAIL_IMPORT }} -t {{ BUILD_DIR }}-{{ module }}/trace.pb -i ElfImporter --objdump objdump \
|
||||
# -e {{ BUILD_DIR }}-{{ module }}/system.elf -v {{ module }} -b mem --sources
|
||||
# {{ FAIL_IMPORT }} -t {{ BUILD_DIR }}-{{ module }}/trace.pb -i ElfImporter --objdump objdump \
|
||||
# -e {{ BUILD_DIR }}-{{ module }}/system.elf -v {{ module }} -b regs --sources
|
||||
{{ FAIL_IMPORT }} -t {{ BUILD_DIR }}-{{ module }}/trace.pb -i ElfImporter --objdump objdump \
|
||||
-e {{ BUILD_DIR }}-{{ module }}/system.elf -v {{ module }} -b ip
|
||||
{{ FAIL_IMPORT }} -t {{ BUILD_DIR }}-{{ module }}/trace.pb -i ElfImporter --objdump objdump \
|
||||
-e {{ BUILD_DIR }}-{{ module }}/system.elf -v {{ module }} -b mem
|
||||
{{ FAIL_IMPORT }} -t {{ BUILD_DIR }}-{{ module }}/trace.pb -i ElfImporter --objdump objdump \
|
||||
-e {{ BUILD_DIR }}-{{ module }}/system.elf -v {{ module }} -b regs
|
||||
{{ FAIL_IMPORT }} -t {{ BUILD_DIR }}-{{ module }}/trace.pb -i ElfImporter --objdump objdump \
|
||||
-e {{ BUILD_DIR }}-{{ module }}/system.elf -v {{ module }} -b ip --sources
|
||||
{{ FAIL_IMPORT }} -t {{ BUILD_DIR }}-{{ module }}/trace.pb -i ElfImporter --objdump objdump \
|
||||
-e {{ BUILD_DIR }}-{{ module }}/system.elf -v {{ module }} -b mem --sources
|
||||
{{ FAIL_IMPORT }} -t {{ BUILD_DIR }}-{{ module }}/trace.pb -i ElfImporter --objdump objdump \
|
||||
-e {{ BUILD_DIR }}-{{ module }}/system.elf -v {{ module }} -b regs --sources
|
||||
{{ FAIL_PRUNE }} -v {{ module }} -b %% --overwrite
|
||||
@echo "Next step: \"just server {{ module }}\""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user