<div dir="ltr">Thanks, please see the attachment for the updated patch. I also put it into plain mail.<div><br></div><div><div>---</div><div> debugger/eudb.c | 6 +-----</div><div> 1 file changed, 1 insertion(+), 5 deletions(-)</div><div><br></div><div>diff --git a/debugger/eudb.c b/debugger/eudb.c</div><div>index 0e810db..451f284 100644</div><div>--- a/debugger/eudb.c</div><div>+++ b/debugger/eudb.c</div><div>@@ -207,15 +207,11 @@ wait_for_attn(int timeout, int *out_bits) {</div><div> #define eu_tid(bit) eu_info->debuggees[bit].tid</div><div> static struct eu_state *</div><div> find_eu_shmem(int bit, volatile uint8_t *buf) {</div><div>- struct per_thread_data {</div><div>- uint8_t ____[dh.per_thread_scratch];</div><div>- }__attribute__((packed)) *data;</div><div> struct eu_state *eu;</div><div> int mem_tid, mem_euid, i;</div><div><br></div><div>- data = (struct per_thread_data *)buf;</div><div> for(i = 0; i < eu_info->num_threads; i++) {</div><div>- eu = (struct eu_state *)&data[i];</div><div>+ eu = (struct eu_state *)&buf[i * dh.per_thread_scratch];</div><div> mem_tid = eu->sr0 & 0x7;</div><div> mem_euid = (eu->sr0 >> 8) & 0xf;</div><div> if (mem_tid == eu_tid(bit) && mem_euid == eu_id(bit))</div><div>-- </div><div>2.2.0.rc0.207.ga3a616c</div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 27, 2015 at 11:48 AM, Dave Gordon <span dir="ltr"><<a href="mailto:david.s.gordon@intel.com" target="_blank">david.s.gordon@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 23/04/15 17:54, Yunlian Jiang wrote:<br>
> The bug entry is at<br>
> <a href="https://code.google.com/p/chromium/issues/detail?id=476001" target="_blank">https://code.google.com/p/chromium/issues/detail?id=476001</a><br>
><br>
> The patch below makes clang happy.<br>
><br>
> debugger/eudb.c | 6 +-----<br>
> 1 file changed, 1 insertion(+), 5 deletions(-)<br>
><br>
> diff --git a/debugger/eudb.c b/debugger/eudb.c<br>
> index 0e810db..7188a4f 100644<br>
> --- a/debugger/eudb.c<br>
> +++ b/debugger/eudb.c<br>
> @@ -207,15 +207,11 @@ wait_for_attn(int timeout, int *out_bits) {<br>
> #define eu_tid(bit) eu_info->debuggees[bit].tid<br>
> static struct eu_state *<br>
> find_eu_shmem(int bit, volatile uint8_t *buf) {<br>
> - struct per_thread_data {<br>
> - uint8_t ____[dh.per_thread_scratch];<br>
> - }__attribute__((packed)) *data;<br>
> struct eu_state *eu;<br>
> int mem_tid, mem_euid, i;<br>
><br>
> - data = (struct per_thread_data *)buf;<br>
> for(i = 0; i < eu_info->num_threads; i++) {<br>
> - eu = (struct eu_state *)&data[i];<br>
> + eu = (struct eu_state *)&buff[i*dh.per_thread_scratch];<br>
<br>
</span>"buff" here vs. "buf" elsewhere - is that a typo?<br>
<span class="HOEnZb"><font color="#888888"><br>
.Dave.<br>
</font></span><span class="im HOEnZb"><br>
> mem_tid = eu->sr0 & 0x7;<br>
> mem_euid = (eu->sr0 >> 8) & 0xf;<br>
> if (mem_tid == eu_tid(bit) && mem_euid == eu_id(bit))<br>
><br>
><br>
><br>
</span><div class="HOEnZb"><div class="h5">> _______________________________________________<br>
> Intel-gfx mailing list<br>
> <a href="mailto:Intel-gfx@lists.freedesktop.org">Intel-gfx@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/intel-gfx" target="_blank">http://lists.freedesktop.org/mailman/listinfo/intel-gfx</a><br>
><br>
<br>
</div></div></blockquote></div><br></div>