| fix from upstream for building w/clang |
| |
| From 95019c2a3c4ed5943ad16e17c8dcf36fd6492adc Mon Sep 17 00:00:00 2001 |
| From: Yunlian Jiang <yunlian@google.com> |
| Date: Tue, 26 May 2015 10:22:31 -0700 |
| Subject: [PATCH] debugger: remove unnecessary struct per_thread_data |
| |
| This removes unnecessary 'struct per_thread_data' and avoids the |
| compilation error 'variable length array in structure extension |
| will never be supported' by clang. The bug entry is |
| https://code.google.com/p/chromium/issues/detail?id=476001 |
| |
| Cc: Benjamin Widawsky <benjamin.widawsky@intel.com> |
| Cc: Thomas Wood <thomas.wood@intel.com> |
| Signed-off-by: Yunlian Jiang <yunlian@google.com> |
| Signed-off-by: Thomas Wood <thomas.wood@intel.com> |
| --- |
| 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.4.1 |
| |