The \e escape sequence
Mark Kettenis
kettenis@chello.nl
Wed Dec 31 16:34:00 GMT 2003
The \e escape sequence is a GCC extension. Its unconditional use in
charset.c has some interesting consequences if you use a different
compiler. With the Sun compiler (on Solaris SPARC) the \e in the
following bit of code gets translation into a plain e:
static char represented[] = "\a\b\e\f\n\r\t\v";
As a result, GDB will start escaping e's in its output, for example:
(gdb) p /c 101
$1 = 101 '\e'
which leads to disaster in the testsuite.
So what should we do? Simply leaving out '\e' seems the best we can
do if we don't compile GDB with GCC. However, this still leads to a
few failures in the testsuite where we (more or less) explicitly test
for the '\e' escape.
Thoughts?
More information about the Gdb
mailing list