X-Git-Url: http://git.dwarfstd.org/?p=dwarf-doc.git;a=blobdiff_plain;f=dwarf5%2Flatexdoc%2Fdebugsectionrelationships.tex;h=e9bcf91f7e782fd0ff895296778fb08423dd197d;hp=3f533544ecb43886d6c0e17bff326499104c5390;hb=4b5647aaf3535dd298f3238a0ff4982ea4e0e3df;hpb=c7f32fab2b97e5bd0d9377c7ce2bc5b5d2b3880c diff --git a/dwarf5/latexdoc/debugsectionrelationships.tex b/dwarf5/latexdoc/debugsectionrelationships.tex index 3f53354..e9bcf91 100644 --- a/dwarf5/latexdoc/debugsectionrelationships.tex +++ b/dwarf5/latexdoc/debugsectionrelationships.tex @@ -78,7 +78,7 @@ or shareable file and a related \addtoindex{supplementary object file}. \node(zlinkj) at (5, 5.4) [link] {\DWATstmtlist{}~~(h)}; \node(zlinkh) at (5, 3.9) [link] {\begin{tabular}{c} \DWATranges{}~~~~(i) \\ - \DWATrangesbase + \DWATrnglistsbase \end{tabular}}; \node(zlinkg) at (5, 2.4) [link] {\DWATlocation{}, etc.~~(j)}; \node(zlinkk) at (5, 0.5) [link] {\begin{tabular}(c) @@ -117,8 +117,8 @@ or shareable file and a related \addtoindex{supplementary object file}. \DWMACROstartfile \end{tabular}}; \node(zsectlin) at (10, 5.00) [sect] {\dotdebugline}; -\node(zsectran) at (10, 3.85) [sect] {\dotdebugranges}; -\node(zsectloc) at (10, 2.70) [sect] {\dotdebugloc{}}; +\node(zsectran) at (10, 3.85) [sect] {\dotdebugrnglists}; +\node(zsectloc) at (10, 2.70) [sect] {\dotdebugloclists{}}; \node(zlinko) at (10, 1.20) [link] {\begin{tabular}{c} \DWOPaddrx \\ \DWOPconstx @@ -248,21 +248,22 @@ beginning of the line number information for the referencing unit. %i \needlines{5} -\itembfnl{(i) \dotdebuginfo{} to \dotdebugranges} -An attribute value of class \livelink{chap:classrangelistptr}{rangelistptr} -(specifically form -\DWFORMsecoffset) -is an offset within the \dotdebugranges{} section of -a range list. +\bb +\itembfnl{(i) \dotdebuginfo{} to \dotdebugrnglists} +An attribute value of class \CLASSrnglist{} +(specifically form \DWFORMrnglistx{} or \DWFORMsecoffset) +is an index or offset within the \dotdebugrnglists{} +\eb +section of a \addtoindex{range list}. %j -\itembfnl{(j) \dotdebuginfo{} to \dotdebugloc} -An attribute value of class \livelink{chap:classloclistptr}{loclistptr} -(specifically form -\DWFORMsecoffset) -is an offset within the \dotdebugloc{} -section of a -\addtoindex{location list}. +\bb +\itembfnl{(j) \dotdebuginfo{} to \dotdebugloclists} +An attribute value of class \CLASSloclist{} +(specifically form \DWFORMloclistx or \DWFORMsecoffset) +is an index or offset within the \dotdebugloclists{} +\eb +section of a \addtoindex{location list}. %k \itembfnl{(k) \dotdebuginfo{} to \dotdebugaddr} @@ -295,9 +296,9 @@ The second operand of of that section given in the macro information header. %o -\itembfnl{(o) \dotdebugloc{} to \dotdebugaddr} +\itembfnl{(o) \dotdebugloclists{} to \dotdebugaddr} \DWOPaddrx{} and \DWOPconstx{} operators that occur in the -\dotdebugloc{} section refer indirectly to the +\dotdebugloclists{} section refer indirectly to the \dotdebugaddr{} section by way of the \DWATaddrbase{} attribute in the associated \dotdebuginfo{} section. @@ -350,25 +351,26 @@ The circled (s) connects to the circled \fill[yellow!25] (7.5,-1) -- (7.5,14.5) -- (19,14.5) -- (19,-1) -- cycle; +% First column +% \node(ysectabb) at ( 5, 13.5) [sect] {\dotdebugabbrev}; \node(ysectadd) at ( 2, 12.0) [sect] {\dotdebugaddr}; \node(ysectara) at ( 0, 10.5) [sect] {\dotdebugaranges}; \node(ysectfra) at ( 0, 9.0) [sect] {\dotdebugframe}; \node(ysectlin) at ( 0, 7.5) [sect] {\dotdebugline}; -\node(ysectlis) at ( 0, 6.0) [sect] {\dotdebuglinestr}; -\node(ysectnam) at ( 0, 4.5) [sect] {\dotdebugnames}; -\node(ysectran) at ( 0, 3.0) [sect] {\dotdebugranges}; -\node(ysectstr) at ( 2, 1.5) [sect] {\dotdebugstr}; +\node(ysectlis) at ( 0, 5.7) [sect] {\dotdebuglinestr}; +\node(ysectnam) at ( 0, 4.0) [sect] {\dotdebugnames}; +\node(ysectstr) at ( 2, 2.0) [sect] {\dotdebugstr}; \node(ysectsto) at ( 5, 0.0) [sect] {\dotdebugstroffsets}; -\node(ysectinf) at ( 5, 7) [sect] {\begin{tabular}{c} +\node(ysectinf) at ( 5, 7) [sect] {\begin{tabular}{c} ~\\ \dotdebuginfo \\ (skeleton CU)\\ ~ \end{tabular}}; -\node(ysectinfdwo) at (10.5,7) [sect] {\begin{tabular}{c} +\node(ysectinfdwo) at (10.5,7) [sect] {\begin{tabular}{c} \dotdebuginfodwo \\ (one CU, possibly \\ multiple COMDAT \\ @@ -376,10 +378,11 @@ The circled (s) connects to the circled \end{tabular}}; \node(ysectabbdwo) at (10.5, 13.5) [sect] {\dotdebugabbrevdwo}; -\node(ysectlindwo) at (16.0, 7.5) [sect] {\dotdebuglinedwo}; -\node(ysectlocdwo) at (16.0, 11.0) [sect] {\dotdebuglocdwo}; +\node(ysectlocdwo) at (14.0, 11.5) [sect] {\dotdebugloclistsdwo}; +\node(ysectrandwo) at (15.8, 9.5) [sect] {\dotdebugrnglistsdwo}; +\node(ysectlindwo) at (16.0, 7.0) [sect] {\dotdebuglinedwo}; \node(ysectmacdwo) at (16.0, 4.5) [sect] {\dotdebugmacrodwo}; -\node(ysectstrdwo) at (13.0, 2.0) [sect] {\dotdebugstrdwo}; +\node(ysectstrdwo) at (13.5, 2.0) [sect] {\dotdebugstrdwo}; \node(ysectstodwo) at (10.5, 0.0) [sect] {\dotdebugstroffsetsdwo}; \draw[thin,-triangle 45] (ysectinf) -- (ysectabb) node[midway, right] {(c)}; @@ -388,7 +391,6 @@ The circled (s) connects to the circled \draw[thin,-triangle 45] (ysectinf) -- (ysectlin.east) node[midway, above] {(h)}; \draw[thin,-triangle 45] (ysectlin) -- (ysectlis) node[midway, right] {(l)}; \draw[thin,-triangle 45] (ysectnam.east) -- (ysectinf) node[midway, left] {(b)}; -\draw[thin,-triangle 45] (ysectinf) -- (ysectran.east) node[left, near end] {(i)}; \draw[thin,-triangle 45] (ysectinf) -- (ysectstr) node[midway, right] {(d)}; \draw[thin,-triangle 45] (ysectinf) -- (ysectsto) node[midway, right] {(e)}; \draw[thin,-triangle 45] (ysectsto) -- (ysectstr) node[midway, right] {(l)}; @@ -396,17 +398,18 @@ The circled (s) connects to the circled \draw[dashed, thick,-triangle 45] (ysectinf) .. controls (7.5, 11) ..(ysectinfdwo) node[midway, above] {(did)}; -\draw[thin,-triangle 45] (ysectinfdwo) -- (ysectabbdwo) node[midway, right] {(co)}; +\draw[thin,-triangle 45] (ysectinfdwo) -- (ysectabbdwo) node[midway, left] {(co)}; \draw[thin,-triangle 45] (ysectinfdwo) -- (ysectlindwo.west) node[midway, above] {(ho)}; -\draw[thin,-triangle 45] (ysectinfdwo) -- (ysectlocdwo.west) node[midway, below] {(jo)}; -\draw[thin,-triangle 45] (ysectinfdwo) -- (ysectmacdwo.west) node[near end, above] {(go)}; +\draw[thin,-triangle 45] (ysectinfdwo) -- (ysectrandwo.west) node[midway, above] {(io)}; +\draw[thin,-triangle 45] (ysectinfdwo) -- (ysectlocdwo.west) node[midway, right] {(jo)}; +\draw[thin,-triangle 45] (ysectinfdwo) -- (ysectmacdwo.west) node[midway, above] {(go)}; \draw[thin,-triangle 45] (ysectinfdwo) -- (ysectstrdwo) node[midway, right] {(do)}; \draw[thin,-triangle 45] (ysectinfdwo) -- (ysectstodwo) node[midway, left] {(eo)}; \draw[thin,-triangle 45] (ysectstodwo) -- (ysectstrdwo) node[near end, below] {(lo)}; \draw[thin,-triangle 45] (ysectmacdwo) -- (ysectstrdwo) node[midway, left] {(po)}; -\draw[thin,-triangle 45] (ysectmacdwo) .. controls (16.5, 1) .. (ysectstodwo.east) - node[near start, left] {(mo)}; +\draw[thin,-triangle 45] (ysectmacdwo) .. controls (16.2, 1) .. (ysectstodwo.east) + node[very near start, right] {(mo)}; \draw[thin,-triangle 45] (ysectlindwo.east) .. controls (19,4) and (18, 0) .. (ysectstodwo.east) node[very near start, left] {(lmo)}; @@ -507,28 +510,28 @@ for the referencing unit (the line table details are not in \dotdebuglinedwo{} but the line header with its list of file names is present). -\itembfnl{(i) \dotdebuginfo{} to \dotdebugranges} -An attribute value of class \CLASSrangelistptr{} -(specifically \DWATranges{} with form -\DWFORMsecoffset) is an offset within the \dotdebugranges{} -section of a range list. - -\itembfnl{(jo) \dotdebuginfodwo{} to \dotdebuglocdwo} -An attribute value of class \CLASSloclistptr{} (specifically -\DWATdatamemberlocation, -\DWATframebase, -\DWATlocation, -\DWATreturnaddr, -\DWATsegment, -\DWATstaticlink, -\DWATstringlength, -\DWATuselocation{} or -\DWATvtableelemlocation{} -with form \DWFORMsecoffset) is an offset within the -\dotdebuglocdwo{} section of a location list. The format of -\dotdebuglocdwo{} location list entries is slightly different -than that in \dotdebugloc. -See Section \refersec{chap:locationlistsinsplitobjectfiles} for details. +\bb +\itembfnl{(io) \dotdebuginfodwo{} to \dotdebugrnglistsdwo} +An attribute value of class \CLASSrnglist{} (specifically +\DWATranges{} with form \DWFORMrnglistx{} or \DWFORMsecoffset) +is an index or offset within the \dotdebugrnglistsdwo{} +section of a \addtoindex{range list}. +The format of \dotdebugrnglistsdwo{} location list entries +is restricted to a subset of those in \dotdebugrnglists. +See Section \refersec{chap:noncontiguousaddressranges} for details. +\eb + +\itembfnl{(jo) \dotdebuginfodwo{} to \dotdebugloclistsdwo} +An attribute value of class +\bb +\CLASSloclist{} (specifically with form \DWFORMloclistx +or \DWFORMsecoffset) +is an index or offset within the \dotdebugloclistsdwo{} +section of a \addtoindex{location list.} +The format of \dotdebugloclistsdwo{} location list entries +is restricted to a subset of those in \dotdebugloclists. +\eb +See Section \refersec{chap:locationlists} for details. \needlines{4} \itembfnl{(k) \dotdebuginfo{} to \dotdebugaddr}