- if(s1->num_reg != s2->num_reg){
- XBT_DEBUG("Different num_reg (s1 = %d, s2 = %d)", s1->num_reg, s2->num_reg);
- return 1;
- }
-
- int i;
-
- for(i=0 ; i< s1->num_reg ; i++){
-
- if(s1->regions[i]->type != s2->regions[i]->type){
- XBT_DEBUG("Different type of region");
- return 1;
- }
-
- switch(s1->regions[i]->type){
- case 0:
- if(s1->regions[i]->size != s2->regions[i]->size){
- XBT_DEBUG("Different size of heap (s1 = %Zu, s2 = %Zu)", s1->regions[i]->size, s2->regions[i]->size);
- return 1;
- }
- if(s1->regions[i]->start_addr != s2->regions[i]->start_addr){
- XBT_DEBUG("Different start addr of heap (s1 = %p, s2 = %p)", s1->regions[i]->start_addr, s2->regions[i]->start_addr);
- return 1;
- }
- if(mmalloc_compare_heap(s1->regions[i]->data, s2->regions[i]->data)){
- XBT_DEBUG("Different heap (mmalloc_compare)");
- return 1;
- }
- break;
- case 1 :
- if(s1->regions[i]->size != s2->regions[i]->size){
- XBT_DEBUG("Different size of libsimgrid (s1 = %Zu, s2 = %Zu)", s1->regions[i]->size, s2->regions[i]->size);
- return 1;
- }
- if(s1->regions[i]->start_addr != s2->regions[i]->start_addr){
- XBT_DEBUG("Different start addr of libsimgrid (s1 = %p, s2 = %p)", s1->regions[i]->start_addr, s2->regions[i]->start_addr);
- return 1;
- }
- if(memcmp(s1->regions[i]->data, s2->regions[i]->data, s1->regions[i]->size) != 0){
- XBT_DEBUG("Different memcmp for data in libsimgrid");
- return 1;
- }
- break;
- case 2:
- if(s1->regions[i]->size != s2->regions[i]->size){
- XBT_DEBUG("Different size of program (s1 = %Zu, s2 = %Zu)", s1->regions[i]->size, s2->regions[i]->size);
- return 1;
- }
- if(s1->regions[i]->start_addr != s2->regions[i]->start_addr){
- XBT_DEBUG("Different start addr of program (s1 = %p, s2 = %p)", s1->regions[i]->start_addr, s2->regions[i]->start_addr);
- return 1;
- }
- if(memcmp(s1->regions[i]->data, s2->regions[i]->data, s1->regions[i]->size) != 0){
- XBT_DEBUG("Different memcmp for data in program");
- return 1;
- }
- break;
- case 3:
- if(s1->regions[i]->size != s2->regions[i]->size){
- XBT_DEBUG("Different size of stack (s1 = %Zu, s2 = %Zu)", s1->regions[i]->size, s2->regions[i]->size);
- return 1;
- }
- if(s1->regions[i]->start_addr != s2->regions[i]->start_addr){
- XBT_DEBUG("Different start addr of stack (s1 = %p, s2 = %p)", s1->regions[i]->start_addr, s2->regions[i]->start_addr);
- return 1;
- }
- if(memcmp(s1->regions[i]->data, s2->regions[i]->data, s1->regions[i]->size) != 0){
- XBT_DEBUG("Different memcmp for data in stack");
- return 1;
- }
- break;
- }
- }