Now all the FORM linkages are in place.
[dwarf-doc.git] / dwarf5 / latexdoc / debugsectionrelationships.tex
1 \chapter{Debug Section Relationships (Informative)}
2 \label{app:debugsectionrelationshipsinformative}
3 %
4 \setlength\maxovaldiam{80pt}
5 \thicklines
6 \begin{picture}(0,0)
7 \footnotesize
8   \put(10,0) { .debug\_aranges }
9   \put(40,0) { \circle{80}}
10   \put(180,0) { .debug\_frame }
11   \put(210,0) { \circle{80}}
12   \put(350,0) { .debug\_abbrev }
13   \put(380,0) { \circle{80}}
14
15   \put(40,-40){\line(0,-1){30}}
16   \put(-10,-90){\framebox(110,20){To compilation unit (a)} }
17   \put(40,-90){\vector(0,-1){35}}
18
19   \put(350,-90) { .debug\_str }
20   \put(380,-90) {\circle{80}}
21
22   \put(10,-180) { .debug\_info }
23   \put(40,-180) {\circle{100}}
24
25
26   \put(350,-180) { .debug\_loc }
27   \put(380,-180) {\circle{80}}
28
29   \put(350,-270) { .debug\_ranges }
30   \put(380,-270) {\circle{80}}
31
32   \put(80,-140){\line(3, 2){90}}
33   \put(170,-90){\framebox(110,20){To abbreviations (c)} }
34   \put(280,-70){\vector( 2, 1){70}}
35
36   \put(90,-150){\line(2, 1){100}}
37   \put(190,-120){\framebox(110,20){\livelink{chap:DWFORMstrp}{DW\-\_FORM\-\_strp} (d)} }
38   \put(300,-100){\vector( 4, 1){35}}
39
40   \put(190,-140){\vector(-2, -1){100}}
41   \put(190,-150){\framebox(110,20){DW\-\_OP\-\_call\-\_ref(e)} }
42   \put(300,-150){\line(4,-1){40}}
43
44   \put(90,-195){\line(7,2){95}}
45   \put(190,-180){\framebox(110,20){\livelink{chap:DWATlocation}{DW\-\_AT\-\_location}(f)} }
46   \put(300,-180){\vector(1,0){40}}
47
48   \put(90,-195){\line(7,-2){95}}
49   \put(190,-230){\framebox(110,20){\livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} (g)} }
50   \put(300,-230){\vector(4,-3){40}}
51
52   \put(85,-200){\line(3,-2){95}}
53   \put(180,-270){\framebox(110,20){\livelink{chap:DWATmacroinfo}{DW\-\_AT\-\_macro\-\_info} (h)} }
54   \put(230,-270){\vector(3,-2){110}}
55
56   \put(85,-200){\line(1,-1){80}}
57   \put(120,-300){\framebox(110,20){\livelink{chap:DWATstmtlist}{DW\-\_AT\-\_stmt\-\_list} (i)} }
58   \put(180,-300){\vector(1,-2){10}}
59
60   \put(40,-250){\vector(0,1){15}}
61   \put(-10,-270){\framebox(110,20){To compilation unit (b)} }
62   \put(40,-320){\line(0,1){50}}
63
64   \put(0,-360) { .debug\_pubnames }
65   \put(0,-375) { .debug\_pubtypes } 
66   \put(40, -360) { \circle{80}}
67   \put(175,-360) { .debug\_line }
68   \put(210,-360) { \circle{80}}
69   \put(350,-360) { .debug\_macinfo}
70   \put(380,-360) { \circle{80}}
71
72 \end{picture}
73
74 \clearpage
75 \begin{enumerate}[(a)]  
76 \item  .debug\_aranges  \\
77 The debug\_info\_offset value in
78 the header is the offset in the .debug\_info section of the
79 corresponding compilation unit header (not the compilation
80 unit entry).
81
82 \item .debug\_pubnames and .debug\_pubtypes \\
83 The debug\_info\_offset value in the header is the offset in the
84 .debug\_info section of the corresponding compilation unit header (not
85 the compilation unit entry). Each pubname/pubtype has the offset (within
86 the corresponding compilation unit) of the applicable debugging
87 information entry.
88
89 \item .debug\_info and .debug\_types \\
90 The debug\_abbrev\_offset value in the header is the offset in the
91 .debug\_abbrev section of the abbreviations for that compilation unit.
92 (d) .debug\_info and .debug\_types
93 Attribute values of class string may have form \livelink{chap:DWFORMstrp}{DW\-\_FORM\-\_strp}, whose
94 value is the offset in the .debug\_str section of the corresponding string.
95
96 \item  .debug\_info and .debug\_types \\
97 Attribute values of class string may have form \livelink{chap:DWFORMstrp}{DW\-\_FORM\-\_strp}, whose
98 value is the offset in the .debug\_str section of the corresponding string.
99
100 \item .debug\_loc \\
101 The operand of the DW\-\_OP\-\_call\-\_ref DWARF expression operator is the
102 offset of a debugging information entry in the .debug\_info section.
103
104 \item .debug\_info \\
105 An attribute value of class \livelink{chap:loclistptr}{loclistptr} (specifically form
106 \livelink{chap:DWFORMsecoffset}{DW\-\_FORM\-\_sec\-\_offset}) is an offset within the .debug\_loc section of a
107 location list.
108
109 \item .debug\_info \\
110 An attribute value of class \livelink{chap:rangelistptr}{rangelistptr} (specifically form
111 \livelink{chap:DWFORMsecoffset}{DW\-\_FORM\-\_sec\-\_offset}) is an offset within the .debug\_ranges section of
112 a range list.
113
114
115 \item .debug\_info \\
116 An attribute value of class \livelink{chap:macptr}{macptr} (specifically form
117 \livelink{chap:DWFORMsecoffset}{DW\-\_FORM\-\_sec\-\_offset}) is an offset within the .debug\_macinfo section
118 of the beginning of the macro information for the referencing unit.
119
120
121 \item .debug\_info \\
122 An attribute value of class \livelink{chap:lineptr}{lineptr} (specifically form
123 \livelink{chap:DWFORMsecoffset}{DW\-\_FORM\-\_sec\-\_offset}) is an offset in the .debug\_line section of the
124 beginning of the line number information for the referencing unit.
125 \end{enumerate}
126
127
128