\doxysection{Section Groups Objectfile Data }
\hypertarget{group__secgroups}{}\label{group__secgroups}\index{Section Groups Objectfile Data@{Section Groups Objectfile Data}}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__secgroups_ga894bc7aaf5c3545cff97c4987c5b4570}{dwarf\+\_\+sec\+\_\+group\+\_\+sizes}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+section\+\_\+count\+\_\+out, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+group\+\_\+count\+\_\+out, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+selected\+\_\+group\+\_\+out, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+map\+\_\+entry\+\_\+count\+\_\+out, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Get Section Groups data counts. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__secgroups_ga162abad83e103405607f7749792890fc}{dwarf\+\_\+sec\+\_\+group\+\_\+map}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+map\+\_\+entry\+\_\+count, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+group\+\_\+numbers\+\_\+array, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+sec\+\_\+numbers\+\_\+array, const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+sec\+\_\+names\+\_\+array, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return a map between group numbers and section numbers. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Section Groups are defined in the extended Elf ABI and are seen in relocatable Elf object files, not executables or shared objects.

\doxylink{index_dwsec_sectiongroup}{Section Groups Overview } 

\label{doc-func-members}
\Hypertarget{group__secgroups_doc-func-members}
\doxysubsection{Function Documentation}
\Hypertarget{group__secgroups_ga162abad83e103405607f7749792890fc}\index{Section Groups Objectfile Data@{Section Groups Objectfile Data}!dwarf\_sec\_group\_map@{dwarf\_sec\_group\_map}}
\index{dwarf\_sec\_group\_map@{dwarf\_sec\_group\_map}!Section Groups Objectfile Data@{Section Groups Objectfile Data}}
\doxysubsubsection{\texorpdfstring{dwarf\_sec\_group\_map()}{dwarf\_sec\_group\_map()}}
{\footnotesize\ttfamily \label{group__secgroups_ga162abad83e103405607f7749792890fc} 
DW\+\_\+\+API int dwarf\+\_\+sec\+\_\+group\+\_\+map (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+map\+\_\+entry\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+group\+\_\+numbers\+\_\+array}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+sec\+\_\+numbers\+\_\+array}{, }\item[{const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+sec\+\_\+names\+\_\+array}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return a map between group numbers and section numbers. 

This map shows all the groups in the object file and shows which object sections go with which group.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest. \\
\hline
{\em dw\+\_\+map\+\_\+entry\+\_\+count} & Pass in the dw\+\_\+map\+\_\+entry\+\_\+count\+\_\+out from dwarf\+\_\+sec\+\_\+group\+\_\+sizes \\
\hline
{\em dw\+\_\+group\+\_\+numbers\+\_\+array} & Pass in an array of \doxylink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned} with dw\+\_\+map\+\_\+entry\+\_\+count entries. Zero the data before the call here. On success returns a list of group numbers. \\
\hline
{\em dw\+\_\+sec\+\_\+numbers\+\_\+array} & Pass in an array of \doxylink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned} with dw\+\_\+map\+\_\+entry\+\_\+count entries. Zero the data before the call here. On success returns a list of section numbers. \\
\hline
{\em dw\+\_\+sec\+\_\+names\+\_\+array} & Pass in an array of const char \texorpdfstring{$\ast$}{*} with dw\+\_\+map\+\_\+entry\+\_\+count entries. Zero the data before the call here. On success returns a list of section names. \\
\hline
{\em dw\+\_\+error} & The usual error details pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
On success returns DW\+\_\+\+DLV\+\_\+\+OK 
\end{DoxyReturn}
\Hypertarget{group__secgroups_ga894bc7aaf5c3545cff97c4987c5b4570}\index{Section Groups Objectfile Data@{Section Groups Objectfile Data}!dwarf\_sec\_group\_sizes@{dwarf\_sec\_group\_sizes}}
\index{dwarf\_sec\_group\_sizes@{dwarf\_sec\_group\_sizes}!Section Groups Objectfile Data@{Section Groups Objectfile Data}}
\doxysubsubsection{\texorpdfstring{dwarf\_sec\_group\_sizes()}{dwarf\_sec\_group\_sizes()}}
{\footnotesize\ttfamily \label{group__secgroups_ga894bc7aaf5c3545cff97c4987c5b4570} 
DW\+\_\+\+API int dwarf\+\_\+sec\+\_\+group\+\_\+sizes (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+section\+\_\+count\+\_\+out}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+group\+\_\+count\+\_\+out}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+selected\+\_\+group\+\_\+out}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+map\+\_\+entry\+\_\+count\+\_\+out}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Get Section Groups data counts. 

Allows callers to find out what groups (dwo or COMDAT) are in the object and how much to allocate so one can get the group-\/section map data.

This is relevant for Debug Fission. If an object file has both .dwo sections and non-\/dwo sections or it has Elf COMDAT GROUP sections this becomes important.

\doxylink{index_dwsec_sectiongroup}{Section Groups Overview }


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & Pass in the \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest. \\
\hline
{\em dw\+\_\+section\+\_\+count\+\_\+out} & On success returns the number of DWARF sections in the object file. Can sometimes be many more than are of interest. \\
\hline
{\em dw\+\_\+group\+\_\+count\+\_\+out} & On success returns the number of groups. Though usually one, it can be much larger. \\
\hline
{\em dw\+\_\+selected\+\_\+group\+\_\+out} & On success returns the groupnumber that applies to this specific open \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}. \\
\hline
{\em dw\+\_\+map\+\_\+entry\+\_\+count\+\_\+out} & On success returns the count of record allocations needed to call dwarf\+\_\+sec\+\_\+group\+\_\+map successfully. dw\+\_\+map\+\_\+entry\+\_\+count\+\_\+out will be less than or equal to dw\+\_\+section\+\_\+count\+\_\+out. \\
\hline
{\em dw\+\_\+error} & The usual error details pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
On success returns DW\+\_\+\+DLV\+\_\+\+OK 
\end{DoxyReturn}
