1From d11685286144c2e5630545e435d11387b2908fd0 Mon Sep 17 00:00:00 2001 2From: Christopher Larson <chris_larson@mentor.com> 3Date: Wed, 14 Nov 2012 07:55:09 -0700 4Subject: [PATCH] bash: fix mkbuiltins build failure 5 6On hosts with FORTIFY_SOURCES, stringize support is required, as it's used by 7the macros to wrap functions (e.g. read and open in unistd.h). Those wrappers 8use the STRING() macro from unistd.h. A header in the bash sources overrides 9the unistd.h macro to 'x' when HAVE_STRINGIZE is not defined, causing the 10wrappers to generate calls to 'xread' and 'xopen', which do not exist, 11resulting in a failure to link. 12 13Assume we have stringize support when cross-compiling, which works around the 14issue. 15 16It may be best for upstream to either give up on supporting compilers without 17stringize support, or to not define STRING() at all when FORTIFY_SOURCES is 18defined, letting the unistd.h one be used, instead. 19 20Upstream-Status: Pending 21--- 22 builtins/mkbuiltins.c | 1 + 23 1 file changed, 1 insertion(+) 24 25diff --git a/builtins/mkbuiltins.c b/builtins/mkbuiltins.c 26index f505ebd..b5b2eed 100644 27--- a/builtins/mkbuiltins.c 28+++ b/builtins/mkbuiltins.c 29@@ -28,6 +28,7 @@ 30 # define HAVE_STDLIB_H 31 32 # define HAVE_RENAME 33+# define HAVE_STRINGIZE 34 #endif /* CROSS_COMPILING */ 35 36 #if defined (HAVE_UNISTD_H) 37