Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.SPEC eol=lf
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "capstone"]
path = capstone
url = ../../aquynh/capstone.git
9 changes: 3 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,9 @@ go:
- tip
sudo: false
before_install:
- ./travis_install_capstone_stable.sh
- export LIBRARY_PATH=$HOME/capstone/lib
- export C_INCLUDE_PATH=$HOME/capstone/include
- export LD_LIBRARY_PATH=$HOME/capstone/lib
- ./genconst $HOME/src/capstone/bindings/python/capstone
- ./genspec $HOME/src/capstone/tests
- ./genconst capstone/bindings/python/capstone
- make -C capstone
- ./genspec capstone/tests
notifications:
email:
recipients:
Expand Down
1 change: 1 addition & 0 deletions AArch64BaseInfo.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/AArch64/AArch64BaseInfo.c"
1 change: 1 addition & 0 deletions AArch64Disassembler.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/AArch64/AArch64Disassembler.c"
1 change: 1 addition & 0 deletions AArch64InstPrinter.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/AArch64/AArch64InstPrinter.c"
1 change: 1 addition & 0 deletions AArch64Mapping.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/AArch64/AArch64Mapping.c"
1 change: 1 addition & 0 deletions AArch64Module.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/AArch64/AArch64Module.c"
1 change: 1 addition & 0 deletions ARMDisassembler.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/ARM/ARMDisassembler.c"
1 change: 1 addition & 0 deletions ARMInstPrinter.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/ARM/ARMInstPrinter.c"
1 change: 1 addition & 0 deletions ARMMapping.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/ARM/ARMMapping.c"
1 change: 1 addition & 0 deletions ARMModule.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/ARM/ARMModule.c"
1 change: 1 addition & 0 deletions MCInst.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/MCInst.c"
1 change: 1 addition & 0 deletions MCInstrDesc.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/MCInstrDesc.c"
1 change: 1 addition & 0 deletions MCRegisterInfo.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/MCRegisterInfo.c"
1 change: 1 addition & 0 deletions MipsDisassembler.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/Mips/MipsDisassembler.c"
1 change: 1 addition & 0 deletions MipsInstPrinter.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/Mips/MipsInstPrinter.c"
1 change: 1 addition & 0 deletions MipsMapping.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/Mips/MipsMapping.c"
1 change: 1 addition & 0 deletions MipsModule.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/Mips/MipsModule.c"
1 change: 1 addition & 0 deletions PPCDisassembler.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/PowerPC/PPCDisassembler.c"
1 change: 1 addition & 0 deletions PPCInstPrinter.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/PowerPC/PPCInstPrinter.c"
1 change: 1 addition & 0 deletions PPCMapping.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/PowerPC/PPCMapping.c"
1 change: 1 addition & 0 deletions PPCModule.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/PowerPC/PPCModule.c"
5 changes: 1 addition & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,7 @@ Further information is available at http://www.capstone-engine.org
To install:
----

First install the capstone library from either https://github.com/aquynh/capstone
or http://www.capstone-engine.org

Then, assuming you have set up your Go environment according to the docs, just:
Assuming you have set up your Go environment according to the docs, just:
```bash
go get -u github.com/bnagy/gapstone
```
Expand Down
1 change: 1 addition & 0 deletions SStream.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/SStream.c"
1 change: 1 addition & 0 deletions SparcDisassembler.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/Sparc/SparcDisassembler.c"
1 change: 1 addition & 0 deletions SparcInstPrinter.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/Sparc/SparcInstPrinter.c"
1 change: 1 addition & 0 deletions SparcMapping.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/Sparc/SparcMapping.c"
1 change: 1 addition & 0 deletions SparcModule.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/Sparc/SparcModule.c"
1 change: 1 addition & 0 deletions SystemZDisassembler.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/SystemZ/SystemZDisassembler.c"
1 change: 1 addition & 0 deletions SystemZInstPrinter.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/SystemZ/SystemZInstPrinter.c"
1 change: 1 addition & 0 deletions SystemZMCTargetDesc.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/SystemZ/SystemZMCTargetDesc.c"
1 change: 1 addition & 0 deletions SystemZMapping.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/SystemZ/SystemZMapping.c"
1 change: 1 addition & 0 deletions SystemZModule.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/SystemZ/SystemZModule.c"
1 change: 1 addition & 0 deletions X86ATTInstPrinter.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/X86/X86ATTInstPrinter.c"
1 change: 1 addition & 0 deletions X86Disassembler.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/X86/X86Disassembler.c"
1 change: 1 addition & 0 deletions X86DisassemblerDecoder.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/X86/X86DisassemblerDecoder.c"
1 change: 1 addition & 0 deletions X86IntelInstPrinter.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/X86/X86IntelInstPrinter.c"
1 change: 1 addition & 0 deletions X86Mapping.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/X86/X86Mapping.c"
1 change: 1 addition & 0 deletions X86Module.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/X86/X86Module.c"
1 change: 1 addition & 0 deletions XCoreDisassembler.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/XCore/XCoreDisassembler.c"
1 change: 1 addition & 0 deletions XCoreInstPrinter.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/XCore/XCoreInstPrinter.c"
1 change: 1 addition & 0 deletions XCoreMapping.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/XCore/XCoreMapping.c"
1 change: 1 addition & 0 deletions XCoreModule.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/arch/XCore/XCoreModule.c"
3 changes: 0 additions & 3 deletions arm64_constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ try reading the *_test.go files.

