From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eli Zaretskii To: kettenis@science.uva.nl Cc: gdb@sources.redhat.com Subject: Re: i386 register numbering Date: Sat, 28 Jul 2001 05:14:00 -0000 Message-id: <200107281214.IAA07439@delorie.com> References: <200107281012.GAA02314@delorie.com> X-SW-Source: 2001-07/msg00394.html > From: Mark Kettenis > Date: 28 Jul 2001 13:54:19 +0200 > > In GDB we have STAB_REG_TO_REGNUM, DWARF_REG_TO_REGNUM, etc. Ah, I missed that additional layer of translation. Thanks for pointing it out. > We have > to provide a suitable definition for those in tm-i386.h. However, the > problem mentioned above makes it a bit tricky, since GCC always uses > the same register numbering scheme, regardless of the actual debugging > format. Most ELF targets use the Dwarf scheme, even if the debugging > format is stabs. And it seems that DJGPP uses the "default" scheme, > even if you ask for Dwarf 2 debugging info. DJGPP supports 3 debug info formats: COFF, stabs, and (lately) DWARF2; the default is COFF. (Btw, I don't see any COFF_REG_TO_REGNUM.) I'm guessing that no one (including myself ;-) bothered to review the register naming scheme when support for stabs and DWARF2 was added... But there's something in your explanation that I don't get: if GCC always uses the same scheme, no matter what the debug info, and since all i386 targets use the same i386.h header which defines this scheme, how come DJGPP can use something different than the other targets? What am I missing? > I'm working on a patch, and I'll try to provide some reasonable > defaults. But most targets will have to override some of these > defaults. Thanks.