Remove ELFSymbolTable from PCB

This commit is contained in:
EnderIce2
2024-02-28 06:11:31 +02:00
parent e74c5f7bab
commit ddad5ca38a
8 changed files with 13 additions and 92 deletions

View File

@ -686,10 +686,9 @@ static pid_t linux_fork(SysFrm *sf)
PCB *Parent = Thread->Parent;
PCB *NewProcess =
TaskManager->CreateProcess(Parent,
Parent->Name,
TaskManager->CreateProcess(Parent, Parent->Name,
Parent->Security.ExecutionMode,
nullptr, true);
true);
if (unlikely(!NewProcess))
{
error("Failed to create process for fork");
@ -702,17 +701,6 @@ static pid_t linux_fork(SysFrm *sf)
NewProcess->ProgramBreak->SetTable(NewProcess->PageTable);
NewProcess->FileDescriptors->Fork(Parent->FileDescriptors);
if (Parent->ELFSymbolTable &&
Parent->ELFSymbolTable->SymTableExists)
{
NewProcess->ELFSymbolTable = new SymbolResolver::Symbols(0);
foreach (auto sym in Parent->ELFSymbolTable->GetSymTable())
{
NewProcess->ELFSymbolTable->AddSymbol(sym.Address,
sym.FunctionName);
}
}
TCB *NewThread =
TaskManager->CreateThread(NewProcess,
0,