package gapstone

// #cgo LDFLAGS: -lcapstone
// #cgo freebsd CFLAGS: -I/usr/local/include
// #cgo freebsd LDFLAGS: -L/usr/local/lib
// #include <stdlib.h>
// #include <capstone/capstone.h>
import "C"
Expand Down
3 changes: 0 additions & 3 deletions arm64_decomposer.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@ try reading the *_test.go files.

package gapstone

// #cgo LDFLAGS: -lcapstone
// #cgo freebsd CFLAGS: -I/usr/local/include
// #cgo freebsd LDFLAGS: -L/usr/local/lib
// #include <stdlib.h>
// #include <capstone/capstone.h>
import "C"
Expand Down
3 changes: 0 additions & 3 deletions arm_constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ try reading the *_test.go files.

package gapstone

// #cgo LDFLAGS: -lcapstone
// #cgo freebsd CFLAGS: -I/usr/local/include
// #cgo freebsd LDFLAGS: -L/usr/local/lib
// #include <stdlib.h>
// #include <capstone/capstone.h>
import "C"
Expand Down
3 changes: 0 additions & 3 deletions arm_decomposer.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@ try reading the *_test.go files.

package gapstone

// #cgo LDFLAGS: -lcapstone
// #cgo freebsd CFLAGS: -I/usr/local/include
// #cgo freebsd LDFLAGS: -L/usr/local/lib
// #include <stdlib.h>
// #include <capstone/capstone.h>
import "C"
Expand Down
1 change: 1 addition & 0 deletions capstone
Submodule capstone added at e710e4
1 change: 1 addition & 0 deletions cs.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/cs.c"
5 changes: 2 additions & 3 deletions engine.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@ try reading the *_test.go files.

package gapstone

// #cgo LDFLAGS: -lcapstone
// #cgo freebsd CFLAGS: -I/usr/local/include
// #cgo freebsd LDFLAGS: -L/usr/local/lib
// #cgo CPPFLAGS: -DCAPSTONE_USE_SYS_DYN_MEM -I${SRCDIR}/include -I${SRCDIR}/include/capstone -DCAPSTONE_HAS_ARM -DCAPSTONE_HAS_ARM64 -DCAPSTONE_HAS_MIPS -DCAPSTONE_HAS_POWERPC -DCAPSTONE_HAS_X86 -DCAPSTONE_HAS_SPARC -DCAPSTONE_HAS_SYSZ -DCAPSTONE_HAS_XCORE
// #cgo windows CPPFLAGS: -D__CRT__NO_INLINE
// #include <stdlib.h>
// #include <capstone/capstone.h>
// extern size_t trampoline(uint8_t *buffer, size_t buflen, size_t offset, void *user_data);
Expand Down
3 changes: 0 additions & 3 deletions engine_constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@ try reading the *_test.go files.

package gapstone

// #cgo LDFLAGS: -lcapstone
// #cgo freebsd CFLAGS: -I/usr/local/include
// #cgo freebsd LDFLAGS: -L/usr/local/lib
// #include <stdlib.h>
// #include <capstone/capstone.h>
import "C"
Expand Down
3 changes: 0 additions & 3 deletions genconst
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,6 @@ try reading the *_test.go files.

