dce_test_improve.patch
changeset 24 02787e1dfd96
child 25 7d5166e0dc25
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dce_test_improve.patch	Wed Jul 04 17:06:26 2012 +0900
@@ -0,0 +1,36 @@
+diff -r 79c17eb3f698 -r 27bc248c09ff utils/dce-runner.c
+--- a/utils/dce-runner.c	Mon Jun 25 14:31:51 2012 +0900
++++ b/utils/dce-runner.c	Wed Jun 27 11:22:47 2012 +0900
+@@ -57,9 +57,30 @@
+       return 1;
+     }
+   void *entry = lookup_entry_point (h);
+-  argv[-1] = (char*)((long)argc);
++  argv[-1] = (char*)((long)3);
+   argv[0] = argv[1];
+-  argv[1] = "--ns3::DceManagerHelper::LoaderFactory=ns3::DlmLoaderFactory[]";
++
++  /* Default is DlmLoader */
++  if (argc > 2 &&
++      strncmp (argv[2], "--cooja", 4) == 0)
++    {
++      argv[1] = "--ns3::DceManagerHelper::LoaderFactory=ns3::CoojaLoaderFactory[]";
++    }
++  else
++    {
++      argv[1] = "--ns3::DceManagerHelper::LoaderFactory=ns3::DlmLoaderFactory[]";
++    }
++
++  /* Default is PthreadFiber */
++  if (argc > 3 &&
++      strncmp (argv[3], "--ucontext", 4) == 0)
++    {
++      argv[2] = "--ns3::TaskManager::FiberManagerType=UcontextFiberManager";
++    }
++  else
++    {
++      argv[2] = "--ns3::TaskManager::FiberManagerType=PthreadFiberManager";
++    }
+ #if defined (__x86_64__)
+   __asm__ ("\txor %%rbp,%%rbp\n"
+ 	   "\txor %%rdx,%%rdx\n"