diff options
author | Zack Weinberg <zack@codesourcery.com> | 2003-04-07 05:34:50 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2003-04-07 05:34:50 +0000 |
commit | 48a793425564864709adb3f51c7d503a865610c5 (patch) | |
tree | 0361b2af41a7132d6b83861c4332b0bf13b04977 /gcc/mklibgcc.in | |
parent | d2a6f3c03ee1da2110de65370db171f1548d6d66 (diff) | |
download | gcc-48a793425564864709adb3f51c7d503a865610c5.zip gcc-48a793425564864709adb3f51c7d503a865610c5.tar.gz gcc-48a793425564864709adb3f51c7d503a865610c5.tar.bz2 |
mklibgcc.in: Use a here document to avoid running afoul of shells that generate control-A...
* mklibgcc.in: Use a here document to avoid running afoul of
shells that generate control-A from "echo \1".
From-SVN: r65321
Diffstat (limited to 'gcc/mklibgcc.in')
-rw-r--r-- | gcc/mklibgcc.in | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/gcc/mklibgcc.in b/gcc/mklibgcc.in index 3a492da..1abb3a0 100644 --- a/gcc/mklibgcc.in +++ b/gcc/mklibgcc.in @@ -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" |