diff --git a/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp b/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
index d24557a..1a28e46 100644
--- a/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
+++ b/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
@@ -29,22 +29,6 @@
 
 static Interpreter *TheInterpreter;
 
-// getCurrentExecutablePath() - Return the directory that the lli executable
-// lives in.
-//
-std::string Interpreter::getCurrentExecutablePath() const {
-  Dl_info Info;
-  if (dladdr(&TheInterpreter, &Info) == 0) return "";
-  
-  std::string LinkAddr(Info.dli_fname);
-  unsigned SlashPos = LinkAddr.rfind('/');
-  if (SlashPos != std::string::npos)
-    LinkAddr.resize(SlashPos);    // Trim the executable name off...
-
-  return LinkAddr;
-}
-
-
 static char getTypeID(const Type *Ty) {
   switch (Ty->getPrimitiveID()) {
   case Type::VoidTyID:    return 'V';
@@ -498,6 +482,12 @@
   return Ret;
 }
 
+// char *strdup(const char *src);
+GenericValue lle_X_strdup(FunctionType *M, const vector<GenericValue> &Args) {
+  assert(Args.size() == 1);
+  return PTOGV(strdup((char*)GVTOP(Args[0])));
+}
+
 // char *__strdup(const char *src);
 GenericValue lle_X___strdup(FunctionType *M, const vector<GenericValue> &Args) {
   assert(Args.size() == 1);
