Verify Fiasco assertion using pingpong
eschierb at sci.kun.nl
eschierb at sci.kun.nl
Thu Jun 7 12:56:16 CEST 2007
Hi,
I am trying to achieve a very simple thing, which is to test
an assertion in the Fiasco ICP path. More specifically, I want
to add the following assertion to the sys_ipc() function:
"
// This assertion is added by us
assert(!(state() & Thread_polling));
if (EXPECT_TRUE(have_send_part || have_receive_part))
ret = do_ipc(have_send_part, partner,
have_receive_part, sender,
t, regs);
"
As can be seen, I want to assert that the Thread_polling bit
is not set before calling do_ipc(). I planned to do this by
compiling the modified Fiasco kernel and the pingpong package.
If the assertion would not fire after running the pingpong
test suite, I would have at least some confidence that the
assertion does not hold. I have already done something similar
a while ago, but with the newer versions I cannot seem to get
it working.
The first problem was with the DICE compiler, if I used the
latest version of the DICE compiler I got the
"collect2: ld returned 1 exit status". I solved this by using
the 3.1.1 DICE version. I then used the following commands:
"
svn co http://svn.tudos.org/repos/tudos/tags/dice/3.1.1 dice
./repomgr co hello
cd dice
./bootstrap
./configure
./make
cd ..
cd l4/pkg
svn up pingpong
cd ..
make O=/tmp/build config
make O=/tmp/build
"
However, this resulted in the following error
"
if [ -r ../dice/Makefile.drops ]; then \
make -C ../dice -f Makefile.drops; \
fi
make[1]: Entering directory `/tmp/tudos/dice'
../l4/mk/Makeconf:155: Sorry, your object or source path became garbled.
../l4/mk/Makeconf:156: OBJ_BASE: /tmp/build
../l4/mk/Makeconf:157: SRC_BASE_ABS: /tmp/tudos/l4
../l4/mk/Makeconf:158: SRC_DIR: /tmp/tudos/dice
../l4/mk/Makeconf:159: OBJ_DIR: /tmp/tudos/dice
../l4/mk/Makeconf:160: PKGDIR:
../l4/mk/Makeconf:161: L4DIR_ABS: /tmp/tudos/l4
../l4/mk/Makeconf:162: PKGDIR_ABS:
../l4/mk/Makeconf:163: PKGDIR_OBJ: /tmp/tudos/dice
../l4/mk/Makeconf:164: *** Please investigate.. Stop.
make[1]: Leaving directory `/tmp/tudos/dice'
make: *** [../dice] Error 2
"
As an alternative to the last three lines, I tried to issue
the "make O=/tmp/build" command in the l4/pkg directory.
This resulted in the following error:
"/bin/bash: did_not_find_dice___please_install_dice: command not found"
Any idea how this can be remedied?
With regards,
Erik Schierboom
More information about the l4-hackers
mailing list