sh (1): Remove -Werror conditionally due to seven clobber candidates
authorJohn Marino <draco@marino.st>
Tue, 10 Feb 2015 10:29:03 +0000 (11:29 +0100)
committerJohn Marino <draco@marino.st>
Tue, 10 Feb 2015 10:29:03 +0000 (11:29 +0100)
GCC 5.0 is screaming about sh potentially getting clobbered by longjmp.
I don't know how to fix this and the WARNS system doesn't cover
-Wclobbered so I'm turning -Werror off forcibly until somebody else can
fix it.  The error messages are:

/usr/src/bin/sh/eval.c: In function 'exphere':
/usr/src/bin/sh/eval.c:496:6: warning: variable 'need_longjmp' might be
  clobbered by 'longjmp' or 'vfork' [-Wclobbered]
/usr/src/bin/sh/eval.c: In function 'evalcommand':
/usr/src/bin/sh/eval.c:794:6: warning: variable 'mode' might be clobbered
  by 'lngjmp' or 'vfork' [-Wclobbered]
/usr/src/bin/sh/eval.c:799:17: warning: variable 'savehandler' might be
  clobberd by 'longjmp' or 'vfork' [-Wclobbered]
/usr/src/bin/sh/histedit.c: In function 'histcmd':
/usr/src/bin/sh/histedit.c:192:8: error: variable 'pat' might be
  clobbered by 'longjmp' or 'vfork' [-Werror=clobbered]
/usr/src/bin/sh/histedit.c:198:8: error: variable 'efp' might be
  clobbered by 'longjmp' or 'vfork' [-Werror=clobbered]
/usr/src/bin/sh/parser.c: In function 'parsebackq':
/usr/src/bin/sh/parser.c:982:6: warning: variable 'saveprompt' might be
  clobbered by 'longjmp' or 'vfork' [-Wclobbered]
/usr/src/bin/sh/parser.c:973:18: warning: argument 'out' might be
  clobbered by longjmp' or 'vfork' [-Wclobbered]

bin/sh/Makefile

index 86bbd25..597039d 100644 (file)
@@ -13,6 +13,7 @@ GENHDRS= builtins.h nodes.h syntax.h token.h
 SRCS= ${SHSRCS} ${GENSRCS} ${GENHDRS}
 
 WARNS?= 3
+NO_WERROR=     yes # [-Werror=clobbered] on gcc50
 
 # MLINKS for Shell built in commands for which there are no userland
 # utilities of the same name are handled with the associated manpage,