Multi-line patterns for grep are not supported on some old versions
of grep.
binutils/
* embedspu.sh: Replace multi-line grep with sed.
ld/
* testsuite/ld-elfvers/vers.exp: Replace multi-line grep with sed.
READELF="$prog"
# Sanity check the input file
- match="Class:.*ELF32
-Type:.*EXEC
-Machine:.*SPU
-Machine:.*17"
- if test `${READELF} -h ${INFILE} | grep "${match}" | wc -l` != 3
+ if test `${READELF} -h ${INFILE} | sed -n -e '/Class:.*ELF32/p' -e '/Type:.*EXEC/p' -e '/Machine:.*SPU/p' -e '/Machine:.*17/p' | sed -n '$='` != 3
then
echo "${INFILE}: Does not appear to be an SPU executable"
exit 1
return
}
- set cmd "$nm --print-armap $tmpdir/$lib | grep \" in \" | grep \"VERS
-bar
-foo\" | grep -v ^\\\\. | sort > $tmpdir/nm.out"
+ set cmd "$nm --print-armap $tmpdir/$lib | sed -n -e /^\\\\./d -e \"/^VERS.* in /p\" -e \"/bar.* in /p\" -e \"/foo.* in /p\" | sort > $tmpdir/nm.out"
verbose -log $cmd
catch "exec $cmd" exec_output
if [string match "" $exec_output] then {