Index: data/skeletons/yacc.c
--- data/skeletons/yacc.c.orig	2018-10-29 18:37:53.000000000 +0100
+++ data/skeletons/yacc.c	2018-10-30 08:12:59.695888000 +0100
@@ -1636,7 +1636,10 @@
      users should not rely upon it.  Assigning to YYVAL
      unconditionally makes the parser a bit smaller, and it avoids a
      GCC warning that YYVAL may be used uninitialized.  */
+if (yylen)
   yyval = yyvsp[1-yylen];
+else
+  memset(&yyval, 0, sizeof(yyval));
 
 ]b4_locations_if(
 [[  /* Default location. */
Index: lib/spawn.in.h
--- lib/spawn.in.h.orig	2018-09-20 06:51:32.000000000 +0200
+++ lib/spawn.in.h	2018-10-30 08:12:59.696106000 +0100
@@ -128,6 +128,7 @@
 #  define POSIX_SPAWN_SETSCHEDULER 0
 # endif
 #else
+#if !@HAVE_POSIX_SPAWN@ || defined(__APPLE__)
 # if @REPLACE_POSIX_SPAWN@
 /* Use the values from the system, for better compatibility.  */
 /* But this implementation does not support AIX extensions.  */
@@ -141,6 +142,7 @@
 #  define POSIX_SPAWN_SETSCHEDULER       0x20
 # endif
 #endif
+#endif
 /* A GNU extension.  Use the next free bit position.  */
 #ifndef POSIX_SPAWN_USEVFORK
 # define POSIX_SPAWN_USEVFORK \
