2003-01-08 Andrew Cagney * gdb_mbuild.sh: Edit the output of `maint print architecture' replacing hex constants with function names and stripping leading file name directory prefixes. Index: gdb_mbuild.sh =================================================================== RCS file: /cvs/src/src/gdb/gdb_mbuild.sh,v retrieving revision 1.3 diff -u -r1.3 gdb_mbuild.sh --- gdb_mbuild.sh 2 Jan 2003 16:40:33 -0000 1.3 +++ gdb_mbuild.sh 8 Jan 2003 23:46:52 -0000 @@ -279,12 +279,32 @@ fail "gdb printed no output" ! -s Gdb.log grep -e internal-error Gdb.log && fail "gdb panic" 1 + echo ... cleanup ${target} + + # Create a sed script that cleans up the output from GDB. + rm -f mbuild.sed + touch mbuild.sed || exit 1 + + # Rules to replace <0xNNNN> with the corresponding function's + # name. + sed -n -e '/<0x0*>/d' -e 's/^.*<0x\([0-9a-f]*\)>.*$/0x\1/p' Gdb.log \ + | sort -u \ + | while read addr + do + func="`addr2line -f -e ./gdb/gdb -s ${addr} | sed -n -e 1p`" + test ${verbose} -gt 0 && echo "${addr} ${func}" 1>&2 + echo "s/<${addr}>/<${func}>/g" + done >> mbuild.sed + + # Rules to strip the leading paths off of file names. + echo 's/"\/.*\/gdb\//"gdb\//g' >> mbuild.sed + # Replace the build directory with a file as semaphore that stops # a rebuild. (should the logs be saved?) cd ${builddir} rm -f ${target}.tmp - mv ${target}/Gdb.log ${target}.tmp + sed -f ${target}/mbuild.sed ${target}/Gdb.log > ${target}.tmp rm -rf ${target} mv ${target}.tmp ${target}