Messages in this thread Patch in this message | | | Date | Tue, 19 Oct 2010 03:06:41 +0300 | Subject | Re: [PATCH] [PERF] (Userspace Tools) Fix a compilation error with -fstack-protector and -Werror | From | Brian Gitonga Marete <> |
| |
On Tue, Oct 19, 2010 at 2:38 AM, Frederic Weisbecker <fweisbec@gmail.com> wrote: > On Tue, Oct 19, 2010 at 02:24:00AM +0300, Brian Gitonga Marete wrote: >> The following patch fixes compilation of the perf user-space tools on, >> for example, gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4) . It should not >> break anything else. > > > > Hi, > > What kind of warning have you encountered and why it fixes it? > Can you describe that in your changelog? >
Hello Frederic,
Some versions of gcc, e.g. gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4), have the (default) minimum size of buffers protected by `-fstack-protector' set to 8. But in perf, there exist much smaller automatic buffers.
This in combination with the -fstack-protector-all, -Werror and -Wstack-protector causes the compile to fail for such a compiler.
The error encountered with the above-mentioned compiler is:
gcc -o util/ui/util.o -c -ggdb3 -Wall -Wextra -std=gnu99 -Werror -O6 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Wformat-y2k -Wshadow -Winit-self -Wpacked -Wredundant-decls -Wstack-protector -Wstrict-aliasing=3 -Wswitch-default -Wswitch-enum -Wno-system-headers -Wundef -Wvolatile-register-var -Wwrite-strings -Wbad-function-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wstrict-prototypes -Wdeclaration-after-statement -fstack-protector-all -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Iutil/include -Iarch/x86/include -DLIBELF_NO_MMAP -I/usr/include/elfutils -DDWARF_SUPPORT -I/usr/include/slang -DSHA1_HEADER='<openssl/sha.h>' util/ui/util.c cc1: warnings being treated as errors util/ui/util.c: In function ‘ui__dialog_yesno’: util/ui/util.c:110: error: not protecting function: no buffer at least 8 bytes long
Signed-off-by: Brian Gitonga Marete <marete@toshnix.com> --- tools/perf/Makefile | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/tools/perf/Makefile b/tools/perf/Makefile index 1950e19..64eb2ea 100644 --- a/tools/perf/Makefile +++ b/tools/perf/Makefile @@ -288,7 +288,7 @@ endif -include feature-tests.mak
ifeq ($(call try-cc,$(SOURCE_HELLO),-Werror -fstack-protector-all),y) - CFLAGS := $(CFLAGS) -fstack-protector-all + CFLAGS := $(CFLAGS) -fstack-protector-all --param ssp-buffer-size=1 endif
-- 1.6.0.4
-- Brian Gitonga Marete Toshnix Systems Tel: +254722151590 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |