vapier      15/05/28 22:52:28

  Added:                intel-gpu-tools-1.10-clang.patch
  Log:
  Add fix from upstream for building w/clang.
  
  (Portage version: 2.2.20/cvs/Linux x86_64, signed Manifest commit with key 
D2E96200)

Revision  Changes    Path
1.1                  
x11-apps/intel-gpu-tools/files/intel-gpu-tools-1.10-clang.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-apps/intel-gpu-tools/files/intel-gpu-tools-1.10-clang.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-apps/intel-gpu-tools/files/intel-gpu-tools-1.10-clang.patch?rev=1.1&content-type=text/plain

Index: intel-gpu-tools-1.10-clang.patch
===================================================================
fix from upstream for building w/clang

>From 95019c2a3c4ed5943ad16e17c8dcf36fd6492adc Mon Sep 17 00:00:00 2001
From: Yunlian Jiang <[email protected]>
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 <[email protected]>
Cc: Thomas Wood <[email protected]>
Signed-off-by: Yunlian Jiang <[email protected]>
Signed-off-by: Thomas Wood <[email protected]>
---
 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





Reply via email to