From 1fe7d2bb24d7db6175e0b0a31d8fe03dc6ffb16e Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Tue, 6 Feb 2018 22:41:17 -0800 Subject: kbuild: Improve portability of some sed invocations * Use BREs where EREs aren't necessary. * Pass -E instead of -r to use EREs. This will be standardized in the next POSIX revision[0]. GNU sed supports this since 4.2 (May 2009), and busybox since 1.22.0 (Jan 2014). * Use the [:space:] character class instead of ` \t` in bracket expressions. In bracket expressions, POSIX says that loses its special meaning, so a conforming implementation cannot expand \t to [1]. * In BREs, use interval expressions (\{n,m\}) instead of non-standard features like \+ and \?. * Use a loop instead of -s flag. There are still plenty of other cases of non-standard sed invocations (use of ERE features in BREs, in-place editing), but this fixes some core ones. [0] http://austingroupbugs.net/view.php?id=528 [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_03_05 Signed-off-by: Michael Forney Signed-off-by: Masahiro Yamada --- scripts/adjust_autoksyms.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'scripts/adjust_autoksyms.sh') diff --git a/scripts/adjust_autoksyms.sh b/scripts/adjust_autoksyms.sh index 513da1a4a2da..a162258ab606 100755 --- a/scripts/adjust_autoksyms.sh +++ b/scripts/adjust_autoksyms.sh @@ -60,7 +60,9 @@ cat > "$new_ksyms_file" << EOT EOT [ "$(ls -A "$MODVERDIR")" ] && -sed -ns -e '3{s/ /\n/g;/^$/!p;}' "$MODVERDIR"/*.mod | sort -u | +for mod in "$MODVERDIR"/*.mod; do + sed -n -e '3{s/ /\n/g;/^$/!p;}' "$mod" +done | sort -u | while read sym; do if [ -n "$CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX" ]; then sym="${sym#_}" -- cgit v1.2.3-59-g8ed1b