Folks,
The DWARF2/3 standard specifies DW_AT_comp_dir as follows:
"
A DW_AT_comp_dir attribute whose value is a null-terminated string
containing the
current working directory of the compilation command that produced this
compilation unit
in whatever form makes sense for the host system.
/The suggested form for the value of the DW_AT_comp_dir attribute on U
NIX systems is//
//‘‘hostname:pathname’’. If no hostname is available, the suggested form
is ‘‘:pathname’’.//
/"
The section in italics (see the spec. for yourselves) is unfortunate,
since in the Introduction we are told that italicised text are "not part
of the format definition itself", but by using the word "suggested" in
the definition the implies compliance with the definition.
Consulting the DWARF4 standard's definition I see that the errant
italicised text has been removed. (I say errant because in my opinion,
the suggested form, contradicts the earlier requirement "makes sense for
the host system", as the hostname:pathname or :pathname forms are not
acceptable to the UNIXs stat or open functions).
I note that the earlier versions of gcc ignored this "suggested form".
Unfortunately the toolchain which I'm using follows the suggested form
for UNIX systems, e.g.:
mg11-fc20.root.pri:/home/mg11/mydirectory/step.c
This isn't currently acceptable to lldb, since when I am stepping an
inferior, the DisplaySourceLinesXXX functions fail to perform, due to
GetFileStats predictably failing when ::stat is passed a
hostname:pathname style of string.
Now I could get our toolchain fixed (so that it ignores DWARF2's
suggestion, and encodes only the pathname), but I wondered whether it
was worth seeing how the rest of the lldb community feels regarding
supporting the suggested DWARF2/3 form.
thanks
Matthew Gardiner
Member of the CSR plc group of companies. CSR plc registered in England and
Wales, registered number 4187346, registered office Churchill House, Cambridge
Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom
More information can be found at www.csr.com. Keep up to date with CSR on our
technical blog, www.csr.com/blog, CSR people blog, www.csr.com/people, YouTube,
www.youtube.com/user/CSRplc, Facebook,
www.facebook.com/pages/CSR/191038434253534, or follow us on Twitter at
www.twitter.com/CSR_plc.
New for 2014, you can now access the wide range of products powered by aptX at
www.aptx.com.
_______________________________________________
lldb-dev mailing list
lldb-dev@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev