behoffski wrote:
In file included from mbsstr.c:32:0:
str-kmp.h: In function 'knuth_morris_pratt':
str-kmp.h:35:1: error: stack protector not protecting local
variables: variable length buffer [-Werror=stack-protector]
knuth_morris_pratt (const UNIT *haystack,
^
These warnings don't indicate any bugs in the code; they're merely about
incomplete run-time checking in the underlying implementation. I was
particularly amused by a refusal to compile a function on the grounds
that its code doesn't use the stack!
So let's just disable the warnings. I pushed the attached patch.
Valgrind and -fsanitize=address are incompatible
Thanks, I didn't know that. Too bad, but understandable. Neither tool
dominates the other, so I guess we'll have to use them separately.
From 8ade09bf8173b39e42ef3dcbcf75721809541d69 Mon Sep 17 00:00:00 2001
From: Paul Eggert <[email protected]>
Date: Tue, 17 Jun 2014 12:09:16 -0700
Subject: [PATCH] build: avoid -Wstack-protector
This allows the use of --enable-gcc-warnings on Gentoo and Ubuntu.
See: http://bugs.gnu.org/17793
* configure.ac (WERROR_CFLAGS): Avoid -Wstack-protector.
This can be worked around, but the cure is worse than the disease.
---
configure.ac | 1 +
1 file changed, 1 insertion(+)
diff --git a/configure.ac b/configure.ac
index 7ac2937..3315855 100644
--- a/configure.ac
+++ b/configure.ac
@@ -117,6 +117,7 @@ if test "$gl_gcc_warnings" = yes; then
nw="$nw -Wsystem-headers" # Don't let system headers trigger warnings
nw="$nw -Wpadded" # Our structs are not padded
nw="$nw -Wvla" # warnings in gettext.h
+ nw="$nw -Wstack-protector" # generates false alarms for useful code
nw="$nw -Wswitch-default" # Too many warnings for now
nw="$nw -Wunsafe-loop-optimizations" # OK to suppress unsafe optimizations
nw="$nw -Winline" # streq.h's streq4, streq6 and strcaseeq6
--
1.9.3