perf compilation fails on Ubuntu's gcc 4.3.3

From: Cyrill Gorcunov
Date: Sat Aug 21 2010 - 17:07:39 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/