Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
ladisgin committed Aug 30, 2023
1 parent 4332026 commit 1e9661e
Show file tree
Hide file tree
Showing 7 changed files with 15 additions and 14 deletions.
4 changes: 2 additions & 2 deletions include/klee/Core/Interpreter.h
Original file line number Diff line number Diff line change
Expand Up @@ -147,8 +147,8 @@ class Interpreter {
setModule(std::vector<std::unique_ptr<llvm::Module>> &userModules,
std::vector<std::unique_ptr<llvm::Module>> &libsModules,
const ModuleOptions &opts,
std::set<llvm::StringRef> &mainModuleFunctions,
std::set<llvm::StringRef> &mainModuleGlobals,
std::set<std::string> &mainModuleFunctions,
std::set<std::string> &mainModuleGlobals,
FInstructions &&origInstructions) = 0;

// supply a tree stream writer which the interpreter will use
Expand Down
1 change: 1 addition & 0 deletions include/klee/Module/KInstruction.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ DISABLE_WARNING_POP

#include <optional>
#include <vector>
#include <unordered_map>

namespace llvm {
class Instruction;
Expand Down
5 changes: 2 additions & 3 deletions include/klee/Module/KModule.h
Original file line number Diff line number Diff line change
Expand Up @@ -240,9 +240,8 @@ class KModule {
// XXX change to KFunction
std::set<llvm::Function *> escapingFunctions;

std::set<llvm::StringRef> mainModuleFunctions;

std::set<llvm::StringRef> mainModuleGlobals;
std::set<std::string> mainModuleFunctions;
std::set<std::string> mainModuleGlobals;

using FInstructions = std::unordered_map<
std::string,
Expand Down
4 changes: 2 additions & 2 deletions lib/Core/Executor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -528,8 +528,8 @@ llvm::Module *
Executor::setModule(std::vector<std::unique_ptr<llvm::Module>> &userModules,
std::vector<std::unique_ptr<llvm::Module>> &libsModules,
const ModuleOptions &opts,
std::set<llvm::StringRef> &mainModuleFunctions,
std::set<llvm::StringRef> &mainModuleGlobals,
std::set<std::string> &mainModuleFunctions,
std::set<std::string> &mainModuleGlobals,
FInstructions &&origInstructions) {
assert(!kmodule && !userModules.empty() &&
"can only register one module"); // XXX gross
Expand Down
4 changes: 2 additions & 2 deletions lib/Core/Executor.h
Original file line number Diff line number Diff line change
Expand Up @@ -726,8 +726,8 @@ class Executor : public Interpreter {
setModule(std::vector<std::unique_ptr<llvm::Module>> &userModules,
std::vector<std::unique_ptr<llvm::Module>> &libsModules,
const ModuleOptions &opts,
std::set<llvm::StringRef> &mainModuleFunctions,
std::set<llvm::StringRef> &mainModuleGlobals,
std::set<std::string> &mainModuleFunctions,
std::set<std::string> &mainModuleGlobals,
FInstructions &&origInstructions) override;

void useSeeds(const std::vector<struct KTest *> *seeds) override {
Expand Down
2 changes: 1 addition & 1 deletion lib/Module/KModule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -388,8 +388,8 @@ void KModule::manifest(InterpreterHandler *ih,
std::unique_ptr<llvm::raw_fd_ostream> assemblyFS;
if (OutputSource || forceSourceOutput) {
assemblyFS = ih->openOutputFile("assembly.ll");
asmLineMap = buildInstructionToLineMap(*module, std::move(assemblyFS));
}
asmLineMap = buildInstructionToLineMap(*module, std::move(assemblyFS));
// infos = std::make_unique<InstructionInfoTable>(*module);
}

Expand Down
9 changes: 5 additions & 4 deletions tools/klee/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1575,15 +1575,16 @@ int main(int argc, char **argv, char **envp) {
EntryPoint = stubEntryPoint;
}

std::set<llvm::StringRef> mainModuleFunctions;
//change to StringRef
std::set<std::string> mainModuleFunctions;
for (auto &Function : *mainModule) {
if (!Function.isDeclaration()) {
mainModuleFunctions.insert(Function.getName());
mainModuleFunctions.insert(Function.getName().str());
}
}
std::set<llvm::StringRef> mainModuleGlobals;
std::set<std::string> mainModuleGlobals;
for (const auto &gv : mainModule->globals()) {
mainModuleGlobals.insert(gv.getName());
mainModuleGlobals.insert(gv.getName().str());
}

const std::string &module_triple = mainModule->getTargetTriple();
Expand Down

0 comments on commit 1e9661e

Please sign in to comment.