Fix non-portable echo usage in sysdeps/unix/make-syscalls.sh
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 14 May 2015 17:59:23 +0000 (14:59 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 14 May 2015 19:38:46 +0000 (16:38 -0300)
This patch changes the way make-syscall-sh script uses echo to follow
POSIX spec.

ChangeLog
sysdeps/unix/make-syscalls.sh

index e89c14e..3f3a5b1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-05-14  Jakub Bogusz  <qboosh@pld-linux.org>
+           Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+       * sysdeps/unix/make-syscalls.sh: Remove non-portable echo usage.
+
 2015-05-14  Andrew Senkevich  <andrew.senkevich@intel.com>
 
        * Makeconfig (rpath-dirs, all-subdirs): Added mathvec folder.
index 910a22c..12f664e 100644 (file)
@@ -272,28 +272,33 @@ while read file srcfile caller syscall args strong weak; do
     vdso_symbol="${vdso_syscall%@*}"
     vdso_symver="${vdso_syscall#*@}"
     vdso_symver=`echo "$vdso_symver" | sed 's/\./_/g'`
-    echo "\
+    cat <<EOF
+
 \$(foreach p,\$(sysd-rules-targets),\$(objpfx)\$(patsubst %,\$p,$file).os): \\
                \$(..)sysdeps/unix/make-syscalls.sh
        \$(make-target-directory)
        (echo '#include <dl-vdso.h>'; \\
-        echo 'extern void *${strong}_ifunc (void) __asm (\"${strong}\");'; \\
+        echo 'extern void *${strong}_ifunc (void) __asm ("${strong}");'; \\
         echo 'void *'; \\
         echo '${strong}_ifunc (void)'; \\
         echo '{'; \\
         echo '  PREPARE_VERSION_KNOWN (symver, ${vdso_symver});'; \\
-        echo '  return _dl_vdso_vsym (\"${vdso_symbol}\", &symver);'; \\
+        echo '  return _dl_vdso_vsym ("${vdso_symbol}", &symver);'; \\
         echo '}'; \\
-        echo 'asm (\".type ${strong}, %gnu_indirect_function\");'; \\"
+        echo 'asm (".type ${strong}, %gnu_indirect_function");'; \\
+EOF
     # This is doing "libc_hidden_def (${strong})", but the compiler
     # doesn't know that we've defined ${strong} in the same file, so
     # we can't do it the normal way.
-    echo "\
-        echo 'asm (\".globl __GI_${strong}\\n\"'; \\
-        echo '     \"__GI_${strong} = ${strong}\");'; \\"
+    cat <<EOF
+        echo 'asm (".globl __GI_${strong}");'; \\
+        echo 'asm ("__GI_${strong} = ${strong}");'; \\
+EOF
     emit_weak_aliases
-    echo '     ) | $(compile-stdin.c) '"\
-\$(foreach p,\$(patsubst %$file,%,\$(basename \$(@F))),\$(\$(p)CPPFLAGS))"
+    cat <<EOF
+       ) | \$(compile-stdin.c) \
+\$(foreach p,\$(patsubst %$file,%,\$(basename \$(@F))),\$(\$(p)CPPFLAGS))
+EOF
   fi
 
   if test $shared_only = t; then