Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/trace/trace.c

    r1ccafee r7e752b2  
    4343#include <task.h>
    4444#include <mem.h>
    45 #include <string.h>
     45#include <str.h>
    4646#include <bool.h>
    4747#include <loader/loader.h>
     
    161161        if (rc < 0) {
    162162                printf("Error connecting\n");
    163                 printf("ipc_connect_task(%" PRIdTASKID ") -> %d ", task_id, rc);
     163                printf("ipc_connect_task(%" PRIu64 ") -> %d ", task_id, rc);
    164164                return rc;
    165165        }
     
    200200        printf("Threads:");
    201201        for (i = 0; i < n_threads; i++) {
    202                 printf(" [%d] (hash %p)", 1+i, thread_hash_buf[i]);
    203         }
    204         printf("\ntotal of %u threads\n", tb_needed / sizeof(uintptr_t));
     202                printf(" [%d] (hash %p)", 1 + i, (void *) thread_hash_buf[i]);
     203        }
     204        printf("\ntotal of %zu threads\n", tb_needed / sizeof(uintptr_t));
    205205
    206206        return 0;
     
    224224        case V_HASH:
    225225        case V_PTR:
    226                 printf("%p", val);
     226                printf("%p", (void *) val);
    227227                break;
    228228
     
    248248        case V_CHAR:
    249249                if (sval >= 0x20 && sval < 0x7f) {
    250                         printf("'%c'", sval);
     250                        printf("'%c'", (char) sval);
    251251                } else {
    252252                        switch (sval) {
     
    257257                        case '\t': printf("'\\t'"); break;
    258258                        case '\\': printf("'\\\\'"); break;
    259                         default: printf("'\\x%02lX'", val); break;
     259                        default: printf("'\\x%02" PRIxn "'", val); break;
    260260                        }
    261261                }
     
    277277
    278278        putchar('(');
    279         if (n > 0) printf("%" PRIdSYSARG, sc_args[0]);
     279        if (n > 0) printf("%" PRIun, sc_args[0]);
    280280        for (i = 1; i < n; i++) {
    281                 printf(", %" PRIdSYSARG, sc_args[i]);
     281                printf(", %" PRIun, sc_args[i]);
    282282        }
    283283        putchar(')');
     
    489489{
    490490        async_serialize_start();
    491         printf("New thread, hash 0x%lx\n", hash);
     491        printf("New thread, hash %p\n", (void *) hash);
    492492        async_serialize_end();
    493493
     
    510510        }
    511511
    512         printf("Start tracing thread [%d] (hash %p).\n", thread_id, thread_hash);
     512        printf("Start tracing thread [%u] (hash %p).\n",
     513            thread_id, (void *) thread_hash);
    513514
    514515        while (!abort_trace) {
     
    516517                fibril_mutex_lock(&state_lock);
    517518                if (paused) {
    518                         printf("Thread [%d] paused. Press R to resume.\n",
     519                        printf("Thread [%u] paused. Press R to resume.\n",
    519520                            thread_id);
    520521
     
    522523                                fibril_condvar_wait(&state_cv, &state_lock);
    523524
    524                         printf("Thread [%d] resumed.\n", thread_id);
     525                        printf("Thread [%u] resumed.\n", thread_id);
    525526                }
    526527                fibril_mutex_unlock(&state_lock);
     
    554555                                break;
    555556                        case UDEBUG_EVENT_THREAD_E:
    556                                 printf("Thread %p exited.\n", val0);
     557                                printf("Thread %" PRIun " exited.\n", val0);
    557558                                fibril_mutex_lock(&state_lock);
    558559                                abort_trace = true;
     
    585586}
    586587
    587 static loader_t *preload_task(const char *path, char *const argv[],
     588static loader_t *preload_task(const char *path, char **argv,
    588589    task_id_t *task_id)
    589590{
     
    591592        int rc;
    592593
    593         /* Spawn a program loader */   
     594        /* Spawn a program loader */
    594595        ldr = loader_connect();
    595596        if (ldr == NULL)
     
    607608
    608609        /* Send arguments */
    609         rc = loader_set_args(ldr, argv);
     610        rc = loader_set_args(ldr, (const char **) argv);
    610611        if (rc != EOK)
    611612                goto error;
     
    870871}
    871872
    872 static display_mask_t parse_display_mask(char *text)
     873static display_mask_t parse_display_mask(const char *text)
    873874{
    874875        display_mask_t dm;
    875         char *c;
    876 
    877         c = text;
    878 
     876        const char *c = text;
     877       
    879878        while (*c) {
    880879                switch (*c) {
    881                 case 't': dm = dm | DM_THREAD; break;
    882                 case 's': dm = dm | DM_SYSCALL; break;
    883                 case 'i': dm = dm | DM_IPC; break;
    884                 case 'p': dm = dm | DM_SYSTEM | DM_USER; break;
     880                case 't':
     881                        dm = dm | DM_THREAD;
     882                        break;
     883                case 's':
     884                        dm = dm | DM_SYSCALL;
     885                        break;
     886                case 'i':
     887                        dm = dm | DM_IPC;
     888                        break;
     889                case 'p':
     890                        dm = dm | DM_SYSTEM | DM_USER;
     891                        break;
    885892                default:
    886893                        printf("Unexpected event type '%c'.\n", *c);
    887894                        exit(1);
    888895                }
    889 
     896               
    890897                ++c;
    891898        }
    892 
     899       
    893900        return dm;
    894901}
     
    896903static int parse_args(int argc, char *argv[])
    897904{
    898         char *arg;
    899905        char *err_p;
    900906
    901907        task_id = 0;
    902908
    903         --argc; ++argv;
     909        --argc;
     910        ++argv;
    904911
    905912        while (argc > 0) {
    906                 arg = *argv;
     913                char *arg = *argv;
    907914                if (arg[0] == '+') {
    908915                        display_mask = parse_display_mask(&arg[1]);
     
    910917                        if (arg[1] == 't') {
    911918                                /* Trace an already running task */
    912                                 --argc; ++argv;
     919                                --argc;
     920                                ++argv;
    913921                                task_id = strtol(*argv, &err_p, 10);
    914922                                task_ldr = NULL;
     
    920928                                }
    921929                        } else {
    922                                 printf("Uknown option '%s'\n", arg[0]);
     930                                printf("Uknown option '%c'\n", arg[0]);
    923931                                print_syntax();
    924932                                return -1;
     
    927935                        break;
    928936                }
    929 
    930                 --argc; ++argv;
     937               
     938                --argc;
     939                ++argv;
    931940        }
    932941
    933942        if (task_id != 0) {
    934                 if (argc == 0) return 0;
     943                if (argc == 0)
     944                        return 0;
    935945                printf("Extra arguments\n");
    936946                print_syntax();
     
    946956        /* Preload the specified program file. */
    947957        printf("Spawning '%s' with arguments:\n", *argv);
    948         {
    949                 char **cp = argv;
    950                 while (*cp) printf("'%s'\n", *cp++);
    951         }
     958       
     959        char **cp = argv;
     960        while (*cp)
     961                printf("'%s'\n", *cp++);
     962       
    952963        task_ldr = preload_task(*argv, argv, &task_id);
    953964        task_wait_for = true;
     
    974985        rc = connect_task(task_id);
    975986        if (rc < 0) {
    976                 printf("Failed connecting to task %" PRIdTASKID ".\n", task_id);
     987                printf("Failed connecting to task %" PRIu64 ".\n", task_id);
    977988                return 1;
    978989        }
    979990
    980         printf("Connected to task %" PRIdTASKID ".\n", task_id);
     991        printf("Connected to task %" PRIu64 ".\n", task_id);
    981992
    982993        if (task_ldr != NULL)
Note: See TracChangeset for help on using the changeset viewer.