问题标签 [klee]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ubuntu - C 编译器无法在使用 LLVM 构建 Coreutils 期间创建可执行文件
我正在寻找一些帮助,以解决在使用 llvm 的 Coreutils 配置命令期间弹出的错误的解决方案。
我使用命令:
CC=wllvm ../configure --disable-nls CFLAGS="-g -O1 -Xclang -disable-llvm-passes -D__NO_STRING_INLINES -D_FORTIFY_SOURCE=0 -U__OPTIMIZE__"
并收到错误:
我已经export LLVM_COMPILER=clang
事先运行了命令
我已经使用命令在我的 Ubuntu 操作系统上安装并设置了clang-6.0和clang++-6.0
可以在此处查看生成错误的 config.log 文件,该文件还显示
wllvm: command not found
:
https://drive.google.com/open?id=1ExbLhT2tWRyGSAb67mAgu6D9y3AknZ2v
llvm - 在 KLEE Docker 上配置错误:C 编译器无法创建可执行文件
我正在尝试使用基于https://klee.github.io/tutorials/testing-coreutils/上的步骤 3 的 klee docker 使用 LLVM 构建 Coreutils 。
但是我在运行时发现了一个问题:
它说
在运行上面的代码之前,我已经安装了 wllvm
并且已经安装
但是虽然我已经安装了它,它仍然会产生错误,我不知道如何处理它,我使用了C 编译器中提供的解决方案 cannot create executables during build of Coreutils with LLVM,但没有什么不同,
之后,我按照https://github.com/travitch/whole-program-llvm/issues/68中的说明进行操作,据说使用 clang 而不是 wllvm。之后程序正在运行,但执行时再次出错
那说
搜索任何来源后,我仍然无法解决。
这是未找到 wllvm 时 config.log 的一部分
echo - 如何在 klee 中使用 max-time 标签
我正在尝试在 coreutils 的编译字节码版本上运行 klee,这在某种程度上复制了 klee 不久前所做的实验。
我在弄清楚如何使用 --max-time 标志时遇到了一些麻烦。
当我运行这个命令时,它需要大约 3 分钟,尽管最大时间是 10 秒:
当我运行这个命令时,大约需要 3 秒。该命令是相同的,除了文件名和 --max-time 标志被切换的事实。
最后,当我在没有 --max-time 标志的情况下运行它时
至少需要30分钟,此时我放弃并杀死了它。
显然,文件名前后的标志都在做某事,但我不确定是什么。根据文档, --max-time 的标准用法将其放在文件名之前。谁能帮我理解发生了什么?
c++ - LLVM 对通过 KLEE 代码中的指针访问的结构的内容进行交互
我对 LLVM 和 KLEE 很陌生,我试图了解是否可以访问指针引用的结构的内容。我正在处理的代码很长而且很复杂,但问题如下:
在其中一门课中,我有以下陈述:
到目前为止,我可以使用以下代码访问其他简单全局变量的内容:
ExecutionState
、MemoryObject
和ObjectState
是 KLEE 中定义的类。该函数os->getValue(strType)
是用户定义的函数,用于获取 ObjectState 的内容。
我可以pointer2Structure
根据变量名看到,但由于它是一个指针(PointerType)我不知道如何访问它的内容。
有没有办法在知道指向结构的指针的名称的情况下迭代结构的元素?如果是这样,是否可以递归检查嵌套结构的内容?
我正在使用 LLVM 9.0,并且正在使用 -O0 -d 编译代码以启用调试信息。
非常感谢您的帮助。
swift - KLEE:需要链接具有不同对齐方式的附加变量
我正在尝试将 KLEE 与一些 Swift 代码一起使用。为了简单起见,我创建了一个基本的 hello world 文件。
我能够成功编译 Swift 文件(使用klee_make_symbolic
),但是当我尝试实际运行 KLEE 时遇到了问题。以下是我遵循的步骤:
- 创建
main.swift
(文件内容如下) - 将其编译为位码 -
swiftc -import-objc-header /home/klee/klee_src/include/klee/klee.h main.swift -emit-bc -target x86_64-pc-linux-gnu
- 跑
klee main.bc
当我从第 3 步运行命令时,我收到许多警告 + 错误:
我还尝试使用--libc-uclibc
(full command: klee --libc=uclibc main.bc
) 运行 KLEE,它解决了警告但给我一个不同的错误:
main.swift
cmake - 构建 s2e 时对 klee 的未定义引用
我正在尝试开始一个新项目并在新目录中构建 s2e。但是在 100% 左右,它给了我一个未定义的参考错误。相关部分(imo)是这样的:
我的目录结构是这样的:
我按照这里的步骤操作:http: //s2e.systems/docs/s2e-env.html我按照所有步骤s2e build
操作,直到出现这个问题。
作为参考,我得到的(截断的)输出s2e build &> log
: