From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7786 invoked by alias); 2 Sep 2006 15:30:54 -0000 Received: (qmail 7778 invoked by uid 22791); 2 Sep 2006 15:30:54 -0000 X-Spam-Check-By: sourceware.org Received: from nitzan.inter.net.il (HELO nitzan.inter.net.il) (192.114.186.20) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sat, 02 Sep 2006 15:30:50 +0000 Received: from HOME-C4E4A596F7 (IGLD-80-230-70-232.inter.net.il [80.230.70.232]) by nitzan.inter.net.il (MOS 3.7.3-GA) with ESMTP id ENY36570 (AUTH halo1); Sat, 2 Sep 2006 18:30:47 +0300 (IDT) Date: Sat, 02 Sep 2006 15:30:00 -0000 Message-Id: From: Eli Zaretskii To: Michael Snyder CC: gdb-patches@sourceware.org In-reply-to: <1157144236.4466.80.camel@localhost.localdomain> (message from Michael Snyder on Fri, 01 Sep 2006 13:57:16 -0700) Subject: [commit] Describe GDB source structure (Was: GDB source structure) Reply-to: Eli Zaretskii References: <1157144236.4466.80.camel@localhost.localdomain> X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-09/txt/msg00011.txt.bz2 Inspired by the description posted by Michael to gdb@, I committed the following change to the gdbint manual: 2006-09-02 Eli Zaretskii * gdbint.texinfo (Overall Structure): New section "Source Tree Structure". Index: gdb/doc/gdbint.texinfo =================================================================== RCS file: /cvs/src/src/gdb/doc/gdbint.texinfo,v retrieving revision 1.243 diff -u -r1.243 gdbint.texinfo --- gdb/doc/gdbint.texinfo 15 May 2006 04:39:03 -0000 1.243 +++ gdb/doc/gdbint.texinfo 2 Sep 2006 15:25:14 -0000 @@ -212,6 +212,54 @@ When you want to make @value{GDBN} work ``native'' on a particular machine, you have to include all three kinds of information. +@section Source Tree Structure +@cindex @value{GDBN} source tree structure + +The @value{GDBN} source directory has a mostly flat structure---there +are only a few subdirectories. A file's name usually gives a hint as +to what it does; for example, @file{stabsread.c} reads stabs, +@file{dwarfread.c} reads DWARF, etc. + +Files that are related to some common task have names that share +common substrings. For example, @file{*-thread.c} files deal with +debugging threads on various platforms; @file{*read.c} files deal with +reading various kinds of symbol and object files; @file{inf*.c} files +deal with direct control of the @dfn{inferior program} (@value{GDBN} +parlance for the program being debugged). + +There are several dozens of files in the @file{*-tdep.c} family. +@samp{tdep} stands for @dfn{target-dependent code}---each of these +files implements debug support for a specific target architecture +(sparc, mips, etc). Usually, only one of these will be used in a +specific @value{GDBN} configuration (sometimes two, closely related). + +Similarly, there are many @file{*-nat.c} files, each one for native +debugging on a specific system (e.g., @file{sparc-linux-nat.c} is for +native debugging of Sparc machines running the Linux kernel). + +The few subdirectories of the source tree are: + +@table @file +@item cli +Code that implements @dfn{CLI}, the @value{GDBN} Command-Line +Interpreter. @xref{User Interface, Command Interpreter}. + +@item gdbserver +Code for the @value{GDBN} remote server. + +@item gdbtk +Code for Insight, the @value{GDBN} TK-based GUI front-end. + +@item mi +The @dfn{GDB/MI}, the @value{GDBN} Machine Interface interpreter. + +@item signals +Target signal translation code. + +@item tui +Code for @dfn{TUI}, the @value{GDBN} Text-mode full-screen User +Interface. @xref{User Interface, TUI}. +@end table @node Algorithms