[Intel-gfx] PATCH i-g-t Fix a clang compile error.

Yunlian Jiang yunlian at google.com
Mon Apr 27 12:53:10 PDT 2015


Thanks, please see the attachment for the updated patch. I also put it into
plain mail.

---
 debugger/eudb.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/debugger/eudb.c b/debugger/eudb.c
index 0e810db..451f284 100644
--- a/debugger/eudb.c
+++ b/debugger/eudb.c
@@ -207,15 +207,11 @@ wait_for_attn(int timeout, int *out_bits) {
 #define eu_tid(bit) eu_info->debuggees[bit].tid
 static struct eu_state *
 find_eu_shmem(int bit, volatile uint8_t *buf) {
-       struct per_thread_data {
-               uint8_t ____[dh.per_thread_scratch];
-       }__attribute__((packed)) *data;
        struct eu_state *eu;
        int mem_tid, mem_euid, i;

-       data = (struct per_thread_data *)buf;
        for(i = 0; i < eu_info->num_threads; i++) {
-               eu = (struct eu_state *)&data[i];
+               eu = (struct eu_state *)&buf[i * dh.per_thread_scratch];
                mem_tid = eu->sr0 & 0x7;
                mem_euid = (eu->sr0 >> 8) & 0xf;
                if (mem_tid == eu_tid(bit) && mem_euid == eu_id(bit))
-- 
2.2.0.rc0.207.ga3a616c


On Mon, Apr 27, 2015 at 11:48 AM, Dave Gordon <david.s.gordon at intel.com>
wrote:

> On 23/04/15 17:54, Yunlian Jiang wrote:
> > The bug entry is at
> > https://code.google.com/p/chromium/issues/detail?id=476001
> >
> > The patch below makes clang happy.
> >
> >  debugger/eudb.c | 6 +-----
> >  1 file changed, 1 insertion(+), 5 deletions(-)
> >
> > diff --git a/debugger/eudb.c b/debugger/eudb.c
> > index 0e810db..7188a4f 100644
> > --- a/debugger/eudb.c
> > +++ b/debugger/eudb.c
> > @@ -207,15 +207,11 @@ wait_for_attn(int timeout, int *out_bits) {
> >  #define eu_tid(bit) eu_info->debuggees[bit].tid
> >  static struct eu_state *
> >  find_eu_shmem(int bit, volatile uint8_t *buf) {
> > -       struct per_thread_data {
> > -               uint8_t ____[dh.per_thread_scratch];
> > -       }__attribute__((packed)) *data;
> >         struct eu_state *eu;
> >         int mem_tid, mem_euid, i;
> >
> > -       data = (struct per_thread_data *)buf;
> >         for(i = 0; i < eu_info->num_threads; i++) {
> > -               eu = (struct eu_state *)&data[i];
> > +               eu = (struct eu_state *)&buff[i*dh.per_thread_scratch];
>
> "buff" here vs. "buf" elsewhere - is that a typo?
>
> .Dave.
>
> >                 mem_tid = eu->sr0 & 0x7;
> >                 mem_euid = (eu->sr0 >> 8) & 0xf;
> >                 if (mem_tid == eu_tid(bit) && mem_euid == eu_id(bit))
> >
> >
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20150427/fa5e0633/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: clang.patch
Type: text/x-patch
Size: 1364 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20150427/fa5e0633/attachment.bin>


More information about the Intel-gfx mailing list