This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Patch to correct 64-bit DWARF info
On Fri, 17 Mar 2006, Andrew Pinski wrote:
> On Mar 17, 2006, at 8:07 PM, Joseph S. Myers wrote:
>
> > When using the standard 64-bit DWARF3 format (used only on
> > mips64*-*-linux*, only for N64 ABI), GCC fails to include the
> > four-byte 0xffffffff header required at the start of CIEs and FDEs to
> > distinguish 64-bit DWARF from 32-bit DWARF, and wrongly uses the
> > 32-but CIE identifier instead of the 64-bit one. In addition, there
> > is confusion about whether dw_val_class_loc_list should be represented
> > as DW_FORM_data4 or DW_FORM_data8.
> >
> > This patch fixes these problems. Tested that the patched compiler
> > generates debuggable binaries for all ABIs on mips64el-linux; there
> > should be no effects on any other target. OK to commit?
>
> Hmm, doesn't this fix PR 15810?
No, it doesn't. It *only* fixes the problem that the debug info on N64
mips64-linux is invalid. There is no need for DWARF_OFFSET_SIZE to be
bigger than 4 unless the code you are compiling will form part of a linked
object with more than 4GB of debug info. If, however, DWARF_OFFSET_SIZE
is bigger than 4 (as it is on MIPS64 GNU/Linux - and on MIPS64 IRIX, but
that uses its own variant rather than standard DWARF3), the debug info
(for the standard case, not the IRIX case) was formerly broken.
I don't think bug 15810 is a bug. It might be a feature request: a
command-line option to enable 64-bit DWARF (for those users with more than
4GB of debug info) might make sense, but the DWARF3 specification
recommends that 32-bit DWARF be generated by default.
--
Joseph S. Myers http://www.srcf.ucam.org/~jsm28/gcc/
jsm@polyomino.org.uk (personal mail)
joseph@codesourcery.com (CodeSourcery mail)
jsm28@gcc.gnu.org (Bugzilla assignments and CCs)