blob: 2f7b7a2c1ba10ad10dc09de7bcd69a182ee01178 [file] [log] [blame]
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