MCPcopy Create free account
hub / github.com/Inori/GPCS4 / parseDynamicSection

Method parseDynamicSection

GPCS4/Loader/ELFMapper.cpp:183–222  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

181}
182
183bool ELFMapper::parseDynamicSection()
184{
185 assert(m_moduleData != nullptr);
186 MODULE_INFO &info = m_moduleData->m_moduleInfo;
187
188 bool retVal = false;
189
190 do
191 {
192 Elf64_Dyn *pDynEntries = reinterpret_cast<Elf64_Dyn *>(info.pDynamic);
193 uint32_t dynEntriesCount = info.nDynamicSize / sizeof(Elf64_Dyn);
194 uint8_t *pStrTab = info.pStrTab;
195
196 for (uint32_t i = 0; i < dynEntriesCount; i++)
197 {
198 retVal = prepareTables(pDynEntries[i], i);
199 if (retVal == false)
200 {
201 break;
202 }
203 }
204
205 if (retVal == false)
206 {
207 break;
208 }
209
210 for (uint32_t i = 0; i < dynEntriesCount; i++)
211 {
212 retVal = parseSingleDynEntry(pDynEntries[i], i);
213 if (retVal == false)
214 {
215 break;
216 }
217 }
218
219 } while (false);
220
221 return retVal;
222}
223
224void *ELFMapper::getProcParam() const
225{

Callers 1

loadModuleFromFileMethod · 0.80

Calls 1

assertClass · 0.85

Tested by

no test coverage detected