This addresses another fallout from the libbacktrace changes applied
in November.


libbacktrace/allocfail.c has the following declaration:

  extern uint64_t get_nr_allocs (void);

And in line 133 then the following:

  fprintf (stderr, "%lu\n", get_nr_allocs ());

On a 32-bit system such as x86 this creates a mismatch between %lu 
(32-bit) and the third parameter (64-bit).


The patch below addresses it; tested on i586-unknown-freebsd11.3.

Okay?

Gerald

2019-01-20  Gerald Pfeifer  <ger...@pfeifer.com>

        * allocfail.c (main): Increase portability of printf statement.

Index: libbacktrace/allocfail.c
===================================================================
--- libbacktrace/allocfail.c    (revision 268102)
+++ libbacktrace/allocfail.c    (working copy)
@@ -130,7 +130,7 @@ main (int argc, char **argv)
 #endif
 
   if (argc == 1)
-    fprintf (stderr, "%lu\n", get_nr_allocs ());
+    fprintf (stderr, "%llu\n", (long long unsigned) get_nr_allocs ());
 
   exit (failures ? EXIT_FAILURE : EXIT_SUCCESS);
 }

Reply via email to