package gapstone

// #cgo LDFLAGS: -lcapstone
// #cgo freebsd CFLAGS: -I/usr/local/include
// #cgo freebsd LDFLAGS: -L/usr/local/lib
// #include <stdlib.h>
// #include <capstone/capstone.h>
import "C"
Expand Down
20 changes: 10 additions & 10 deletions genspec
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,16 @@ end
stub = ARGV[0].chomp('/')

commands = [
"#{stub}/test > $GOPATH/src/github.com/bnagy/gapstone/test.SPEC",
"#{stub}/test_detail > $GOPATH/src/github.com/bnagy/gapstone/test_detail.SPEC",
"#{stub}/test_arm > $GOPATH/src/github.com/bnagy/gapstone/arm.SPEC",
"#{stub}/test_arm64 > $GOPATH/src/github.com/bnagy/gapstone/arm64.SPEC",
"#{stub}/test_x86 > $GOPATH/src/github.com/bnagy/gapstone/x86.SPEC",
"#{stub}/test_mips > $GOPATH/src/github.com/bnagy/gapstone/mips.SPEC",
"#{stub}/test_ppc > $GOPATH/src/github.com/bnagy/gapstone/ppc.SPEC",
"#{stub}/test_systemz > $GOPATH/src/github.com/bnagy/gapstone/sysZ.SPEC",
"#{stub}/test_sparc > $GOPATH/src/github.com/bnagy/gapstone/sparc.SPEC",
"#{stub}/test_xcore > $GOPATH/src/github.com/bnagy/gapstone/xcore.SPEC"
"#{stub}/test.static > $GOPATH/src/github.com/bnagy/gapstone/test.SPEC",
"#{stub}/test_detail.static > $GOPATH/src/github.com/bnagy/gapstone/test_detail.SPEC",
"#{stub}/test_arm.static > $GOPATH/src/github.com/bnagy/gapstone/arm.SPEC",
"#{stub}/test_arm64.static > $GOPATH/src/github.com/bnagy/gapstone/arm64.SPEC",
"#{stub}/test_x86.static > $GOPATH/src/github.com/bnagy/gapstone/x86.SPEC",
"#{stub}/test_mips.static > $GOPATH/src/github.com/bnagy/gapstone/mips.SPEC",
"#{stub}/test_ppc.static > $GOPATH/src/github.com/bnagy/gapstone/ppc.SPEC",
"#{stub}/test_systemz.static > $GOPATH/src/github.com/bnagy/gapstone/sysZ.SPEC",
"#{stub}/test_sparc.static > $GOPATH/src/github.com/bnagy/gapstone/sparc.SPEC",
"#{stub}/test_xcore.static > $GOPATH/src/github.com/bnagy/gapstone/xcore.SPEC"
]

