diff --git a/src/arch/alpha/process.cc b/src/arch/alpha/process.cc
index 83c4c26..ea1cb08 100644
--- a/src/arch/alpha/process.cc
+++ b/src/arch/alpha/process.cc
@@ -213,7 +213,7 @@
     argsInit(MachineBytes, PageBytes);
 
     ThreadContext *tc = system->getThreadContext(contextIds[0]);
-    tc->setIntReg(GlobalPointerReg, objFile->globalPointer());
+    tc->setIntReg(GlobalPointerReg, 0);
     //Operate in user mode
     tc->setMiscRegNoEffect(IPR_ICM, mode_user << 3);
     tc->setMiscRegNoEffect(IPR_DTB_CM, mode_user << 3);
diff --git a/src/base/loader/object_file.cc b/src/base/loader/object_file.cc
index ede8922..0bb897c 100644
--- a/src/base/loader/object_file.cc
+++ b/src/base/loader/object_file.cc
@@ -57,7 +57,7 @@
                        size_t _len, uint8_t *_data,
                        Arch _arch, OpSys _op_sys)
     : filename(_filename), fileData(_data), len(_len),
-      arch(_arch), opSys(_op_sys), entry(0), globalPtr(0),
+      arch(_arch), opSys(_op_sys), entry(0),
       text{0, nullptr, 0}, data{0, nullptr, 0}, bss{0, nullptr, 0}
 {
 }
diff --git a/src/base/loader/object_file.hh b/src/base/loader/object_file.hh
index bd9d626..14dee3b 100644
--- a/src/base/loader/object_file.hh
+++ b/src/base/loader/object_file.hh
@@ -123,7 +123,6 @@
     };
 
     Addr entry;
-    Addr globalPtr;
 
     Section text;
     Section data;
@@ -131,13 +130,10 @@
 
     bool loadSection(Section *sec, const PortProxy& mem_proxy, Addr mask,
                      Addr offset = 0);
-    void setGlobalPointer(Addr global_ptr) { globalPtr = global_ptr; }
 
   public:
     Addr entryPoint() const { return entry; }
 
-    Addr globalPointer() const { return globalPtr; }
-
     Addr textBase() const { return text.baseAddr; }
     Addr dataBase() const { return data.baseAddr; }
     Addr bssBase() const { return bss.baseAddr; }
