]> sourceware.org Git - systemtap.git/commitdiff
tapset: *user_string* formatting directive tweaks
authorFrank Ch. Eigler <fche@redhat.com>
Thu, 2 Jul 2020 18:59:30 +0000 (14:59 -0400)
committerFrank Ch. Eigler <fche@redhat.com>
Thu, 2 Jul 2020 18:59:30 +0000 (14:59 -0400)
Some versions of gcc complain about an error-message
formatting mismatch:

'probe begin {println(user_string_n_warn(0, 20)) }'
->
/var/tmp/stapk2aFPs/stap_b9f8a6b29bbfa7f7e051c7587bbf7762_1907_src.c:288:40: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘void *’ [-Werror=format=]
  288 |     "user string copy fault 0x%ld at %lx [man error::fault]", rc,

This switches to "0x%lx", (uintptr_t) consistently in related functions.

tapset/uconversions-guru.stp
tapset/uconversions.stp

index e9a8612e1a78cbf6a1393971441d3210212c69ce..935f3a258a3914171a86435a85ae0520fb689450 100644 (file)
@@ -13,7 +13,7 @@ function set_user_string (addr:long, val:string) %{ /* guru */
   if (0) {
 deref_fault: /* branched to from store_deref_string() */
     snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer),
-        "user string copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr);
+        "user string copy fault at 0x%lx [man error::fault]", (uintptr_t) STAP_ARG_addr);
     CONTEXT->last_error = CONTEXT->error_buffer;
   }
 %}
@@ -35,7 +35,7 @@ function set_user_string_n (addr:long, n:long, val:string) %{ /* guru */
   if (0) {
 deref_fault: /* branched to from store_deref_string() */
     snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer),
-        "user string copy fault at 0x%p [man error::fault]", (void *) (uintptr_t) STAP_ARG_addr);
+        "user string copy fault at 0x%lx [man error::fault]", (uintptr_t) STAP_ARG_addr);
     CONTEXT->last_error = CONTEXT->error_buffer;
   }
 %}
index 1b2b52e4b2ba54d02c47fea050a97318ef5ffee2..fbcaa8634c56128012a6475a27cc0aff28ffd375 100644 (file)
@@ -228,8 +228,8 @@ function user_string_n_warn:string (addr:long, n:long, warn_msg:string)
                // NB: using error_buffer to get local space for the warning, but we're
                // not aborting, so leave last_error alone.
                snprintf (CONTEXT->error_buffer, sizeof(CONTEXT->error_buffer),
-                               "user string copy fault 0x%ld at %lx [man error::fault]", rc,
-                               (void *) (uintptr_t) STAP_ARG_addr);
+                               "user string copy fault %ld at 0x%lx [man error::fault]", rc,
+                               (uintptr_t) STAP_ARG_addr);
                _stp_warn(CONTEXT->error_buffer);
                strlcpy (STAP_RETVALUE, STAP_ARG_warn_msg, MAXSTRINGLEN);
        } else
This page took 0.027006 seconds and 5 git commands to generate.