<div dir="ltr"><div>Yes, casting to int would be another possible solution - the point is that the value type should match the format. I don't know enough about this piece of code which of the two is "more correct". I did spend most of last year encoding/decoding various printf format strings, so I spotted that "it's probably wrong". <br><br>--<br></div>Mats<br></div><div class="gmail_extra"><br><div class="gmail_quote">On 23 April 2015 at 16:12, Daniel Sanders <span dir="ltr"><<a href="mailto:Daniel.Sanders@imgtec.com" target="_blank">Daniel.Sanders@imgtec.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div link="blue" vlink="purple" lang="EN-GB">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">Good point. Timur has asked me to cast to int and is wondering whether the prototype should be changed so I'll wait to see what Kostya says before updating the patch to either
 cast to int or use '%zd'.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"" lang="EN-US">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"" lang="EN-US"> <a href="mailto:mats.o.petersson@googlemail.com" target="_blank">mats.o.petersson@googlemail.com</a> [mailto:<a href="mailto:mats.o.petersson@googlemail.com" target="_blank">mats.o.petersson@googlemail.com</a>]
<b>On Behalf Of </b>mats petersson<br>
<b>Sent:</b> 23 April 2015 15:41<br>
<b>To:</b> <a href="mailto:reviews%2BD9224%2Bpublic%2B0db905cdbbbc4cdf@reviews.llvm.org" target="_blank">reviews+D9224+public+0db905cdbbbc4cdf@reviews.llvm.org</a><br>
<b>Cc:</b> Daniel Sanders; <a href="mailto:kcc@google.com" target="_blank">kcc@google.com</a>; <a href="mailto:timurrrr@google.com" target="_blank">timurrrr@google.com</a>; <a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a>; Sagar Thakur<br>
<b>Subject:</b> Re: [PATCH] [asan] Print SHADOW_SCALE and SHADOW_GRANULARITY as decimal values.<u></u><u></u></span></p>
</div>
</div><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On 23 April 2015 at 15:32, Daniel Sanders <<a href="mailto:daniel.sanders@imgtec.com" target="_blank">daniel.sanders@imgtec.com</a>> wrote:<u></u><u></u></p>
<p class="MsoNormal">Hi kcc, timurrrr,<br>
<br>
During the review of <a href="http://reviews.llvm.org/D9199" target="_blank">http://reviews.llvm.org/D9199</a> where I had originally<br>
changed the debug_mapping.cc test to accept hexadecimal values, we realized<br>
that SHADOW_SCALE and SHADOW_GRANULARITY ought to be printed as decimal values.<br>
This patch makes that change.<br>
<br>
This patch also adds a '0x' prefix to the SHADOW_OFFSET to make it clear that<br>
it is hexadecimal while the other two are decimal.<br>
<br>
<a href="http://reviews.llvm.org/D9224" target="_blank">http://reviews.llvm.org/D9224</a><br>
<br>
Files:<br>
  lib/asan/asan_rtl.cc<br>
  test/asan/TestCases/debug_mapping.cc<br>
<br>
Index: lib/asan/asan_rtl.cc<br>
===================================================================<br>
--- lib/asan/asan_rtl.cc<br>
+++ lib/asan/asan_rtl.cc<br>
@@ -347,9 +347,9 @@<br>
   Printf("malloc_context_size=%zu\n",<br>
          (uptr)common_flags()->malloc_context_size);<br>
<br>
-  Printf("SHADOW_SCALE: %zx\n", (uptr)SHADOW_SCALE);<br>
-  Printf("SHADOW_GRANULARITY: %zx\n", (uptr)SHADOW_GRANULARITY);<br>
-  Printf("SHADOW_OFFSET: %zx\n", (uptr)SHADOW_OFFSET);<br>
+  Printf("SHADOW_SCALE: %d\n", (uptr)SHADOW_SCALE);<u></u><u></u></p>
<div>
<p class="MsoNormal">If it's cast to uptr, then surely it should be "%zd" or even "%zu", not "%d" (the z means "size_t" length of the value)<br>
<br>
--<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Mats<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal">+  Printf("SHADOW_GRANULARITY: %d\n", (uptr)SHADOW_GRANULARITY);<br>
+  Printf("SHADOW_OFFSET: 0x%zx\n", (uptr)SHADOW_OFFSET);<br>
   CHECK(SHADOW_SCALE >= 3 && SHADOW_SCALE <= 7);<br>
   if (kMidMemBeg)<br>
     CHECK(kMidShadowBeg > kLowShadowEnd && <u></u><u></u></p>
</blockquote>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal">Index: test/asan/TestCases/debug_mapping.cc<br>
===================================================================<br>
--- test/asan/TestCases/debug_mapping.cc<br>
+++ test/asan/TestCases/debug_mapping.cc<br>
@@ -8,14 +8,14 @@<br>
<br>
 // printed because of verbosity=1<br>
 // CHECK: SHADOW_SCALE: [[SCALE:[0-9]+]]<br>
-// CHECK: SHADOW_OFFSET: [[OFFSET:[0-9a-f]+]]<br>
+// CHECK: SHADOW_OFFSET: [[OFFSET:0x[0-9a-f]+]]<br>
<br>
 int main() {<br>
   size_t scale, offset;<br>
   __asan_get_shadow_mapping(&scale, &offset);<br>
<br>
-  fprintf(stderr, "scale: %lx\n", scale);<br>
-  fprintf(stderr, "offset: %lx\n", offset);<br>
+  fprintf(stderr, "scale: %d\n", scale);<u></u><u></u></p>
</blockquote>
<div>
<p class="MsoNormal">Likewise size_t should be "%zd" [and for the hex on the next line "%zx", not "%lx"]<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-bottom:12.0pt">+  fprintf(stderr, "offset: 0x%lx\n", offset);<br>
<br>
   // CHECK: scale: [[SCALE]]<br>
   // CHECK: offset: [[OFFSET]]<br>
<br>
EMAIL PREFERENCES<br>
  <a href="http://reviews.llvm.org/settings/panel/emailpreferences/" target="_blank">
http://reviews.llvm.org/settings/panel/emailpreferences/</a><br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><u></u><u></u></p>
</blockquote>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</div></div></div>
</div>
</div>

</blockquote></div><br></div>