wmoo: adding symbol info for guarded variant
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1135 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
This commit is contained in:
@ -43,7 +43,39 @@
|
|||||||
|
|
||||||
#else // with guards
|
#else // with guards
|
||||||
|
|
||||||
// XXX
|
// main() address:
|
||||||
|
// nm -C guarded.elf|fgrep main
|
||||||
|
#define WEATHER_FUNC_MAIN 0x00100fa0
|
||||||
|
// wait_begin address
|
||||||
|
#define WEATHER_FUNC_WAIT_BEGIN 0x00100f80
|
||||||
|
// wait_end address
|
||||||
|
#define WEATHER_FUNC_WAIT_END 0x00100f90
|
||||||
|
// vptr_panic address (only exists in guarded variant)
|
||||||
|
#define WEATHER_FUNC_VPTR_PANIC 0x001013a0
|
||||||
|
// number of main loop iterations to trace
|
||||||
|
// (determines trace length and therefore fault-space width)
|
||||||
|
#define WEATHER_NUMITER_TRACING 4
|
||||||
|
// number of instructions needed for these iterations in golden run (taken from
|
||||||
|
// experiment step #2)
|
||||||
|
#define WEATHER_NUMINSTR_TRACING 20549
|
||||||
|
// number of additional loop iterations for FI experiments (to see whether
|
||||||
|
// everything continues working fine)
|
||||||
|
#define WEATHER_NUMITER_AFTER 2
|
||||||
|
// number of instructions needed for these iterations in golden run (taken from
|
||||||
|
// experiment step #2)
|
||||||
|
#define WEATHER_NUMINSTR_AFTER 10232
|
||||||
|
// data/BSS begin:
|
||||||
|
// nm -C guarded.elf|fgrep ___DATA_START__
|
||||||
|
#define WEATHER_DATA_START 0x00101a80
|
||||||
|
// data/BSS end:
|
||||||
|
// nm -C guarded.elf|fgrep ___BSS_END__
|
||||||
|
#define WEATHER_DATA_END 0x00103398
|
||||||
|
// text begin:
|
||||||
|
// nm -C guarded.elf|fgrep ___TEXT_START__
|
||||||
|
#define WEATHER_TEXT_START 0x00100000
|
||||||
|
// text end:
|
||||||
|
// nm -C guarded.elf|fgrep ___TEXT_END__
|
||||||
|
#define WEATHER_TEXT_END 0x001018bb
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -1,11 +1,12 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
TARGET=experimentInfo.hpp
|
||||||
|
|
||||||
[ ! -e "$1" -o ! -e "$2" ] && echo "usage: $0 vanilla.elf guarded.elf" && exit 1
|
[ ! -e "$1" -o ! -e "$2" ] && echo "usage: $0 vanilla.elf guarded.elf" && exit 1
|
||||||
|
|
||||||
function addrof() { nm -C $1 | (fgrep "$2" || echo 99999999) | awk '{print $1}'; }
|
function addrof() { nm -C $1 | (fgrep "$2" || echo 99999999) | awk '{print $1}'; }
|
||||||
|
|
||||||
cat >experimentInfo.hpp <<EOF
|
cat >$TARGET <<EOF
|
||||||
#ifndef __WEATHERMONITOR_EXPERIMENT_INFO_HPP__
|
#ifndef __WEATHERMONITOR_EXPERIMENT_INFO_HPP__
|
||||||
#define __WEATHERMONITOR_EXPERIMENT_INFO_HPP__
|
#define __WEATHERMONITOR_EXPERIMENT_INFO_HPP__
|
||||||
|
|
||||||
@ -15,8 +16,12 @@ cat >experimentInfo.hpp <<EOF
|
|||||||
|
|
||||||
#if !GUARDED_WEATHERMONITOR // without vptr guards
|
#if !GUARDED_WEATHERMONITOR // without vptr guards
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
function alldefs() {
|
||||||
|
cat <<EOF
|
||||||
// main() address:
|
// main() address:
|
||||||
// nm -C vanilla.elf|fgrep main
|
// nm -C $(basename $1)|fgrep main
|
||||||
#define WEATHER_FUNC_MAIN 0x`addrof $1 main`
|
#define WEATHER_FUNC_MAIN 0x`addrof $1 main`
|
||||||
// wait_begin address
|
// wait_begin address
|
||||||
#define WEATHER_FUNC_WAIT_BEGIN 0x`addrof $1 wait_begin`
|
#define WEATHER_FUNC_WAIT_BEGIN 0x`addrof $1 wait_begin`
|
||||||
@ -37,21 +42,31 @@ cat >experimentInfo.hpp <<EOF
|
|||||||
// experiment step #2)
|
// experiment step #2)
|
||||||
#define WEATHER_NUMINSTR_AFTER 10232
|
#define WEATHER_NUMINSTR_AFTER 10232
|
||||||
// data/BSS begin:
|
// data/BSS begin:
|
||||||
// nm -C vanilla.elf|fgrep ___DATA_START__
|
// nm -C $(basename $1)|fgrep ___DATA_START__
|
||||||
#define WEATHER_DATA_START 0x`addrof $1 ___DATA_START__`
|
#define WEATHER_DATA_START 0x`addrof $1 ___DATA_START__`
|
||||||
// data/BSS end:
|
// data/BSS end:
|
||||||
// nm -C vanilla.elf|fgrep ___BSS_END__
|
// nm -C $(basename $1)|fgrep ___BSS_END__
|
||||||
#define WEATHER_DATA_END 0x`addrof $1 ___BSS_END__`
|
#define WEATHER_DATA_END 0x`addrof $1 ___BSS_END__`
|
||||||
// text begin:
|
// text begin:
|
||||||
// nm -C vanilla.elf|fgrep ___TEXT_START__
|
// nm -C $(basename $1)|fgrep ___TEXT_START__
|
||||||
#define WEATHER_TEXT_START 0x`addrof $1 ___TEXT_START__`
|
#define WEATHER_TEXT_START 0x`addrof $1 ___TEXT_START__`
|
||||||
// text end:
|
// text end:
|
||||||
// nm -C vanilla.elf|fgrep ___TEXT_END__
|
// nm -C $(basename $1)|fgrep ___TEXT_END__
|
||||||
#define WEATHER_TEXT_END 0x`addrof $1 ___TEXT_END__`
|
#define WEATHER_TEXT_END 0x`addrof $1 ___TEXT_END__`
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
alldefs $1 >>$TARGET
|
||||||
|
|
||||||
|
cat >>$TARGET <<EOF
|
||||||
|
|
||||||
#else // with guards
|
#else // with guards
|
||||||
|
|
||||||
// XXX
|
EOF
|
||||||
|
|
||||||
|
alldefs $2 >>$TARGET
|
||||||
|
|
||||||
|
cat >>$TARGET <<EOF
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user