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