OSDN Git Service

* mklibgcc.in: Use a here document to avoid running afoul of
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 7 Apr 2003 05:34:50 +0000 (05:34 +0000)
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 7 Apr 2003 05:34:50 +0000 (05:34 +0000)
shells that generate control-A from "echo \1".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65321 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/mklibgcc.in

index ca20918..0b7d329 100644 (file)
@@ -1,3 +1,8 @@
+2003-04-06  Zack Weinberg  <zack@codesourcery.com>
+
+       * mklibgcc.in: Use a here document to avoid running afoul of
+       shells that generate control-A from "echo \1".
+
 2003-04-06  Aldy Hernandez  <aldyh@redhat.com>
 
         * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mspe
index 3a492da..1abb3a0 100644 (file)
@@ -311,13 +311,20 @@ for ml in $MULTILIBS; do
   if [ "$SHLIB_LINK" -a "$SHLIB_MKMAP" ]; then
     mapfile="libgcc/${dir}/libgcc.map"
     tmpmapfile="libgcc/${dir}/tmp-libgcc.map"
-    echo ""
-    echo "${mapfile}: $SHLIB_MKMAP $SHLIB_MAPFILES $libgcc_sh_objs"
-    echo '     { $(NM_FOR_TARGET)'" $SHLIB_NM_FLAGS $libgcc_sh_objs; echo %%; \\"
-    echo "       cat $SHLIB_MAPFILES | sed -e "'"/^[   ]*#/d" -e '\''s/^%\(if\|else\|elif\|endif\|define\)/#\1/'\'" \\"
-    echo "       | $gcc_compile $flags -E -xassembler-with-cpp -; \\"
-    echo '     } | $(AWK)'" -f $SHLIB_MKMAP $SHLIB_MKMAP_OPTS > ${tmpmapfile}"
-    echo '     mv '"$tmpmapfile"' $@'
+    # This uses a here document instead of echos because some shells
+    # will convert the \1 in the second sed command to a control-A.
+    # The behavior of here documents is more predictable.
+    cat <<EOF
+
+${mapfile}: $SHLIB_MKMAP $SHLIB_MAPFILES $libgcc_sh_objs
+       { \$(NM_FOR_TARGET) $SHLIB_NM_FLAGS $libgcc_sh_objs; echo %%; \\
+         cat $SHLIB_MAPFILES \\
+           | sed -e '/^[   ]*#/d' \\
+                 -e 's/^%\(if\|else\|elif\|endif\|define\)/#\1/' \\
+           | $gcc_compile $flags -E -xassembler-with-cpp -; \\
+       } | \$(AWK) -f $SHLIB_MKMAP $SHLIB_MKMAP_OPTS > ${tmpmapfile}
+       mv '$tmpmapfile' \$@
+EOF
   fi
   shlib_deps="$shlib_deps $mapfile"