summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/BPF/Disassembler/CMakeLists.txt
diff options
context:
space:
mode:
authorAlexei Starovoitov <alexei.starovoitov@gmail.com>2016-11-20 02:25:00 +0000
committerAlexei Starovoitov <alexei.starovoitov@gmail.com>2016-11-20 02:25:00 +0000
commite6ddac0def7c2e9c1c250e2eee06cf02d0cea65d (patch)
tree2ffe1495ce3cd17be4e0c4d83e57ba70ca2da4ad /llvm/lib/Target/BPF/Disassembler/CMakeLists.txt
parente5669cecde86ebf2be36dc33e1dd49e0c0ae0fa2 (diff)
downloadbcm5719-llvm-e6ddac0def7c2e9c1c250e2eee06cf02d0cea65d.tar.gz
bcm5719-llvm-e6ddac0def7c2e9c1c250e2eee06cf02d0cea65d.zip
[bpf] add BPF disassembler
add BPF disassembler, so tools like llvm-objdump can be used: $ llvm-objdump -d -no-show-raw-insn ./sockex1_kern.o ./sockex1_kern.o: file format ELF64-BPF Disassembly of section socket1: bpf_prog1: 0: r6 = r1 8: r0 = *(u8 *)skb[23] 10: *(u32 *)(r10 - 4) = r0 18: r1 = *(u32 *)(r6 + 4) 20: if r1 != 4 goto 8 28: r2 = r10 30: r2 += -4 ld_imm64 (the only 16-byte insn) and special ld_abs/ld_ind instructions had to be treated in a special way. The decoders for the rest of the insns are automatically generated. Add tests to cover new functionality. Signed-off-by: Alexei Starovoitov <ast@kernel.org> llvm-svn: 287477
Diffstat (limited to 'llvm/lib/Target/BPF/Disassembler/CMakeLists.txt')
-rw-r--r--llvm/lib/Target/BPF/Disassembler/CMakeLists.txt4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/BPF/Disassembler/CMakeLists.txt b/llvm/lib/Target/BPF/Disassembler/CMakeLists.txt
new file mode 100644
index 00000000000..c6dd1b34ad1
--- /dev/null
+++ b/llvm/lib/Target/BPF/Disassembler/CMakeLists.txt
@@ -0,0 +1,4 @@
+add_llvm_library(LLVMBPFDisassembler
+ BPFDisassembler.cpp
+)
+
OpenPOWER on IntegriCloud