* PATCH i-g-t Fix a clang compile error.
@ 2015-04-23 16:54 Yunlian Jiang
2015-04-27 13:36 ` Thomas Wood
2015-04-27 18:48 ` Dave Gordon
0 siblings, 2 replies; 7+ messages in thread
From: Yunlian Jiang @ 2015-04-23 16:54 UTC (permalink / raw)
To: intel-gfx
[-- Attachment #1.1: Type: text/plain, Size: 1101 bytes --]
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];
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
[-- Attachment #1.2: Type: text/html, Size: 1661 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: PATCH i-g-t Fix a clang compile error.
2015-04-23 16:54 PATCH i-g-t Fix a clang compile error Yunlian Jiang
@ 2015-04-27 13:36 ` Thomas Wood
2015-04-27 16:20 ` Yunlian Jiang
2015-04-27 18:48 ` Dave Gordon
1 sibling, 1 reply; 7+ messages in thread
From: Thomas Wood @ 2015-04-27 13:36 UTC (permalink / raw)
To: Yunlian Jiang; +Cc: Intel Graphics Development, Benjamin Widawsky
On 23 April 2015 at 17:54, Yunlian Jiang <yunlian@chromium.org> wrote:
> The bug entry is at
> https://code.google.com/p/chromium/issues/detail?id=476001
>
> The patch below makes clang happy.
Thanks for the patch; Ben Widawsky reviewed it and added his
reviewed-by tag. Unfortunately it doesn't apply cleanly because tabs
have been converted to spaces. Your commit message is also missing a
signed-off-by line. It may be easier to apply if you are able to use
git format-patch or git send-email to send your patch. The
CONTRIBUTING file in intel-gpu-tools has more details about using git
send-email/git format-patch and the developer's certificate of origin
requirements.
>
> 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];
> 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
>
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: PATCH i-g-t Fix a clang compile error.
2015-04-27 13:36 ` Thomas Wood
@ 2015-04-27 16:20 ` Yunlian Jiang
2015-04-30 14:15 ` Dave Gordon
0 siblings, 1 reply; 7+ messages in thread
From: Yunlian Jiang @ 2015-04-27 16:20 UTC (permalink / raw)
To: Thomas Wood; +Cc: Intel Graphics Development, Benjamin Widawsky
[-- Attachment #1.1: Type: text/plain, Size: 2217 bytes --]
Thomas,
Thanks for the review. This time I put the patch in the attachment so
it should be applied cleanly.
I added Signed-off-by line too.
Thanks
On Mon, Apr 27, 2015 at 6:36 AM, Thomas Wood <thomas.wood@intel.com> wrote:
> On 23 April 2015 at 17:54, Yunlian Jiang <yunlian@chromium.org> wrote:
> > The bug entry is at
> > https://code.google.com/p/chromium/issues/detail?id=476001
> >
> > The patch below makes clang happy.
>
> Thanks for the patch; Ben Widawsky reviewed it and added his
> reviewed-by tag. Unfortunately it doesn't apply cleanly because tabs
> have been converted to spaces. Your commit message is also missing a
> signed-off-by line. It may be easier to apply if you are able to use
> git format-patch or git send-email to send your patch. The
> CONTRIBUTING file in intel-gpu-tools has more details about using git
> send-email/git format-patch and the developer's certificate of origin
> requirements.
>
>
> >
> > 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];
> > 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
> >
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
[-- Attachment #1.2: Type: text/html, Size: 3266 bytes --]
[-- Attachment #2: clang.patch --]
[-- Type: text/x-patch, Size: 1377 bytes --]
From c2f6ecc1c8837abd87aa2da5510281a4833b2a27 Mon Sep 17 00:00:00 2001
From: Yunlian Jiang <yunlian@chromium.com>
Date: Mon, 27 Apr 2015 09:14:33 -0700
Subject: [PATCH 3432/3432] Remove struct per_thread_data to make it compile
with clang.
The bug enty is https://code.google.com/p/chromium/issues/detail?id=476001
This patch makes clang happy.
Cc:Benjamin Widawsky <benjamin.widawsky at intel.com>
Cc:Thomas Wood <thomas.wood at intel.com>
Signed-off-by: Yunlian Jiang <yunlian at chromium.org>
---
debugger/eudb.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/debugger/eudb.c b/debugger/eudb.c
index 0e810db..21405ef 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 *)&data[i * dh.per_thread_scratc];
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
[-- Attachment #3: Type: text/plain, Size: 159 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: PATCH i-g-t Fix a clang compile error.
2015-04-23 16:54 PATCH i-g-t Fix a clang compile error Yunlian Jiang
2015-04-27 13:36 ` Thomas Wood
@ 2015-04-27 18:48 ` Dave Gordon
2015-04-27 19:53 ` Yunlian Jiang
1 sibling, 1 reply; 7+ messages in thread
From: Dave Gordon @ 2015-04-27 18:48 UTC (permalink / raw)
To: Yunlian Jiang, intel-gfx
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@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: PATCH i-g-t Fix a clang compile error.
2015-04-27 18:48 ` Dave Gordon
@ 2015-04-27 19:53 ` Yunlian Jiang
0 siblings, 0 replies; 7+ messages in thread
From: Yunlian Jiang @ 2015-04-27 19:53 UTC (permalink / raw)
To: Dave Gordon; +Cc: Intel Graphics Development
[-- Attachment #1.1: Type: text/plain, Size: 2652 bytes --]
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@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@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> >
>
>
[-- Attachment #1.2: Type: text/html, Size: 4164 bytes --]
[-- Attachment #2: clang.patch --]
[-- Type: text/x-patch, Size: 1364 bytes --]
From d5c4476fdbe7e9bf538c6f85b3764c902089f8b1 Mon Sep 17 00:00:00 2001
From: Yunlian Jiang <yunlian@google.com>
Date: Mon, 27 Apr 2015 12:45:09 -0700
Subject: [PATCH] Remove struct per_thread_data to make it compile with clang.
The bug enty is https://code.google.com/p/chromium/issues/detail?id=476001
This patch makes clang happy.
Cc:Benjamin Widawsky <benjamin.widawsky at intel.com>
Cc:Thomas Wood <thomas.wood at intel.com>
Signed-off-by: Yunlian Jiang <yunlian at chromium.org>
---
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
[-- Attachment #3: Type: text/plain, Size: 159 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: PATCH i-g-t Fix a clang compile error.
2015-04-27 16:20 ` Yunlian Jiang
@ 2015-04-30 14:15 ` Dave Gordon
2015-05-01 22:03 ` Yunlian Jiang
0 siblings, 1 reply; 7+ messages in thread
From: Dave Gordon @ 2015-04-30 14:15 UTC (permalink / raw)
To: Yunlian Jiang, Thomas Wood; +Cc: Intel Graphics Development, Benjamin Widawsky
On 27/04/15 17:20, Yunlian Jiang wrote:
> Thomas,
> Thanks for the review. This time I put the patch in the attachment so
> it should be applied cleanly.
> I added Signed-off-by line too.
> Thanks
>
> From c2f6ecc1c8837abd87aa2da5510281a4833b2a27 Mon Sep 17 00:00:00 2001
> From: Yunlian Jiang <yunlian@chromium.com>
> Date: Mon, 27 Apr 2015 09:14:33 -0700
> Subject: [PATCH 3432/3432] Remove struct per_thread_data to make it compile
> with clang.
>
> The bug enty is https://code.google.com/p/chromium/issues/detail?id=476001
> This patch makes clang happy.
>
> Cc:Benjamin Widawsky <benjamin.widawsky at intel.com>
> Cc:Thomas Wood <thomas.wood at intel.com>
> Signed-off-by: Yunlian Jiang <yunlian at chromium.org>
> ---
> debugger/eudb.c | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/debugger/eudb.c b/debugger/eudb.c
> index 0e810db..21405ef 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 *)&data[i * dh.per_thread_scratc];
This line can't be right! AFAICS, you don't have anything called 'data'
in scope now (you deleted the declaration); also, there's an 'h' missing
right at the end, just before the closing ']' :(
Perhaps it should say:
+ eu = (struct eu_state *)&buf[i * dh.per_thread_scratch];
or even:
+ eu = (struct eu_state *)(buf + i*dh.per_thread_scratch);
.Dave.
> 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
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: PATCH i-g-t Fix a clang compile error.
2015-04-30 14:15 ` Dave Gordon
@ 2015-05-01 22:03 ` Yunlian Jiang
0 siblings, 0 replies; 7+ messages in thread
From: Yunlian Jiang @ 2015-05-01 22:03 UTC (permalink / raw)
To: Dave Gordon; +Cc: Intel Graphics Development, Thomas Wood, Benjamin Widawsky
[-- Attachment #1: Type: text/plain, Size: 2574 bytes --]
Hi Dave,
I have updated the patch to use
+ eu = (struct eu_state *)&buf[i * dh.per_thread_scratch];
and I think
+ eu = (struct eu_state *)(buf + i*dh.per_thread_scratch);
is better.
So I attach the patch in the attachment.
Thanks for reviewing.
On Thu, Apr 30, 2015 at 7:15 AM, Dave Gordon <david.s.gordon@intel.com> wrote:
> On 27/04/15 17:20, Yunlian Jiang wrote:
>> Thomas,
>> Thanks for the review. This time I put the patch in the attachment so
>> it should be applied cleanly.
>> I added Signed-off-by line too.
>> Thanks
>>
>> From c2f6ecc1c8837abd87aa2da5510281a4833b2a27 Mon Sep 17 00:00:00 2001
>> From: Yunlian Jiang <yunlian@chromium.com>
>> Date: Mon, 27 Apr 2015 09:14:33 -0700
>> Subject: [PATCH 3432/3432] Remove struct per_thread_data to make it compile
>> with clang.
>>
>> The bug enty is https://code.google.com/p/chromium/issues/detail?id=476001
>> This patch makes clang happy.
>>
>> Cc:Benjamin Widawsky <benjamin.widawsky at intel.com>
>> Cc:Thomas Wood <thomas.wood at intel.com>
>> Signed-off-by: Yunlian Jiang <yunlian at chromium.org>
>> ---
>> debugger/eudb.c | 6 +-----
>> 1 file changed, 1 insertion(+), 5 deletions(-)
>>
>> diff --git a/debugger/eudb.c b/debugger/eudb.c
>> index 0e810db..21405ef 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 *)&data[i * dh.per_thread_scratc];
>
> This line can't be right! AFAICS, you don't have anything called 'data'
> in scope now (you deleted the declaration); also, there's an 'h' missing
> right at the end, just before the closing ']' :(
>
> Perhaps it should say:
>
> + eu = (struct eu_state *)&buf[i * dh.per_thread_scratch];
>
> or even:
>
> + eu = (struct eu_state *)(buf + i*dh.per_thread_scratch);
>
> .Dave.
>
>> 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
>
>
>
[-- Attachment #2: clang.patch --]
[-- Type: text/x-patch, Size: 1377 bytes --]
From bdfb2390a1f819b091043bb30284b1b961fdb07a Mon Sep 17 00:00:00 2001
From: Yunlian Jiang <yunlian@google.com>
Date: Mon, 27 Apr 2015 12:45:09 -0700
Subject: [PATCH 3442/3442] Remove struct per_thread_data to make it compile
with clang.
The bug enty is https://code.google.com/p/chromium/issues/detail?id=476001
This patch makes clang happy.
Cc:Benjamin Widawsky <benjamin.widawsky at intel.com>
Cc:Thomas Wood <thomas.wood at intel.com>
Signed-off-by: Yunlian Jiang <yunlian at chromium.org>
---
debugger/eudb.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/debugger/eudb.c b/debugger/eudb.c
index 0e810db..39c5cca 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
[-- Attachment #3: Type: text/plain, Size: 159 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-05-01 22:03 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-23 16:54 PATCH i-g-t Fix a clang compile error Yunlian Jiang
2015-04-27 13:36 ` Thomas Wood
2015-04-27 16:20 ` Yunlian Jiang
2015-04-30 14:15 ` Dave Gordon
2015-05-01 22:03 ` Yunlian Jiang
2015-04-27 18:48 ` Dave Gordon
2015-04-27 19:53 ` Yunlian Jiang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox