
llvm
逃课的小学生
这个作者很懒,什么都没留下…
展开
-
Fuzzing llvm
目录1.概述2.可用的Fuzzers2.1.clang-fuzzer2.2.clang-proto-fuzzer2.3.clang-format-fuzzer2.4.llvm-as-fuzzer2.5.llvm-dwarfdump-fuzzer2.6.llvm-demangle-fuzzer2.7.llvm-isel-fuzzer2.8.llvm-op...翻译 2019-04-11 11:33:44 · 1310 阅读 · 0 评论 -
libFuzzer
目录1.概述2.版本3.Fuzz Target4.Fuzzer Usage5.Corpus6.Running7.Parallel Fuzzing8.Fork mode9.Resuming merge10.Options11.Output12.Toy example13.More examples14.Dictionaries1...转载 2019-04-11 14:59:23 · 9458 阅读 · 0 评论 -
LLVM’s Analysis and Transform Passes
1.概述本文档是LLVM提供的优化功能的高级摘要。优化是作为一个过程来实现的,该过程遍历程序的某些部分,以收集信息或转换程序。下表将LLVM提供的过程分为三类。分析过程计算其他过程可以使用或用于调试或程序可视化目的的信息。转换过程可以使用(或使分析过程无效)。转换以某种方式传递所有的转换程序。实用程序传递提供了一些实用程序,但不适合分类。例如,将函数提取到位码或将模块写入位码的过程既不是分析过...翻译 2019-04-13 19:58:00 · 1929 阅读 · 0 评论 -
Getting Started with the LLVM System
1.概述欢迎来到LLVM项目! 为了开始,您首先需要了解一些基本信息。首先,LLVM项目有多个组件。 该项目的核心本身称为“LLVM”。 它包含处理中间表示并将其转换为目标文件所需的所有工具,库和头文件。 它包含汇编器,反汇编器,bitcode分析器和bitcode优化器。 它还包含基本的回归测试。另一件是Clang前端。 该组件将C,C ++,Objective C和Objective...翻译 2019-04-24 17:18:08 · 967 阅读 · 0 评论 -
Dowsing for Overflows: A Guided Fuzzer to Find Buffer Boundary Violations
目录摘要1.介绍2.big picture2.1运行示例2.2高级概述3.寻找候选指令3.1 Building analysis groups3.2 Conditions guarding analysis groups3.3 Scoring array accesses4.Using tainting to find inputs that matte...转载 2019-04-26 11:28:29 · 896 阅读 · 0 评论 -
Building LLVM with CMake
1.IntroductionCMAKE是一个跨平台构建生成器工具。cmake不会构建项目,它会生成构建llvm所需的构建工具(gnu make、Visual Studio等)所需的文件。如果您是新的参与者,请从“LLVM系统入门”页面开始。此页面适用于从旧配置/生成系统移动的现有参与者。如果您真的很担心得到一个功能性的LLVM构建,请转到快速启动部分。如果你是一个CMAKE新手,从基本...翻译 2019-04-26 15:03:46 · 931 阅读 · 0 评论 -
LLVM Language Reference Manual
1.摘要本文档是LLVM汇编语言的参考手册。LLVM是一种基于静态单任务(SSA)的表示,它提供了类型安全、低级操作、灵活性和干净地表示“所有”高级语言的能力。它是在LLVM编译策略的所有阶段中使用的通用代码表示形式。2.介绍LLVM代码表示被设计成三种不同的形式:作为内存编译器IR,作为磁盘上的位代码表示(适用于即时编译器的快速加载),以及作为人类可读的汇编语言表示。这允许LLVM为...翻译 2019-04-26 17:13:29 · 1511 阅读 · 0 评论 -
Writing an LLVM Pass
目录1.简介 - 什么是pass?2.快速入门 - 写下hello world3.设置构建环境4.Basic code required5.Pass类和要求6.ImmutablePass类7.ModulePass类8.CallGraphSCCPass类9.FunctionPass类10.doInitialization(Module&)方法11.L...翻译 2019-04-15 15:06:55 · 2307 阅读 · 0 评论 -
clang 10 介绍——sanitizerCoverage
1.Introductionllvm内置了一个简单的代码覆盖率检测(sanitizercoverage)。它在函数级、基本块级和边缘级插入对用户定义函数的调用。提供了这些回调的默认实现,并实现了简单的覆盖率报告和可视化,但是,如果您只需要覆盖率可视化,则可能需要改用sourcebasedcodecoverage。2.Tracing PCs with guards使用-fsanitize...原创 2019-09-18 15:47:17 · 9865 阅读 · 6 评论