vanhofen
4 years ago
21 changed files with 304 additions and 65 deletions
@ -0,0 +1,49 @@ |
|||||
|
From https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash55-018 |
||||
|
|
||||
|
Signed-off-by: Peter Korsgaard <peter@korsgaard.com> |
||||
|
|
||||
|
BASH PATCH REPORT |
||||
|
================= |
||||
|
|
||||
|
Bash-Release: 5.0 |
||||
|
Patch-ID: bash50-018 |
||||
|
|
||||
|
Bug-Reported-by: oguzismailuysal@gmail.com |
||||
|
Bug-Reference-ID: |
||||
|
Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-10/msg00098.html |
||||
|
|
||||
|
Bug-Description: |
||||
|
|
||||
|
In certain cases, bash does not perform quoted null removal on patterns |
||||
|
that are used as part of word expansions such as ${parameter##pattern}, so |
||||
|
empty patterns are treated as non-empty. |
||||
|
|
||||
|
Patch (apply with `patch -p0'): |
||||
|
|
||||
|
*** bash-5.0.17/subst.c 2020-04-02 17:14:58.000000000 -0400 |
||||
|
--- b/subst.c 2020-07-09 15:28:19.000000000 -0400
|
||||
|
*************** |
||||
|
*** 5113,5116 **** |
||||
|
--- b/5113,5118 ----
|
||||
|
(int *)NULL, (int *)NULL) |
||||
|
: (WORD_LIST *)0; |
||||
|
+ if (l)
|
||||
|
+ word_list_remove_quoted_nulls (l);
|
||||
|
pat = string_list (l); |
||||
|
dispose_words (l); |
||||
|
|
||||
|
*** bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 |
||||
|
--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
|
||||
|
*************** |
||||
|
*** 26,30 **** |
||||
|
looks for to find the patch level (for the sccs version string). */ |
||||
|
|
||||
|
! #define PATCHLEVEL 17
|
||||
|
|
||||
|
#endif /* _PATCHLEVEL_H_ */ |
||||
|
--- b/26,30 ----
|
||||
|
looks for to find the patch level (for the sccs version string). */ |
||||
|
|
||||
|
! #define PATCHLEVEL 18
|
||||
|
|
||||
|
#endif /* _PATCHLEVEL_H_ */ |
@ -0,0 +1,38 @@ |
|||||
|
From 4fa85c85b9a76afd3b19ed75bf17ccd2940f1f55 Mon Sep 17 00:00:00 2001 |
||||
|
From: Fabrice Fontaine <fontaine.fabrice@gmail.com> |
||||
|
Date: Sun, 16 Feb 2020 16:18:48 +0100 |
||||
|
Subject: [PATCH] input.h: add missing include on stdio.h |
||||
|
|
||||
|
This will fix the following build failure on uclibc: |
||||
|
|
||||
|
test -n "/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-2/output/host/bin/arm-linux-ranlib" && /usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-2/output/host/bin/arm-linux-ranlib libsh.a |
||||
|
In file included from ./exec.def:71: |
||||
|
../input.h:76:3: error: unknown type name 'FILE' |
||||
|
FILE *file; |
||||
|
^~~~ |
||||
|
|
||||
|
Fixes: |
||||
|
- http://autobuild.buildroot.org/results/bfca306868df54c567215c45c8cdac838d02f567 |
||||
|
|
||||
|
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> |
||||
|
[Upstream status: https://savannah.gnu.org/support/?110196] |
||||
|
---
|
||||
|
input.h | 2 ++ |
||||
|
1 file changed, 2 insertions(+) |
||||
|
|
||||
|
diff --git a/input.h b/input.h
|
||||
|
index 6aef1269..08b0fdea 100644
|
||||
|
--- a/input.h
|
||||
|
+++ b/input.h
|
||||
|
@@ -21,6 +21,8 @@
|
||||
|
#if !defined (_INPUT_H_) |
||||
|
#define _INPUT_H_ |
||||
|
|
||||
|
+#include <stdio.h>
|
||||
|
+
|
||||
|
#include "stdc.h" |
||||
|
|
||||
|
/* Function pointers can be declared as (Function *)foo. */ |
||||
|
--
|
||||
|
2.24.1 |
||||
|
|
@ -0,0 +1,84 @@ |
|||||
|
From 73ca494c60d46103f806325e6ccbe9e400238008 Mon Sep 17 00:00:00 2001 |
||||
|
From: Fabrice Fontaine <fontaine.fabrice@gmail.com> |
||||
|
Date: Sun, 23 Feb 2020 11:41:09 +0100 |
||||
|
Subject: [PATCH] locale.c: fix build without wchar |
||||
|
|
||||
|
bash unconditionally builds locale.c which depends on mblen since |
||||
|
version 5.0 and |
||||
|
https://github.com/bminor/bash/commit/d233b485e83c3a784b803fb894280773f16f2deb |
||||
|
|
||||
|
This results in the following build failure if wchar is not available: |
||||
|
|
||||
|
/home/buildroot/autobuild/run/instance-0/output-1/host/bin/microblazeel-buildroot-linux-uclibc-gcc -L./builtins -L/home/buildroot/autobuild/run/instance-0/output-1/host/microblazeel-buildroot-linux-uclibc/sysroot/lib -L/home/buildroot/autobuild/run/instance-0/output-1/host/microblazeel-buildroot-linux-uclibc/sysroot/lib -L./lib/glob -L./lib/tilde -L./lib/sh -rdynamic -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -Wno-parentheses -Wno-format-security -o bash shell.o eval.o y.tab.o general.o make_cmd.o print_cmd.o dispose_cmd.o execute_cmd.o variables.o copy_cmd.o error.o expr.o flags.o jobs.o subst.o hashcmd.o hashlib.o mailcheck.o trap.o input.o unwind_prot.o pathexp.o sig.o test.o version.o alias.o array.o arrayfunc.o assoc.o braces.o bracecomp.o bashhist.o bashline.o list.o stringlib.o locale.o findcmd.o redir.o pcomplete.o pcomplib.o syntax.o xmalloc.o signames.o -lbuiltins -lglob -lsh -lreadline -lhistory -lcurses -ltilde -ldl |
||||
|
/home/buildroot/autobuild/run/instance-0/output-1/host/lib/gcc/microblazeel-buildroot-linux-uclibc/8.3.0/../../../../microblazeel-buildroot-linux-uclibc/bin/ld: locale.o: in function `set_default_locale': |
||||
|
(.text+0x260): undefined reference to `mblen' |
||||
|
|
||||
|
To fix this issue, don't use mblen if HANDLE_MULTIBYTE is not defined, |
||||
|
an other possibility would be to use MBLEN wrapper defined in shmbutil.h |
||||
|
|
||||
|
Fixes: |
||||
|
- http://autobuild.buildroot.org/results/298fb9c785e137bff432dd304eb56986e54ce3ed |
||||
|
|
||||
|
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> |
||||
|
[Upstream status: https://savannah.gnu.org/support/index.php?110200] |
||||
|
---
|
||||
|
locale.c | 10 ++++++++++ |
||||
|
1 file changed, 10 insertions(+) |
||||
|
|
||||
|
diff --git a/locale.c b/locale.c
|
||||
|
index d62547f6..a64c5b4b 100644
|
||||
|
--- a/locale.c
|
||||
|
+++ b/locale.c
|
||||
|
@@ -86,7 +86,9 @@ set_default_locale ()
|
||||
|
|
||||
|
locale_mb_cur_max = MB_CUR_MAX; |
||||
|
locale_utf8locale = locale_isutf8 (default_locale); |
||||
|
+#if defined (HANDLE_MULTIBYTE)
|
||||
|
locale_shiftstates = mblen ((char *)NULL, 0); |
||||
|
+#endif
|
||||
|
} |
||||
|
|
||||
|
/* Set default values for LC_CTYPE, LC_COLLATE, LC_MESSAGES, LC_NUMERIC and |
||||
|
@@ -107,7 +109,9 @@ set_default_locale_vars ()
|
||||
|
locale_setblanks (); |
||||
|
locale_mb_cur_max = MB_CUR_MAX; |
||||
|
locale_utf8locale = locale_isutf8 (lc_all); |
||||
|
+# if defined (HANDLE_MULTIBYTE)
|
||||
|
locale_shiftstates = mblen ((char *)NULL, 0); |
||||
|
+# endif
|
||||
|
u32reset (); |
||||
|
} |
||||
|
# endif |
||||
|
@@ -211,7 +215,9 @@ set_locale_var (var, value)
|
||||
|
/* if LC_ALL == "", reset_locale_vars has already called this */ |
||||
|
if (*lc_all && x) |
||||
|
locale_utf8locale = locale_isutf8 (lc_all); |
||||
|
+# if defined (HANDLE_MULTIBYTE)
|
||||
|
locale_shiftstates = mblen ((char *)NULL, 0); |
||||
|
+# endif
|
||||
|
u32reset (); |
||||
|
return r; |
||||
|
#else |
||||
|
@@ -231,7 +237,9 @@ set_locale_var (var, value)
|
||||
|
/* if setlocale() returns NULL, the locale is not changed */ |
||||
|
if (x) |
||||
|
locale_utf8locale = locale_isutf8 (x); |
||||
|
+# if defined (HANDLE_MULTIBYTE)
|
||||
|
locale_shiftstates = mblen ((char *)NULL, 0); |
||||
|
+# endif
|
||||
|
u32reset (); |
||||
|
} |
||||
|
# endif |
||||
|
@@ -368,7 +376,9 @@ reset_locale_vars ()
|
||||
|
locale_mb_cur_max = MB_CUR_MAX; |
||||
|
if (x) |
||||
|
locale_utf8locale = locale_isutf8 (x); |
||||
|
+# if defined (HANDLE_MULTIBYTE)
|
||||
|
locale_shiftstates = mblen ((char *)NULL, 0); |
||||
|
+# endif
|
||||
|
u32reset (); |
||||
|
#endif |
||||
|
return 1; |
||||
|
--
|
||||
|
2.25.0 |
||||
|
|
Loading…
Reference in new issue