\doxysection{.debug\+\_\+addr access:\+ DWARF5 }
\hypertarget{group__debugaddr}{}\label{group__debugaddr}\index{.debug\_addr access: DWARF5@{.debug\_addr access: DWARF5}}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__debugaddr_gae91d85a860a4dd8e25ab2e9d90810ee0}{dwarf\+\_\+debug\+\_\+addr\+\_\+table}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+section\+\_\+offset, \doxymbox{\hyperlink{group__allstructs_ga5db3ffd9efbefdfe86a364186908b218}{Dwarf\+\_\+\+Debug\+\_\+\+Addr\+\_\+\+Table}} \texorpdfstring{$\ast$}{*}dw\+\_\+table\+\_\+header, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+length, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+version, \doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}dw\+\_\+address\+\_\+size, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+at\+\_\+addr\+\_\+base, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+entry\+\_\+count, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+next\+\_\+table\+\_\+offset, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return a .debug\+\_\+addr table. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__debugaddr_ga8f0750e184cf03cf7df79a7bcd47b148}{dwarf\+\_\+debug\+\_\+addr\+\_\+by\+\_\+index}} (\doxymbox{\hyperlink{group__allstructs_ga5db3ffd9efbefdfe86a364186908b218}{Dwarf\+\_\+\+Debug\+\_\+\+Addr\+\_\+\+Table}} dw\+\_\+dat, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+entry\+\_\+index, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+address, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return .debug\+\_\+addr address given table index. \end{DoxyCompactList}\item 
DW\+\_\+\+API void \doxymbox{\hyperlink{group__debugaddr_ga12f5ddb76f71dd3d8583118ef5c0f419}{dwarf\+\_\+dealloc\+\_\+debug\+\_\+addr\+\_\+table}} (\doxymbox{\hyperlink{group__allstructs_ga5db3ffd9efbefdfe86a364186908b218}{Dwarf\+\_\+\+Debug\+\_\+\+Addr\+\_\+\+Table}} dw\+\_\+dat)
\begin{DoxyCompactList}\small\item\em dealloc (free) a Dwarf\+\_\+\+Attr\+\_\+\+Table record. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Reading just the .debug\+\_\+addr section.

These functions solely useful for reading that section. It seems unlikely you would have a reason to call these. The functions getting attribute values use the section when appropriate without using these functions. 

\label{doc-func-members}
\Hypertarget{group__debugaddr_doc-func-members}
\doxysubsection{Function Documentation}
\Hypertarget{group__debugaddr_ga12f5ddb76f71dd3d8583118ef5c0f419}\index{.debug\_addr access:  DWARF5@{.debug\_addr access:  DWARF5}!dwarf\_dealloc\_debug\_addr\_table@{dwarf\_dealloc\_debug\_addr\_table}}
\index{dwarf\_dealloc\_debug\_addr\_table@{dwarf\_dealloc\_debug\_addr\_table}!.debug\_addr access:  DWARF5@{.debug\_addr access:  DWARF5}}
\doxysubsubsection{\texorpdfstring{dwarf\_dealloc\_debug\_addr\_table()}{dwarf\_dealloc\_debug\_addr\_table()}}
{\footnotesize\ttfamily \label{group__debugaddr_ga12f5ddb76f71dd3d8583118ef5c0f419} 
DW\+\_\+\+API void dwarf\+\_\+dealloc\+\_\+debug\+\_\+addr\+\_\+table (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga5db3ffd9efbefdfe86a364186908b218}{Dwarf\+\_\+\+Debug\+\_\+\+Addr\+\_\+\+Table}}}]{dw\+\_\+dat}{}\end{DoxyParamCaption})}



