Fix the following build failure generated with command 
$ make CC=clang HOSTCC=clang -C tools/ perf:

util/intel-pt.c:1802:24: error: field 'br_stack' with variable sized type 
'struct branch_stack' not at the end of a struct or class is a GNU extension 
[-Werror,-Wgnu-variable-sized-type-not-at-end]
                        struct branch_stack br_stack;
                                            ^
1 error generated.

Fix this by reordering the members of struct br.

Clang version 11.0.0 was used.

Fixes: f283f293a60d ("perf tools: Replace zero-length array with 
flexible-array")
Reported-by: Ian Rogers <[email protected]>
Signed-off-by: Gustavo A. R. Silva <[email protected]>
---
Here to fix what I break. :)

 tools/perf/util/intel-pt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/util/intel-pt.c b/tools/perf/util/intel-pt.c
index f17b1e769ae4..b34179e3926f 100644
--- a/tools/perf/util/intel-pt.c
+++ b/tools/perf/util/intel-pt.c
@@ -1799,8 +1799,8 @@ static int intel_pt_synth_pebs_sample(struct 
intel_pt_queue *ptq)
 
        if (sample_type & PERF_SAMPLE_BRANCH_STACK) {
                struct {
-                       struct branch_stack br_stack;
                        struct branch_entry entries[LBRS_MAX];
+                       struct branch_stack br_stack;
                } br;
 
                if (items->mask[INTEL_PT_LBR_0_POS] ||
-- 
2.26.2

Reply via email to