Fix a few Char/HChar mixups in callgrind.
authorflorian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9>
Sun, 21 Oct 2012 02:55:56 +0000 (02:55 +0000)
committerflorian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9>
Sun, 21 Oct 2012 02:55:56 +0000 (02:55 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13069 a5019735-40e9-0310-863c-91ae7b9d1cf9

callgrind/bbcc.c
callgrind/callstack.c
callgrind/debug.c
callgrind/dump.c
callgrind/events.c
callgrind/events.h
callgrind/fn.c
callgrind/global.h
callgrind/main.c
callgrind/sim.c
callgrind/threads.c

index ad8a76d4908f1cfb785341981af61e476c33e5b6..9a7e8aadc281ccdbabd94d804acef5a65a3678b4 100644 (file)
@@ -338,9 +338,9 @@ void insert_bbcc_into_hash(BBCC* bbcc)
             current_bbccs.entries);
 }
 
-static Char* mangled_cxt(Context* cxt, int rec_index)
+static const HChar* mangled_cxt(Context* cxt, int rec_index)
 {
-    static Char mangled[FN_NAME_LEN];
+    static HChar mangled[FN_NAME_LEN];
     int i, p;
 
     if (!cxt) return "(no context)";
@@ -413,6 +413,8 @@ static BBCC* clone_bbcc(BBCC* orig, Context* cxt, Int rec_index)
     CLG_DEBUGIF(3)
       CLG_(print_bbcc)(-2, bbcc);
 
+    // FIXME: mangled_cxt returns a pointer to a static buffer that
+    // gets overwritten with each invocation. 
     CLG_DEBUG(2,"- clone_BBCC(%p, %d) for BB %#lx\n"
                "   orig %s\n"
                "   new  %s\n",
index 294e437da35765dfdf70809974d8eecd1fcd3f48..ae08122fdeaa0a1f5d41add9762529b62eafde5b 100644 (file)
@@ -130,7 +130,7 @@ static void function_entered(fn_node* fn)
 #endif         
            
   if (fn->dump_before) {
-    Char trigger[FN_NAME_LEN];
+    HChar trigger[FN_NAME_LEN];
     VG_(sprintf)(trigger, "--dump-before=%s", fn->name);
     CLG_(dump_profile)(trigger, True);
   }
@@ -152,7 +152,7 @@ static void function_left(fn_node* fn)
   CLG_ASSERT(fn != 0);
 
   if (fn->dump_after) {
-    Char trigger[FN_NAME_LEN];
+    HChar trigger[FN_NAME_LEN];
     VG_(sprintf)(trigger, "--dump-after=%s", fn->name);
     CLG_(dump_profile)(trigger, True);
   }
index 7f5a8e79b320b5cf82e6fe39470aff9ddad2bc00..cf795a4b36d3c5344bdf34e69083a76b4655f91e 100644 (file)
@@ -377,7 +377,7 @@ void CLG_(print_addr)(Addr addr)
     Char fn_buf[FN_NAME_LEN];
     const UChar* obj_name;
     DebugInfo* di;
-    int ln, i=0, opos=0;
+    UInt ln, i=0, opos=0;
        
     if (addr == 0) {
        VG_(printf)("%08lx", addr);
index c073af09adabe854da790ab5dda3a753f0f23562..93f711deb5234266394fb21188939b79b0969ce2 100644 (file)
@@ -231,7 +231,7 @@ static void print_file(Char* buf, file_node* file)
 /*
  * tag can be "fn", "cfn", "jfn"
  */
-static void print_fn(Int fd, Char* buf, Char* tag, fn_node* fn)
+static void print_fn(Int fd, Char* buf, const HChar* tag, fn_node* fn)
 {
     int p;
     p = VG_(sprintf)(buf, "%s=",tag);
@@ -251,7 +251,7 @@ static void print_fn(Int fd, Char* buf, Char* tag, fn_node* fn)
     my_fwrite(fd, buf, p);
 }
 
-static void print_mangled_fn(Int fd, Char* buf, Char* tag, 
+static void print_mangled_fn(Int fd, Char* buf, const HChar* tag, 
                             Context* cxt, int rec_index)
 {
     int p, i;
@@ -1251,7 +1251,7 @@ BBCC** prepare_dump(void)
 
 
 
-static void fprint_cost_ln(int fd, Char* prefix,
+static void fprint_cost_ln(int fd, const HChar* prefix,
                           EventMapping* em, ULong* cost)
 {
     int p;
@@ -1283,7 +1283,7 @@ void file_err(void)
  *
  * Returns the file descriptor, and -1 on error (no write permission)
  */
-static int new_dumpfile(Char buf[BUF_LEN], int tid, Char* trigger)
+static int new_dumpfile(Char buf[BUF_LEN], int tid, const HChar* trigger)
 {
     Bool appending = False;
     int i, fd;
@@ -1390,7 +1390,7 @@ static int new_dumpfile(Char buf[BUF_LEN], int tid, Char* trigger)
 
     my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
     VG_(sprintf)(buf, "desc: Trigger: %s\n",
-                trigger ? trigger : (Char*)"Program termination");
+                trigger ? trigger : "Program termination");
     my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
 
 #if 0
@@ -1503,7 +1503,7 @@ static void close_dumpfile(int fd)
 /* Helper for print_bbccs */
 
 static Int   print_fd;
-static Char* print_trigger;
+static const HChar* print_trigger;
 static Char  print_buf[BUF_LEN];
 
 static void print_bbccs_of_thread(thread_info* ti)
@@ -1590,7 +1590,7 @@ static void print_bbccs_of_thread(thread_info* ti)
 }
 
 
-static void print_bbccs(Char* trigger, Bool only_current_thread)
+static void print_bbccs(const HChar* trigger, Bool only_current_thread)
 {
   init_dump_array();
   init_debug_cache();
@@ -1615,17 +1615,17 @@ static void print_bbccs(Char* trigger, Bool only_current_thread)
 }
 
 
-void CLG_(dump_profile)(Char* trigger, Bool only_current_thread)
+void CLG_(dump_profile)(const HChar* trigger, Bool only_current_thread)
 {
    CLG_DEBUG(2, "+ dump_profile(Trigger '%s')\n",
-           trigger ? trigger : (Char*)"Prg.Term.");
+           trigger ? trigger : "Prg.Term.");
 
    CLG_(init_dumps)();
 
    if (VG_(clo_verbosity) > 1)
        VG_(message)(Vg_DebugMsg, "Start dumping at BB %llu (%s)...\n",
                    CLG_(stat).bb_executions,
-                   trigger ? trigger : (Char*)"Prg.Term.");
+                   trigger ? trigger : "Prg.Term.");
 
    out_counter++;
 
index af5c568ffd8a3aaa146950cac971fab09d2ef8c5..b942e5d96e6c4c03a4afc2ce4317f1bac0c5565f 100644 (file)
@@ -68,7 +68,7 @@ EventGroup* new_event_group(int id, int n)
     return eg;
 }
 
-EventGroup* CLG_(register_event_group) (int id, Char* n1)
+EventGroup* CLG_(register_event_group) (int id, const HChar* n1)
 {
     EventGroup* eg = new_event_group(id, 1);
     eg->name[0] = n1;
@@ -76,7 +76,8 @@ EventGroup* CLG_(register_event_group) (int id, Char* n1)
     return eg;
 }
 
-EventGroup* CLG_(register_event_group2)(int id, Char* n1, Char* n2)
+EventGroup* CLG_(register_event_group2)(int id, const HChar* n1,
+                                        const HChar* n2)
 {
     EventGroup* eg = new_event_group(id, 2);
     eg->name[0] = n1;
@@ -85,7 +86,8 @@ EventGroup* CLG_(register_event_group2)(int id, Char* n1, Char* n2)
     return eg;
 }
 
-EventGroup* CLG_(register_event_group3)(int id, Char* n1, Char* n2, Char* n3)
+EventGroup* CLG_(register_event_group3)(int id, const HChar* n1,
+                                        const HChar* n2, const HChar* n3)
 {
     EventGroup* eg = new_event_group(id, 3);
     eg->name[0] = n1;
@@ -95,8 +97,9 @@ EventGroup* CLG_(register_event_group3)(int id, Char* n1, Char* n2, Char* n3)
     return eg;
 }
 
-EventGroup* CLG_(register_event_group4)(int id,
-                                       Char* n1, Char* n2, Char* n3, Char* n4)
+EventGroup* CLG_(register_event_group4)(int id, const HChar* n1,
+                                        const HChar* n2, const HChar* n3,
+                                        const HChar* n4)
 {
     EventGroup* eg = new_event_group(id, 4);
     eg->name[0] = n1;
@@ -487,7 +490,7 @@ EventMapping* CLG_(get_eventmapping)(EventSet* es)
     return em;
 }
 
-void CLG_(append_event)(EventMapping* em, Char* n)
+void CLG_(append_event)(EventMapping* em, const HChar* n)
 {
     Int i, j, offset = 0;
     UInt mask;
index aa59d549346b37c9365780baa0e0d496b59aa7fc..f110110a266ccb2463292ac9e2c14756cbb2e554 100644 (file)
 typedef struct _EventGroup EventGroup;
 struct _EventGroup {
     Int size;
-    Char* name[0];
+    const HChar* name[0];
 };
 
 /* return 0 if event group can not be registered */
-EventGroup* CLG_(register_event_group) (int id, Char*);
-EventGroup* CLG_(register_event_group2)(int id, Char*, Char*);
-EventGroup* CLG_(register_event_group3)(int id, Char*, Char*, Char*);
-EventGroup* CLG_(register_event_group4)(int id, Char*, Char*, Char*, Char*);
+EventGroup* CLG_(register_event_group) (int id, const HChar*);
+EventGroup* CLG_(register_event_group2)(int id, const HChar*, const HChar*);
+EventGroup* CLG_(register_event_group3)(int id, const HChar*, const HChar*,
+                                        const HChar*);
+EventGroup* CLG_(register_event_group4)(int id, const HChar*, const HChar*,
+                                        const HChar*, const HChar*);
 EventGroup* CLG_(get_event_group)(int id);
 
 /* Event sets are defined by event groups they consist of. */
@@ -124,7 +126,7 @@ struct _EventMapping {
 
 /* Allocate space for an event mapping */
 EventMapping* CLG_(get_eventmapping)(EventSet*);
-void CLG_(append_event)(EventMapping*, Char*);
+void CLG_(append_event)(EventMapping*, const HChar*);
 /* Returns number of characters written */
 Int CLG_(sprint_eventmapping)(Char* buf, EventMapping*);
 /* Returns number of characters written */
index 099d20c676bbd25887a01142fdf099678912ff0d..bd05ee41503586171240ca42267458019c1f96ab 100644 (file)
@@ -223,7 +223,7 @@ static UInt str_hash(const Char *s, UInt table_size)
 }
 
 
-static Char* anonymous_obj = "???";
+static const HChar* anonymous_obj = "???";
 
 static __inline__ 
 obj_node* new_obj_node(DebugInfo* di, obj_node* next)
@@ -232,7 +232,7 @@ obj_node* new_obj_node(DebugInfo* di, obj_node* next)
    obj_node* obj;
 
    obj = (obj_node*) CLG_MALLOC("cl.fn.non.1", sizeof(obj_node));
-   obj->name  = di ? VG_(strdup)( "cl.fn.non.2",
+   obj->name  = di ? (HChar *)VG_(strdup)( "cl.fn.non.2",
                                   VG_(DebugInfo_get_filename)(di) )
                    : anonymous_obj;
    for (i = 0; i < N_FILE_ENTRIES; i++) {
@@ -265,9 +265,9 @@ obj_node* CLG_(get_obj_node)(DebugInfo* di)
 {
     obj_node*    curr_obj_node;
     UInt         objname_hash;
-    const UChar* obj_name;
+    const HChar* obj_name;
     
-    obj_name = di ? (Char*) VG_(DebugInfo_get_filename)(di) : anonymous_obj;
+    obj_name = di ? (HChar*) VG_(DebugInfo_get_filename)(di) : anonymous_obj;
 
     /* lookup in obj hash */
     objname_hash = str_hash(obj_name, N_OBJ_ENTRIES);
index a848d4c0aa009b6c7f75f515d41ff367ed8382bd..1ed0b2fdba8955dd8a37ee3b987ee2966bf0767a 100644 (file)
@@ -56,8 +56,8 @@ typedef struct _CommandLineOptions CommandLineOptions;
 struct _CommandLineOptions {
 
   /* Dump format options */
-  Char* out_format;      /* Format string for callgrind output file name */
-  Bool combine_dumps;    /* Dump trace parts into same file? */
+  const HChar* out_format;  /* Format string for callgrind output file name */
+  Bool combine_dumps;       /* Dump trace parts into same file? */
   Bool compress_strings;
   Bool compress_events;
   Bool compress_pos;
@@ -468,7 +468,7 @@ struct _file_node {
  * zero when object is unmapped (possible at dump time).
  */
 struct _obj_node {
-   Char*      name;
+   const HChar* name;
    UInt       last_slash_pos;
 
    Addr       start;  /* Start address of text segment mapping */
@@ -676,9 +676,9 @@ struct cachesim_if
     void (*log_0I1Dw)(InstrInfo*, Addr, Word) VG_REGPARM(3);
 
     // function names of helpers (for debugging generated code)
-    Char *log_1I0D_name, *log_2I0D_name, *log_3I0D_name;
-    Char *log_1I1Dr_name, *log_1I1Dw_name;
-    Char *log_0I1Dr_name, *log_0I1Dw_name;
+    const HChar *log_1I0D_name, *log_2I0D_name, *log_3I0D_name;
+    const HChar *log_1I1Dr_name, *log_1I1Dw_name;
+    const HChar *log_0I1Dr_name, *log_0I1Dw_name;
 };
 
 // set by setup_bbcc at start of every BB, and needed by log_* helpers
@@ -724,8 +724,8 @@ void CLG_(init_eventsets)(void);
 Bool CLG_(get_debug_info)(Addr, Char filename[FILENAME_LEN],
                         Char fn_name[FN_NAME_LEN], UInt*, DebugInfo**);
 void CLG_(collectBlockInfo)(IRSB* bbIn, UInt*, UInt*, Bool*);
-void CLG_(set_instrument_state)(Char*,Bool);
-void CLG_(dump_profile)(Char* trigger,Bool only_current_thread);
+void CLG_(set_instrument_state)(const HChar*,Bool);
+void CLG_(dump_profile)(const HChar* trigger,Bool only_current_thread);
 void CLG_(zero_all_cost)(Bool only_current_thread);
 Int CLG_(get_dump_counter)(void);
 void CLG_(fini)(Int exitcode);
index c5d472d6a176751cef658af1a37f5e5e5943d8b3..22919137a01c105bd31194d41b0f9c815b657d26 100644 (file)
@@ -377,7 +377,7 @@ static void showEvent ( Event* ev )
 static void flushEvents ( ClgState* clgs )
 {
    Int        i, regparms, inew;
-   Char*      helperName;
+   const HChar* helperName;
    void*      helperAddr;
    IRExpr**   argv;
    IRExpr*    i_node_expr;
@@ -1377,7 +1377,7 @@ void zero_state_cost(thread_info* t)
 /* Ups, this can go very wrong... */
 extern void VG_(discard_translations) ( Addr64 start, ULong range, HChar* who );
 
-void CLG_(set_instrument_state)(Char* reason, Bool state)
+void CLG_(set_instrument_state)(const HChar* reason, Bool state)
 {
   if (CLG_(instrument_state) == state) {
     CLG_DEBUG(2, "%s: instrumentation already %s\n",
@@ -1581,7 +1581,7 @@ Bool CLG_(handle_client_request)(ThreadId tid, UWord *args, UWord *ret)
 
    case VG_USERREQ__DUMP_STATS_AT:
      {
-       Char buf[512];
+       HChar buf[512];
        VG_(sprintf)(buf,"Client Request: %s", (Char*)args[1]);
        CLG_(dump_profile)(buf, True);
        *ret = 0;                 /* meaningless */
@@ -1700,7 +1700,8 @@ static UInt ULong_width(ULong n)
 static
 void branchsim_printstat(int l1, int l2, int l3)
 {
-    static Char buf1[128], buf2[128], buf3[128], fmt[128];
+    static Char buf1[128], buf2[128], buf3[128];
+    static HChar fmt[128];
     FullCost total;
     ULong Bc_total_b, Bc_total_mp, Bi_total_b, Bi_total_mp;
     ULong B_total_b, B_total_mp;
@@ -1738,7 +1739,8 @@ void branchsim_printstat(int l1, int l2, int l3)
 static
 void finish(void)
 {
-  Char buf[32+COSTS_LEN], fmt[128];
+  Char buf[32+COSTS_LEN];
+  HChar fmt[128];
   Int l1, l2, l3;
   FullCost total;
 
index 2348cbec1af1a9c34d365d9b8d0547ada2ad07aa..f252cd7c60d2231c03fcd32b245660c8fa42dee8 100644 (file)
@@ -1034,7 +1034,7 @@ void inc_costs(CacheModelResult r, ULong* c1, ULong* c2)
 }
 
 static
-Char* cacheRes(CacheModelResult r)
+const HChar* cacheRes(CacheModelResult r)
 {
     switch(r) {
     case L1_Hit:    return "L1 Hit ";
index a784f1260e4e0496b729eefacfd6137dcdf4328b..98d9385c30cd37fa12249853f9f3be95d2bcfda1 100644 (file)
@@ -179,7 +179,7 @@ void CLG_(run_thread)(ThreadId tid)
 {
     /* check for dumps needed */
     static ULong bbs_done = 0;
-    static Char buf[512];
+    static HChar buf[512];
 
     if (CLG_(clo).dump_every_bb >0) {
        if (CLG_(stat).bb_executions - bbs_done > CLG_(clo).dump_every_bb) {
@@ -453,4 +453,3 @@ exec_state* exec_state_restore(void)
 
   return es;
 }
-