dealloc (free) a Dwarf\+\_\+\+Attr\+\_\+\+Table record. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dat} & Pass in a valid \doxylink{group__allstructs_ga5db3ffd9efbefdfe86a364186908b218}{Dwarf\+\_\+\+Debug\+\_\+\+Addr\+\_\+\+Table} pointer. Does nothing if the dw\+\_\+dat field is NULL. \\
\hline
\end{DoxyParams}
\Hypertarget{group__debugaddr_ga8f0750e184cf03cf7df79a7bcd47b148}\index{.debug\_addr access:  DWARF5@{.debug\_addr access:  DWARF5}!dwarf\_debug\_addr\_by\_index@{dwarf\_debug\_addr\_by\_index}}
\index{dwarf\_debug\_addr\_by\_index@{dwarf\_debug\_addr\_by\_index}!.debug\_addr access:  DWARF5@{.debug\_addr access:  DWARF5}}
\doxysubsubsection{\texorpdfstring{dwarf\_debug\_addr\_by\_index()}{dwarf\_debug\_addr\_by\_index()}}
{\footnotesize\ttfamily \label{group__debugaddr_ga8f0750e184cf03cf7df79a7bcd47b148} 
DW\+\_\+\+API int dwarf\+\_\+debug\+\_\+addr\+\_\+by\+\_\+index (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga5db3ffd9efbefdfe86a364186908b218}{Dwarf\+\_\+\+Debug\+\_\+\+Addr\+\_\+\+Table}}}]{dw\+\_\+dat}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+entry\+\_\+index}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+address}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return .debug\+\_\+addr address given table index. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dat} & Pass in a \doxylink{group__allstructs_ga5db3ffd9efbefdfe86a364186908b218}{Dwarf\+\_\+\+Debug\+\_\+\+Addr\+\_\+\+Table} pointer. \\
\hline
{\em dw\+\_\+entry\+\_\+index} & Pass in a \doxylink{group__allstructs_ga5db3ffd9efbefdfe86a364186908b218}{Dwarf\+\_\+\+Debug\+\_\+\+Addr\+\_\+\+Table} index to an address. If out of the valid range 0 through dw\+\_\+entry\+\_\+count-\/1 the function returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY. \\
\hline
{\em dw\+\_\+address} & Returns an address in the program through the pointer. \\
\hline
{\em dw\+\_\+error} & The usual error detail return pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK etc. If the dw\+\_\+section\+\_\+offset passed in is out of range it returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY. If it returns DW\+\_\+\+DLV\+\_\+\+ERROR only dw\+\_\+error is set, dw\+\_\+address is not set. 
\end{DoxyReturn}
\Hypertarget{group__debugaddr_gae91d85a860a4dd8e25ab2e9d90810ee0}\index{.debug\_addr access:  DWARF5@{.debug\_addr access:  DWARF5}!dwarf\_debug\_addr\_table@{dwarf\_debug\_addr\_table}}
\index{dwarf\_debug\_addr\_table@{dwarf\_debug\_addr\_table}!.debug\_addr access:  DWARF5@{.debug\_addr access:  DWARF5}}
\doxysubsubsection{\texorpdfstring{dwarf\_debug\_addr\_table()}{dwarf\_debug\_addr\_table()}}
{\footnotesize\ttfamily \label{group__debugaddr_gae91d85a860a4dd8e25ab2e9d90810ee0} 
DW\+\_\+\+API int dwarf\+\_\+debug\+\_\+addr\+\_\+table (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+section\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga5db3ffd9efbefdfe86a364186908b218}{Dwarf\+\_\+\+Debug\+\_\+\+Addr\+\_\+\+Table}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+table\+\_\+header}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+length}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+version}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+address\+\_\+size}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+at\+\_\+addr\+\_\+base}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+entry\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+next\+\_\+table\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return a .debug\+\_\+addr table. 

Allocates and returns a pointer to a \doxylink{group__allstructs_ga5db3ffd9efbefdfe86a364186908b218}{Dwarf\+\_\+\+Debug\+\_\+\+Addr\+\_\+\+Table} as well as the contents of the record.

Other than dw\+\_\+debug and dw\+\_\+error and dw\+\_\+table\+\_\+header a NULL passed in as a pointer argument means the return value will not be set through the pointer, so a caller can pass NULL for return values of no immediate interest.

It is only intended to enable printing of the simple DWARF5 .debug\+\_\+addr section (by dwarfdump).

When emitting DWARF4, gcc may emit a GNU-\/specified .debug\+\_\+addr format. If some CU has been opened then this call will work, but the single table will have all the entries for all CUs.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest. \\
\hline
{\em dw\+\_\+section\+\_\+offset} & Pass in the section offset of a table header. Start with zero. If the passed-\/in offset is past the last byte of the table the function returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY. \\
\hline
{\em dw\+\_\+table\+\_\+header} & On success Returns a pointer to a \doxylink{group__allstructs_ga5db3ffd9efbefdfe86a364186908b218}{Dwarf\+\_\+\+Debug\+\_\+\+Addr\+\_\+\+Table} for use with dwarf\+\_\+get\+\_\+attr\+\_\+by\+\_\+index(). \\
\hline
{\em dw\+\_\+length} & On success Returns the length in bytes of this contribution to .debug\+\_\+addr from the table header, including the table length field and the array of addresses. \\
\hline
{\em dw\+\_\+version} & On success returns the version number, which should be 5. \\
\hline
{\em dw\+\_\+address\+\_\+size} & On success returns the address size of the address entries in this table. \\
\hline
{\em dw\+\_\+at\+\_\+addr\+\_\+base} & On success returns the value that will appear in some DW\+\_\+\+AT\+\_\+addr\+\_\+base attribute. \\
\hline
{\em dw\+\_\+entry\+\_\+count} & On success returns the number of table entries in this table instance. \\
\hline
{\em dw\+\_\+next\+\_\+table\+\_\+offset} & On success returns the offset of the next table in the section. Use the offset returned in the next call to this function. \\
\hline
{\em dw\+\_\+error} & The usual error detail return pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK etc. If the dw\+\_\+section\+\_\+offset passed in is out of range it returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY. If it returns DW\+\_\+\+DLV\+\_\+\+ERROR only dw\+\_\+error is set, none of the other return values are set through the pointers. 
\end{DoxyReturn}
