From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Eli Zaretskii" To: andrew@zimmerman.net Cc: gdb@sources.redhat.com Subject: Re: gdb questions Date: Wed, 18 Jul 2001 13:44:00 -0000 Message-id: <7263-Wed18Jul2001231612+0300-eliz@is.elta.co.il> References: <003301c10fbb$078bfbc0$b42cc2d1@server> X-SW-Source: 2001-07/msg00254.html > From: "Andrew Zimmerman" > Date: Wed, 18 Jul 2001 13:54:07 -0500 > > 1. If gdb is used with assembly language what kind of debugging symbols are > required? I'd like to use NASM, but it doesn't seem to be able to add > symbols. If you use Gas, the GNU assembler, you can invoke it with -gstabs+ or -gdwarf-2 switches, and get stabs or DWARF2 debug info. > 2. Does gdb have a way to examine the LDT (local descriptor table)? My > application creates some additional selectors for segments that reside > within the flat memory space allocated to the application. Do you intend to port that code to Linux? I don't know much about the protection scheme employed by Linux, but from what I know, I'd doubt very much that it will allow you to futz with the LDT. > With the Phar Lap > Dos Extender we could easily display a list of the segments. And yes, we > were in 32-bit protected mode, way back in 1989. That's funny: I've just committed a few days ago a bunch of changes to the DJGPP port of GDB which introduce commands to display LDT, GDT, and other system-related info. You can now say "info dos ldt $cs" and see the LDT entry for the debuggee's CS selector, including base address, limit, and the access right bits. But these command only work in GDB when it is compiled for native debugging of DJGPP programs. DJGPP programs are 32-bit protected-mode programs which can run on DOS and all versions of Windows as DPMI clients.