libctf: deduplicate and sort the string table
[deliverable/binutils-gdb.git] / libctf / ctf-dump.c
index c2ed791eea690cbb0885fa6e0dc23c1f72ce9b2d..0e8ab202dd8240f1e3b3934dc9dcfd55c525af19 100644 (file)
@@ -121,8 +121,9 @@ ctf_dump_format_type (ctf_file_t *fp, ctf_id_t id)
        }
       else
        {
-         if (asprintf (&bit, " %lx: %s (size %lx)", id, buf[0] == '\0' ?
-                       "(nameless)" : buf, ctf_type_size (fp, id)) < 0)
+         if (asprintf (&bit, " %lx: %s (size 0x%lx)", id, buf[0] == '\0' ?
+                       "(nameless)" : buf,
+                       (unsigned long) ctf_type_size (fp, id)) < 0)
            goto oom;
        }
       free (buf);
@@ -211,12 +212,12 @@ ctf_dump_objts (ctf_file_t *fp, ctf_dump_state_t *state)
       sym_name = ctf_lookup_symbol_name (fp, i);
       if (sym_name[0] == '\0')
        {
-         if (asprintf (&str, "%lx -> ", i) < 0)
+         if (asprintf (&str, "%lx -> ", (unsigned long) i) < 0)
            return (ctf_set_errno (fp, ENOMEM));
        }
       else
        {
-         if (asprintf (&str, "%s (%lx) -> ", sym_name, i) < 0)
+         if (asprintf (&str, "%s (%lx) -> ", sym_name, (unsigned long) i) < 0)
            return (ctf_set_errno (fp, ENOMEM));
        }
 
@@ -273,23 +274,23 @@ ctf_dump_funcs (ctf_file_t *fp, ctf_dump_state_t *state)
        goto err;
 
       str = ctf_str_append (str, " ");
-      free (bit);
 
       /* Function name.  */
 
       sym_name = ctf_lookup_symbol_name (fp, i);
       if (sym_name[0] == '\0')
        {
-         if (asprintf (&bit, "%lx ", i) < 0)
+         if (asprintf (&bit, "0x%lx ", (unsigned long) i) < 0)
            goto oom;
        }
       else
        {
-         if (asprintf (&bit, "%s (%lx) ", sym_name, i) < 0)
+         if (asprintf (&bit, "%s (0x%lx) ", sym_name, (unsigned long) i) < 0)
            goto oom;
        }
       str = ctf_str_append (str, bit);
       str = ctf_str_append (str, " (");
+      free (bit);
 
       /* Function arguments.  */
 
@@ -369,7 +370,7 @@ ctf_dump_member (const char *name, ctf_id_t id, unsigned long offset,
 
   if (asprintf (&bit, "    [0x%lx] (ID 0x%lx) (kind %i) %s %s (aligned at 0x%lx",
                offset, id, ctf_type_kind (state->cdm_fp, id), typestr, name,
-               ctf_type_align (state->cdm_fp, id)) < 0)
+               (unsigned long) ctf_type_align (state->cdm_fp, id)) < 0)
     goto oom;
   *state->cdm_str = ctf_str_append (*state->cdm_str, bit);
   free (typestr);
@@ -440,7 +441,8 @@ ctf_dump_str (ctf_file_t *fp, ctf_dump_state_t *state)
         fp->ctf_str[CTF_STRTAB_0].cts_len;)
     {
       char *str;
-      if (asprintf (&str, "%lx: %s", s - fp->ctf_str[CTF_STRTAB_0].cts_strs,
+      if (asprintf (&str, "%lx: %s",
+                   (unsigned long) (s - fp->ctf_str[CTF_STRTAB_0].cts_strs),
                    s) < 0)
        return (ctf_set_errno (fp, ENOMEM));
       ctf_dump_append (state, str);
This page took 0.024295 seconds and 4 git commands to generate.