commands.each {|c|
Expand Down
1 change: 1 addition & 0 deletions include/capstone
3 changes: 0 additions & 3 deletions mips_constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ try reading the *_test.go files.

package gapstone

// #cgo LDFLAGS: -lcapstone
// #cgo freebsd CFLAGS: -I/usr/local/include
// #cgo freebsd LDFLAGS: -L/usr/local/lib
// #include <stdlib.h>
// #include <capstone/capstone.h>
import "C"
Expand Down
3 changes: 0 additions & 3 deletions mips_decomposer.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@ try reading the *_test.go files.

package gapstone

// #cgo LDFLAGS: -lcapstone
// #cgo freebsd CFLAGS: -I/usr/local/include
// #cgo freebsd LDFLAGS: -L/usr/local/lib
// #include <stdlib.h>
// #include <capstone/capstone.h>
import "C"
Expand Down
3 changes: 0 additions & 3 deletions ppc_constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ try reading the *_test.go files.

package gapstone

// #cgo LDFLAGS: -lcapstone
// #cgo freebsd CFLAGS: -I/usr/local/include
// #cgo freebsd LDFLAGS: -L/usr/local/lib
// #include <stdlib.h>
// #include <capstone/capstone.h>
import "C"
Expand Down
3 changes: 0 additions & 3 deletions ppc_decomposer.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@ try reading the *_test.go files.

package gapstone

// #cgo LDFLAGS: -lcapstone
// #cgo freebsd CFLAGS: -I/usr/local/include
// #cgo freebsd LDFLAGS: -L/usr/local/lib
// #include <stdlib.h>
// #include <capstone/capstone.h>
import "C"
Expand Down
3 changes: 0 additions & 3 deletions sparc_constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ try reading the *_test.go files.

package gapstone

// #cgo LDFLAGS: -lcapstone
// #cgo freebsd CFLAGS: -I/usr/local/include
// #cgo freebsd LDFLAGS: -L/usr/local/lib
// #include <stdlib.h>
// #include <capstone/capstone.h>
import "C"
Expand Down
3 changes: 0 additions & 3 deletions sparc_decomposer.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@ try reading the *_test.go files.

package gapstone

// #cgo LDFLAGS: -lcapstone
// #cgo freebsd CFLAGS: -I/usr/local/include
// #cgo freebsd LDFLAGS: -L/usr/local/lib
// #include <stdlib.h>
// #include <capstone/capstone.h>
import "C"
Expand Down
3 changes: 0 additions & 3 deletions sysz_constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ try reading the *_test.go files.

package gapstone

// #cgo LDFLAGS: -lcapstone
// #cgo freebsd CFLAGS: -I/usr/local/include
// #cgo freebsd LDFLAGS: -L/usr/local/lib
// #include <stdlib.h>
// #include <capstone/capstone.h>
import "C"
Expand Down
3 changes: 0 additions & 3 deletions sysz_decomposer.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@ try reading the *_test.go files.

package gapstone

// #cgo LDFLAGS: -lcapstone
// #cgo freebsd CFLAGS: -I/usr/local/include
// #cgo freebsd LDFLAGS: -L/usr/local/lib
// #include <stdlib.h>
// #include <capstone/capstone.h>
import "C"
Expand Down
2 changes: 1 addition & 1 deletion test_detail.SPEC
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ Disasm:
0x1000: bl #0xfbc // insn-ID: 13, insn-mnem: bl
Implicit registers read: pc
Implicit registers modified: lr
This instruction belongs to groups: arm jump
This instruction belongs to groups: jump arm
0x1004: str lr, [sp, #-4]! // insn-ID: 212, insn-mnem: str
This instruction belongs to groups: arm
0x1008: andeq r0, r0, r0 // insn-ID: 8, insn-mnem: and
Expand Down
3 changes: 0 additions & 3 deletions trampoline.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@ try reading the *_test.go files.

package gapstone

// #cgo LDFLAGS: -lcapstone
// #cgo freebsd CFLAGS: -I/usr/local/include
// #cgo freebsd LDFLAGS: -L/usr/local/lib
// #include <stdlib.h>
// #include <capstone/capstone.h>
import "C"
Expand Down
8 changes: 0 additions & 8 deletions travis_install_capstone_stable.sh

This file was deleted.

1 change: 1 addition & 0 deletions utils.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "capstone/utils.c"
3 changes: 0 additions & 3 deletions x86_constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ try reading the *_test.go files.

package gapstone

// #cgo LDFLAGS: -lcapstone
// #cgo freebsd CFLAGS: -I/usr/local/include
// #cgo freebsd LDFLAGS: -L/usr/local/lib
// #include <stdlib.h>
// #include <capstone/capstone.h>
import "C"
Expand Down
3 changes: 0 additions & 3 deletions x86_decomposer.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@ try reading the *_test.go files.

package gapstone

// #cgo LDFLAGS: -lcapstone
// #cgo freebsd CFLAGS: -I/usr/local/include
// #cgo freebsd LDFLAGS: -L/usr/local/lib
// #include <stdlib.h>
// #include <capstone/capstone.h>
import "C"
Expand Down
3 changes: 0 additions & 3 deletions xcore_constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ try reading the *_test.go files.

package gapstone

// #cgo LDFLAGS: -lcapstone
// #cgo freebsd CFLAGS: -I/usr/local/include
// #cgo freebsd LDFLAGS: -L/usr/local/lib
// #include <stdlib.h>
// #include <capstone/capstone.h>
import "C"
Expand Down
3 changes: 0 additions & 3 deletions xcore_decomposer.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@ try reading the *_test.go files.

package gapstone

// #cgo LDFLAGS: -lcapstone
// #cgo freebsd CFLAGS: -I/usr/local/include
// #cgo freebsd LDFLAGS: -L/usr/local/lib
// #include <stdlib.h>
// #include <capstone/capstone.h>
import "C"
Expand Down