TriDis / ditricore

A demo TriCore disassembler
MIT License
9 stars 2 forks source link

Is this still supported/working #2

Open DarrylC03 opened 4 years ago

DarrylC03 commented 4 years ago

I have tried to build this and it will not build. Also the llvm-tricore distribution you reference will not build as well. Can you provide information on how to build a release. Any help would be greatly appreciated.

sidneyp commented 4 years ago

Hello Darryl, Sure! First, you need to install the llvm-tricore. I sent you the building command in the issue you sent there. I think this is the commands I used to build ditricore:

mkdir build-ditricore
cd build-ditricore
cmake -DCMAKE_CXX_COMPILER=g++-5 -DCMAKE_C_COMPILER=gcc-5 ../ditricore/
cmake --build .
cmake --build . --target all

I hope they work!

XVilka commented 1 year ago

The full support of Tricore was added into the mainstream capstone: https://github.com/capstone-engine/capstone/tree/next/arch/TriCore

Feel free to try and report any bugs if there are any.

XVilka commented 1 year ago

We also use this new Capstone support (not yet released) in the capstone-ng branch of Rizin, which you can use for the high-level disassembly (opened https://github.com/hamma96/ERIKA-OS-on-TriCore/blob/master/out/erika3app.elf):

Screenshot 2023-06-21 at 14 29 38 Screenshot 2023-06-21 at 14 30 07 Screenshot 2023-06-21 at 18 01 07

It will take some time (a couple months probably) until capstone-ng will be merged into the dev and be a part of a new Rizin & Cutter release due to the incomplete auto-sync for other architectures, like ARM, PPC, etc: https://github.com/capstone-engine/capstone/issues/2015

See https://github.com/rizinorg/rizin/pull/3564

XVilka commented 7 months ago

Just a heads up - mainline Capstone now has merged Tricore support, and it's well-tested through Rizin. If you meet any bugs during the use (please be sure to use the capstone version from the next branch or Rizin from dev until capstone-6.0 and rizin-0.7.0 respective versions are released) - feel free to open an issue in the corresponding repositories.