]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
btf: fix bootstrap -Wformat errors [PR110073]
authorDavid Faust <david.faust@oracle.com>
Fri, 2 Jun 2023 16:28:32 +0000 (09:28 -0700)
committerDavid Faust <david.faust@oracle.com>
Fri, 2 Jun 2023 16:28:32 +0000 (09:28 -0700)
Commit 7aae58b04b9 "btf: improve -dA comments for testsuite" broke
bootstrap on a number of architectures because it introduced some
new -Wformat errors.

Fix those errors by properly using PRIu64 and a small refactor to
the offending code.

Based on the suggested patch from Rainer Orth.

PR debug/110073

gcc/ChangeLog:

* btfout.cc (btf_absolute_func_id): New function.
(btf_asm_func_type): Call it here.  Change index parameter from
size_t to ctf_id_t.  Use PRIu64 formatter.

gcc/btfout.cc

index 1ea68b9e8ba53979940ce75e928a70dae1765373..e07fed302c24e4b0c951d92ccf391021ed99c6e1 100644 (file)
@@ -192,6 +192,14 @@ btf_relative_var_id (ctf_id_t abs)
   return abs - (num_types_added + 1);
 }
 
+/* Return the final BTF ID of the func record at relative index REL.  */
+
+static ctf_id_t
+btf_absolute_func_id (ctf_id_t rel)
+{
+  return rel + (num_types_added + 1) + num_vars_added;
+}
+
 /* Return the relative index of the func record with final BTF ID ABS.  */
 
 static ctf_id_t
@@ -937,13 +945,12 @@ btf_asm_func_arg (ctf_container_ref ctfc, ctf_func_arg_t * farg,
 /* Asm'out a BTF_KIND_FUNC type.  */
 
 static void
-btf_asm_func_type (ctf_container_ref ctfc, ctf_dtdef_ref dtd, size_t i)
+btf_asm_func_type (ctf_container_ref ctfc, ctf_dtdef_ref dtd, ctf_id_t id)
 {
   ctf_id_t ref_id = dtd->dtd_data.ctti_type;
   dw2_asm_output_data (4, dtd->dtd_data.ctti_name,
-                      "TYPE %lu BTF_KIND_FUNC '%s'",
-                      num_types_added + num_vars_added + 1 + i,
-                      dtd->dtd_name);
+                      "TYPE %" PRIu64 " BTF_KIND_FUNC '%s'",
+                      btf_absolute_func_id (id), dtd->dtd_name);
   dw2_asm_output_data (4, BTF_TYPE_INFO (BTF_KIND_FUNC, 0, dtd->linkage),
                       "btt_info: kind=%u, kflag=%u, linkage=%u",
                       BTF_KIND_FUNC, 0, dtd->linkage);