[packages/glibc/portable-echo] - try to replace with portable syntax instead of working around unportable with another unportable
qboosh
qboosh at pld-linux.org
Fri Jan 9 16:56:52 CET 2015
commit 7676e59d1fb26b0f177f56419b6ce314c7c2af6f
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Fri Jan 9 16:58:02 2015 +0100
- try to replace with portable syntax instead of working around unportable with another unportable
(verified to be accepted by compiler/assembler, no environment to perform complete build)
fix-broken-echo.patch | 52 ++++++++++++++++++++++++++-------------------------
1 file changed, 27 insertions(+), 25 deletions(-)
---
diff --git a/fix-broken-echo.patch b/fix-broken-echo.patch
index a29761c..fe0f3f4 100644
--- a/fix-broken-echo.patch
+++ b/fix-broken-echo.patch
@@ -1,44 +1,46 @@
---- glibc-2.20/sysdeps/unix/make-syscalls.sh.orig 2014-12-20 14:00:04.210261443 +0100
-+++ glibc-2.20/sysdeps/unix/make-syscalls.sh 2014-12-20 14:01:10.059904705 +0100
-@@ -276,27 +276,27 @@
+--- glibc-2.20/sysdeps/unix/make-syscalls.sh.orig 2014-09-07 10:09:09.000000000 +0200
++++ glibc-2.20/sysdeps/unix/make-syscalls.sh 2014-12-21 17:54:48.973388216 +0100
+@@ -276,28 +276,33 @@
vdso_symbol="${vdso_syscall%@*}"
vdso_symver="${vdso_syscall#*@}"
vdso_symver=`echo "$vdso_symver" | sed 's/\./_/g'`
- echo "\
-+ echo -E "\
++ cat <<EOF
++
\$(foreach p,\$(sysd-rules-targets),\$(objpfx)\$(patsubst %,\$p,$file).os): \\
- \$(..)sysdeps/unix/make-syscalls.sh\
+- \$(..)sysdeps/unix/make-syscalls.sh\
++ \$(..)sysdeps/unix/make-syscalls.sh
\$(make-target-directory)
-- (echo '#include <dl-vdso.h>'; \\
+ (echo '#include <dl-vdso.h>'; \\
- echo 'extern void *${strong}_ifunc (void) __asm (\"${strong}\");'; \\
-- echo 'void *'; \\
-- echo '${strong}_ifunc (void)'; \\
-- echo '{'; \\
-- echo ' PREPARE_VERSION_KNOWN (symver, ${vdso_symver});'; \\
++ 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 '}'; \\
++ echo ' return _dl_vdso_vsym ("${vdso_symbol}", &symver);'; \\
+ echo '}'; \\
- echo 'asm (\".type ${strong}, %gnu_indirect_function\");'; \\"
-+ (echo -E '#include <dl-vdso.h>'; \\
-+ echo -E 'extern void *${strong}_ifunc (void) __asm (\"${strong}\");'; \\
-+ echo -E 'void *'; \\
-+ echo -E '${strong}_ifunc (void)'; \\
-+ echo -E '{'; \\
-+ echo -E ' PREPARE_VERSION_KNOWN (symver, ${vdso_symver});'; \\
-+ echo -E ' return _dl_vdso_vsym (\"${vdso_symbol}\", &symver);'; \\
-+ echo -E '}'; \\
-+ echo -E '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}\");'; \\"
-+ echo -E "\
-+ echo -E 'asm (\".globl __GI_${strong}\\n\"'; \\
-+ echo -E ' \"__GI_${strong} = ${strong}\");'; \\"
++ cat <<EOF
++ echo 'asm (".globl __GI_${strong}");'; \\
++ echo 'asm ("__GI_${strong} = ${strong}");'; \\
++EOF
emit_weak_aliases
- echo ' ) | $(compile-stdin.c) '"\
-+ echo -E ' ) | $(compile-stdin.c) '"\
- \$(foreach p,\$(patsubst %$file,%,\$(basename \$(@F))),\$(\$(p)CPPFLAGS))"
+-\$(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
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/glibc.git/commitdiff/7676e59d1fb26b0f177f56419b6ce314c7c2af6f
More information about the pld-cvs-commit
mailing list