diff options
author | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-04-07 05:34:50 +0000 |
---|---|---|
committer | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-04-07 05:34:50 +0000 |
commit | 1f4be4f7bab7a1687acaabedcef94f808b87f17a (patch) | |
tree | 0361b2af41a7132d6b83861c4332b0bf13b04977 /gcc/mklibgcc.in | |
parent | 44ab85e889f8ad1ef0e3c8fa3c55acee34c81de6 (diff) | |
download | gcc-1f4be4f7bab7a1687acaabedcef94f808b87f17a.tar.gz |
* mklibgcc.in: Use a here document to avoid running afoul of
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
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 3a492da13b1..1abb3a05e5e 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" |