keystone-engine / keystone

Keystone assembler framework: Core (Arm, Arm64, Hexagon, Mips, PowerPC, Sparc, SystemZ & X86) + bindings
http://www.keystone-engine.org
GNU General Public License v2.0
2.31k stars 459 forks source link

M68K support? #312

Open lab313ru opened 7 years ago

lab313ru commented 7 years ago

It would be great to support it (as in the Next branch of Capstone).

lab313ru commented 7 years ago

It has support for M68K too. http://xi6.com/projects/asmx/

aquynh commented 7 years ago

you are very much welcome to send a pull req to add M68K support to Keystone!

shiftre commented 7 years ago

Hehe, I'm a bit interested about it too, it looks like Unicorn supports it,(due to Qemu?), and there is some unofficial port for LLVM.

Is there any official documentation or some hints about adding new architectures?

aquynh commented 7 years ago

No docs, but i can say that adding a new architecture includes good amount of work.

I would make PPC a priority, if i have time to add a new architecture.

aquynh commented 7 years ago

Hmm i am confused: are you talking about adding a new arch to Unicorn (wrong place here)?

shiftre commented 7 years ago

it looks like unicorn supports m68k but keystone doesn't.

There is a github repo with both LLVM and Clang which supports it but I'm guessing it's not in master, I don't mind adding support here, but I would need some guidance or at least some hints.

shiftre commented 7 years ago

What do you think? Merging this repo would help or not?

aquynh commented 7 years ago

yes definitely. to start, you can look at file https://github.com/keystone-engine/keystone/blob/master/llvm/keystone/ks.cpp to see how to add a new architecture.

shiftre commented 7 years ago

ok great.