The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* perf compilation fails on Ubuntu's gcc 4.3.3
@ 2010-08-21 21:07 Cyrill Gorcunov
  0 siblings, 0 replies; only message in thread
From: Cyrill Gorcunov @ 2010-08-21 21:07 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Frédéric Weisbecker, Ingo Molnar, Peter Zijlstra, LKML

Hi,

here is what I got today trying to compile perf on my
Ubuntu system

 >    CC util/ui/util.o
 > cc1: warnings being treated as errors
 > util/ui/util.c: In function ‘ui__dialog_yesno’:
 > util/ui/util.c:108: error: not protecting function: no buffer at least 8 bytes long
 > make: *** [util/ui/util.o] Error 1

An ugly hack like

diff --git a/tools/perf/util/ui/util.c b/tools/perf/util/ui/util.c
index 9706d9d..4ef6a86 100644
--- a/tools/perf/util/ui/util.c
+++ b/tools/perf/util/ui/util.c
@@ -107,6 +107,7 @@ out_destroy_form:
 bool ui__dialog_yesno(const char *msg)
 {
        /* newtWinChoice should really be accepting const char pointers... */
-       char yes[] = "Yes", no[] = "No";
-       return newtWinChoice(NULL, yes, no, (char *)msg) == 1;
+       const char *yes = "Yes";
+       const char *no = "No";
+       return newtWinChoice(NULL, (char *)yes, (char *)no, (char *)msg) == 1;
 }

did trick for me. But the issue origin is

EXTRA_WARNINGS := $(EXTRA_WARNINGS) -Wstack-protector

What is the best way to deal with it?

 | cyrill@lenovo perf $ gcc --version
 | gcc (Ubuntu 4.3.3-5ubuntu4) 4.3.3
 | Copyright (C) 2008 Free Software Foundation, Inc.
 | This is free software; see the source for copying conditions.  There is NO
 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

	-- Cyrill

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2010-08-21 21:07 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-21 21:07 perf compilation fails on Ubuntu's gcc 4.3.3 Cyrill Gorcunov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox