Re: GDB/MI reporting non-ASCII file names

Pedro Alves <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
On 09/29/2015 10:18 AM, Eli Zaretskii wrote:
> It seems that "gdb -i=mi" reports non-ASCII characters in filenames as
> octal escapes.  Here's an example from a GNU/Linux system whose
> locale's codeset is UTF-8:
> 
>   (gdb)
>   -file-list-exec-source-file
>   ^done,line="1",file="/home/e/eliz/\320\277\321\200\320\276\320\262\320\265\321\200\320\272\320\260.c",fullname="/srv/data/home/e/eliz/\320\277\321\200\320\276\320\262\320\265\321\200\320\272\320\260.c",macro-info="1"
> 
> Each of these \nnn is a string of literal ASCII characters, not a
> single byte whose octal value is nnn.  Why does MI do this?  Where in
> GDB do we convert bytes into this representation, and is there any way
> of asking MI not to make these conversions?
> 
> The reason for these questions is that Emacs's GDB interface fails to
> recognize the original file name that hides behind these escapes, and
> the result is that debugging a program whose source file names include
> non-ASCII characters fails to display the source files through which
> GDB steps.
> 
> It is, of course, possible to decode these escapes on Emacs's side.
> But since many MI output records include file-name fields, doing so
> everywhere is quite a PITA.  So if there's a way to avoid the need for
> decoding in the first place, it's preferable.

I happened to stumble on this discussion yesterday:

 https://www.sourceware.org/ml/gdb/2012-03/msg00001.html

Which points at:

 https://sourceware.org/ml/gdb/2010-08/msg00129.html

Thanks,
Pedro Alves
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.