xref: /openbmc/openbmc/poky/meta/recipes-extended/bash/bash/mkbuiltins_have_stringize.patch (revision 8460358c3d24c71d9d38fd126c745854a6301564)
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