Subversion Repositories HelenOS-historic

Rev

Rev 1072 | Rev 1224 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1072 Rev 1196
Line 456... Line 456...
456
    else if (symaddr == (__address) -1) {
456
    else if (symaddr == (__address) -1) {
457
        symtab_print_search(argv->buffer);
457
        symtab_print_search(argv->buffer);
458
        printf("Duplicate symbol, be more specific.\n");
458
        printf("Duplicate symbol, be more specific.\n");
459
    } else {
459
    } else {
460
        symbol = get_symtab_entry(symaddr);
460
        symbol = get_symtab_entry(symaddr);
461
        printf("Calling f(): 0x%p: %s\n", symaddr, symbol);
461
        printf("Calling f(): %p: %s\n", symaddr, symbol);
462
        f =  (__native (*)(void)) symaddr;
462
        f =  (__native (*)(void)) symaddr;
463
        printf("Result: 0x%p\n", f());
463
        printf("Result: %p\n", f());
464
    }
464
    }
465
   
465
   
466
    return 1;
466
    return 1;
467
}
467
}
468
 
468
 
Line 480... Line 480...
480
    else if (symaddr == (__address) -1) {
480
    else if (symaddr == (__address) -1) {
481
        symtab_print_search(argv->buffer);
481
        symtab_print_search(argv->buffer);
482
        printf("Duplicate symbol, be more specific.\n");
482
        printf("Duplicate symbol, be more specific.\n");
483
    } else {
483
    } else {
484
        symbol = get_symtab_entry(symaddr);
484
        symbol = get_symtab_entry(symaddr);
485
        printf("Calling f(0x%x): 0x%p: %s\n", arg1, symaddr, symbol);
485
        printf("Calling f(0x%zX): %p: %s\n", arg1, symaddr, symbol);
486
        f =  (__native (*)(__native,...)) symaddr;
486
        f =  (__native (*)(__native,...)) symaddr;
487
        printf("Result: 0x%p\n", f(arg1));
487
        printf("Result: %p\n", f(arg1));
488
    }
488
    }
489
   
489
   
490
    return 1;
490
    return 1;
491
}
491
}
492
 
492
 
Line 505... Line 505...
505
    else if (symaddr == (__address) -1) {
505
    else if (symaddr == (__address) -1) {
506
        symtab_print_search(argv->buffer);
506
        symtab_print_search(argv->buffer);
507
        printf("Duplicate symbol, be more specific.\n");
507
        printf("Duplicate symbol, be more specific.\n");
508
    } else {
508
    } else {
509
        symbol = get_symtab_entry(symaddr);
509
        symbol = get_symtab_entry(symaddr);
510
        printf("Calling f(0x%x,0x%x): 0x%p: %s\n",
510
        printf("Calling f(0x%zx,0x%zx): %p: %s\n",
511
               arg1, arg2, symaddr, symbol);
511
               arg1, arg2, symaddr, symbol);
512
        f =  (__native (*)(__native,__native,...)) symaddr;
512
        f =  (__native (*)(__native,__native,...)) symaddr;
513
        printf("Result: 0x%p\n", f(arg1, arg2));
513
        printf("Result: %p\n", f(arg1, arg2));
514
    }
514
    }
515
   
515
   
516
    return 1;
516
    return 1;
517
}
517
}
518
 
518
 
Line 532... Line 532...
532
    else if (symaddr == (__address) -1) {
532
    else if (symaddr == (__address) -1) {
533
        symtab_print_search(argv->buffer);
533
        symtab_print_search(argv->buffer);
534
        printf("Duplicate symbol, be more specific.\n");
534
        printf("Duplicate symbol, be more specific.\n");
535
    } else {
535
    } else {
536
        symbol = get_symtab_entry(symaddr);
536
        symbol = get_symtab_entry(symaddr);
537
        printf("Calling f(0x%x,0x%x, 0x%x): 0x%p: %s\n",
537
        printf("Calling f(0x%zx,0x%zx, 0x%zx): %p: %s\n",
538
               arg1, arg2, arg3, symaddr, symbol);
538
               arg1, arg2, arg3, symaddr, symbol);
539
        f =  (__native (*)(__native,__native,__native,...)) symaddr;
539
        f =  (__native (*)(__native,__native,__native,...)) symaddr;
540
        printf("Result: 0x%p\n", f(arg1, arg2, arg3));
540
        printf("Result: %p\n", f(arg1, arg2, arg3));
541
    }
541
    }
542
   
542
   
543
    return 1;
543
    return 1;
544
}
544
}
545
 
545
 
Line 596... Line 596...
596
        symtab_print_search(argv->buffer);
596
        symtab_print_search(argv->buffer);
597
        printf("Duplicate symbol, be more specific.\n");
597
        printf("Duplicate symbol, be more specific.\n");
598
    } else {
598
    } else {
599
        if (pointer)
599
        if (pointer)
600
            addr = (__u32 *)(*(__native *)addr);
600
            addr = (__u32 *)(*(__native *)addr);
601
        printf("Writing 0x%x -> 0x%p\n", arg1, addr);
601
        printf("Writing 0x%x -> %p\n", arg1, addr);
602
        *addr = arg1;
602
        *addr = arg1;
603
       
603
       
604
    }
604
    }
605
   
605
   
606
    return 1;
606
    return 1;