about summary refs log tree commit diff homepage
path: root/lib/Module
diff options
context:
space:
mode:
authorMartin Nowack <m.nowack@imperial.ac.uk>2020-01-16 18:37:28 +0000
committerCristian Cadar <c.cadar@imperial.ac.uk>2020-01-18 16:34:03 +0000
commit4300ed7cd1ec48292a1983bb80161099f15b2023 (patch)
tree5f95eb4109c216fab9ff91595d8b656e85bea499 /lib/Module
parentc7cdc0f15f0f08fb4a808096e741263ff4fb26e3 (diff)
downloadklee-4300ed7cd1ec48292a1983bb80161099f15b2023.tar.gz
Fix handling of debug information for functions
Tracking function locations separately correctly without prefixing
it with a directory.
Diffstat (limited to 'lib/Module')
-rw-r--r--lib/Module/InstructionInfoTable.cpp10
1 files changed, 1 insertions, 9 deletions
diff --git a/lib/Module/InstructionInfoTable.cpp b/lib/Module/InstructionInfoTable.cpp
index 48575c82..90b0e022 100644
--- a/lib/Module/InstructionInfoTable.cpp
+++ b/lib/Module/InstructionInfoTable.cpp
@@ -81,14 +81,6 @@ buildInstructionToLineMap(const llvm::Module &m) {
   return mapping;
 }
 
-static std::string getFullPath(llvm::StringRef Directory,
-                               llvm::StringRef FileName) {
-  llvm::SmallString<128> file_pathname(Directory);
-  llvm::sys::path::append(file_pathname, FileName);
-
-  return file_pathname.str();
-}
-
 class DebugInfoExtractor {
   std::vector<std::unique_ptr<std::string>> &internedStrings;
   std::map<uintptr_t, uint64_t> lineTable;
@@ -126,7 +118,7 @@ public:
     auto dsub = llvm::getDISubprogram(&Func);
 #endif
     if (dsub != nullptr) {
-      auto path = getFullPath(dsub->getDirectory(), dsub->getFilename());
+      auto path = dsub->getFilename();
       return std::unique_ptr<FunctionInfo>(new FunctionInfo(
           0, getInternedString(path), dsub->getLine(), asmLine));
     }