+ if(s1->regions[i]->start_addr != s2->regions[i]->start_addr){
+ if(XBT_LOG_ISENABLED(mc_liveness, xbt_log_priority_debug)){
+ XBT_DEBUG("Different start addr of heap (s1 = %p, s2 = %p)", s1->regions[i]->start_addr, s2->regions[i]->start_addr);
+ errors++;
+ }else{
+ return 1;
+ }
+ }
+ if(mmalloc_compare_heap(s1->regions[i]->data, s2->regions[i]->data)){
+ if(XBT_LOG_ISENABLED(mc_liveness, xbt_log_priority_debug)){
+ XBT_DEBUG("Different heap (mmalloc_compare)");
+ errors++;
+ }else{
+ return 1;
+ }
+ }
+ break;
+ case 1 :
+ if(s1->regions[i]->size != s2->regions[i]->size){
+ if(XBT_LOG_ISENABLED(mc_liveness, xbt_log_priority_debug)){
+ XBT_DEBUG("Different size of libsimgrid (s1 = %Zu, s2 = %Zu)", s1->regions[i]->size, s2->regions[i]->size);
+ errors++;
+ }else{
+ return 1;
+ }
+ }
+ if(s1->regions[i]->start_addr != s2->regions[i]->start_addr){
+ if(XBT_LOG_ISENABLED(mc_liveness, xbt_log_priority_debug)){
+ XBT_DEBUG("Different start addr of libsimgrid (s1 = %p, s2 = %p)", s1->regions[i]->start_addr, s2->regions[i]->start_addr);
+ errors++;
+ }else{
+ return 1;
+ }
+ }
+ if(memcmp(s1->regions[i]->data, s2->regions[i]->data, s1->regions[i]->size) != 0){
+ if(XBT_LOG_ISENABLED(mc_liveness, xbt_log_priority_debug)){
+ XBT_DEBUG("Different memcmp for data in libsimgrid");
+ errors++;
+ }else{
+ return 1;
+ }
+ }
+ break;
+ /*case 2:
+ if(s1->regions[i]->size != s2->regions[i]->size){
+ if(XBT_LOG_ISENABLED(mc_liveness, xbt_log_priority_debug)){
+ XBT_DEBUG("Different size of program (s1 = %Zu, s2 = %Zu)", s1->regions[i]->size, s2->regions[i]->size);
+ errors++;
+ }else{
+ return 1;
+ }
+ }
+ if(s1->regions[i]->start_addr != s2->regions[i]->start_addr){
+ if(XBT_LOG_ISENABLED(mc_liveness, xbt_log_priority_debug)){
+ XBT_DEBUG("Different start addr of program (s1 = %p, s2 = %p)", s1->regions[i]->start_addr, s2->regions[i]->start_addr);
+ errors++;
+ }else{
+ return 1;
+ }
+ }
+ if(memcmp(s1->regions[i]->data, s2->regions[i]->data, s1->regions[i]->size) != 0){
+ if(XBT_LOG_ISENABLED(mc_liveness, xbt_log_priority_debug)){
+ XBT_DEBUG("Different memcmp for data in program");
+ errors++;
+ }else{
+ return 1;
+ }
+ }
+ break;*/
+ case 3:
+ if(s1->regions[i]->size != s2->regions[i]->size){
+ if(XBT_LOG_ISENABLED(mc_liveness, xbt_log_priority_debug)){
+ XBT_DEBUG("Different size of stack (s1 = %Zu, s2 = %Zu)", s1->regions[i]->size, s2->regions[i]->size);
+ errors++;
+ }else{
+ return 1;
+ }
+ }
+ if(s1->regions[i]->start_addr != s2->regions[i]->start_addr){
+ if(XBT_LOG_ISENABLED(mc_liveness, xbt_log_priority_debug)){
+ XBT_DEBUG("Different start addr of stack (s1 = %p, s2 = %p)", s1->regions[i]->start_addr, s2->regions[i]->start_addr);
+ errors++;
+ }else{
+ return 1;
+ }
+ }
+ if(memcmp(s1->regions[i]->data, s2->regions[i]->data, s1->regions[i]->size) != 0){
+ if(XBT_LOG_ISENABLED(mc_liveness, xbt_log_priority_debug)){
+ XBT_DEBUG("Different memcmp for data in stack");
+ errors++;
+ }else{
+ return 1;
+ }