arch,base,cpu,kerm,sim: Build a symbol table for object files.
[gem5.git] / src / arch / riscv / bare_metal / fs_workload.hh
index 37bffcfe975cf7af07b82fc3fe0309cdd56458d2..45478782bc21c9849bd776585996a029f564ba0a 100644 (file)
@@ -38,8 +38,8 @@ namespace RiscvISA
 class BareMetal : public RiscvISA::FsWorkload
 {
   protected:
-    ObjectFile *bootloader;
-    SymbolTable *bootloaderSymtab;
+    Loader::ObjectFile *bootloader;
+    Loader::SymbolTable bootloaderSymtab;
 
   public:
     typedef RiscvBareMetalParams Params;
@@ -48,20 +48,16 @@ class BareMetal : public RiscvISA::FsWorkload
 
     void initState() override;
 
-    ObjectFile::Arch
-    getArch() const override
-    {
-        return bootloader->getArch();
-    }
-    const SymbolTable *
+    Loader::Arch getArch() const override { return bootloader->getArch(); }
+    const Loader::SymbolTable &
     symtab(ThreadContext *tc) override
     {
         return bootloaderSymtab;
     }
     bool
-    insertSymbol(Addr address, const std::string &symbol) override
+    insertSymbol(const Loader::Symbol &symbol) override
     {
-        return bootloaderSymtab->insert(address, symbol);
+        return bootloaderSymtab.insert(symbol);
     }
 };