summaryrefslogtreecommitdiff
path: root/shells
diff options
context:
space:
mode:
authorJohn Marino <marino@FreeBSD.org>2015-04-26 14:29:35 +0000
committerJohn Marino <marino@FreeBSD.org>2015-04-26 14:29:35 +0000
commit714490a12231940d997c022c18361125aa91b626 (patch)
tree9354896849208994f9a71c789107dbc77dc95dad /shells
parentUpdate to 7.0.5 release. (diff)
shells/zsh: Fix runtime error when built by gcc-5 with upstream patch
ZSH was misbuilt on gcc-5 due to an intentional change in behavior of gcc5's cpp. This patch to execute cpp with the -P switch comes from upstream. No revbump necessary as GCC5 isn't used by default on FreeBSD. Reported by: DragonFly ZSH users Approved by: maintainer (bapt, IRC)
Notes
Notes: svn path=/head/; revision=384799
Diffstat (limited to 'shells')
-rw-r--r--shells/zsh/files/patch-Src_zsh.mdd22
1 files changed, 22 insertions, 0 deletions
diff --git a/shells/zsh/files/patch-Src_zsh.mdd b/shells/zsh/files/patch-Src_zsh.mdd
new file mode 100644
index 000000000000..e8de489eb6ea
--- /dev/null
+++ b/shells/zsh/files/patch-Src_zsh.mdd
@@ -0,0 +1,22 @@
+--- Src/zsh.mdd.orig 2014-09-20 19:01:46 UTC
++++ Src/zsh.mdd
+@@ -21,9 +21,18 @@ hdrdeps="zshcurses.h zshterm.h"
+ :<<\Make
+ @CONFIG_MK@
+
++# If we're using gcc as the preprocessor, get rid of the additional
++# lines generated by the preprocessor as they can confuse the script.
++# We don't need these in other cases either, but can't necessarily rely
++# on the option to remove them being the same.
+ signames.c: signames1.awk signames2.awk ../config.h @SIGNAL_H@
+ $(AWK) -f $(sdir)/signames1.awk @SIGNAL_H@ >sigtmp.c
+- $(CPP) sigtmp.c >sigtmp.out
++ case "$(CPP)" in \
++ gcc*) \
++ $(CPP) -P sigtmp.c >sigtmp.out;; \
++ *) \
++ $(CPP) sigtmp.c >sigtmp.out;; \
++ esac
+ $(AWK) -f $(sdir)/signames2.awk sigtmp.out > $@
+ rm -f sigtmp.c sigtmp.out
+