From 487d6b6e804820b4519202c915786aa97178e132 Mon Sep 17 00:00:00 2001 From: "Frank Ch. Eigler" Date: Thu, 2 Jul 2020 14:59:30 -0400 Subject: [PATCH] tapset: *user_string* formatting directive tweaks MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 | 4 ++-- tapset/uconversions.stp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tapset/uconversions-guru.stp b/tapset/uconversions-guru.stp index e9a8612e1..935f3a258 100644 --- a/tapset/uconversions-guru.stp +++ b/tapset/uconversions-guru.stp @@ -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; } %} diff --git a/tapset/uconversions.stp b/tapset/uconversions.stp index 1b2b52e4b..fbcaa8634 100644 --- a/tapset/uconversions.stp +++ b/tapset/uconversions.stp @@ -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 -- 2.43.5