- if(gLoadedLibraries[i].Base == 0) break; // Last entry has Base set to NULL
- _SysDebug("%p: %s",
- gLoadedLibraries[i].Base,
- gLoadedLibraries[i].Name
- );
+ const tLoadedLib* ll = &gLoadedLibraries[i];
+ if(ll->Base == 0) break; // Last entry has Base set to NULL
+ _SysDebug("%p: %s", ll->Base, ll->Name);
+ }
+}
+
+/**
+ * \brief Call queued up entry points (after relocations completed)
+ */
+void CallQueuedEntrypoints(char **EnvP)
+{
+ while( giNumQueuedEntrypoints )
+ {
+ giNumQueuedEntrypoints --;
+ const struct sQueuedEntry *qe = &gaQueuedEntrypoints[giNumQueuedEntrypoints];
+ DEBUGS("Calling EP %p for %p", qe->Entry, qe->Base);
+ qe->Entry(qe->Base, 0, NULL, EnvP);