microsoft / llvm-mctoll

llvm-mctoll
Other
816 stars 125 forks source link

Add support to aarch64 #150

Open KelvinChung2000 opened 2 years ago

KelvinChung2000 commented 2 years ago

Hi,

Is it possible to make the tool support for aarch64 as well? I have done some research, and aarch64 and arm64 should be the same thing. Now the tool, when seeing the binary is built to aarch64, will fail to go forward.

bharadwajy commented 2 years ago

Thanks for your interest. While it is very desirable to support ARM[32 or 64], I would highly appreciate any help with this. At present, I do not have the time to implement this.

KelvinChung2000 commented 2 years ago

Would you able to give me some direction what need to be done in order to enable the support? I am new to open source development and not too sure where to start.

bharadwajy commented 2 years ago

I'd suggest modeling support for raising aarch64 binaries based on the existing support for x64 (in top-level X86 directory) in a new top-level directory - say aarch64. You can start by putting together a source file (without library calls) with a simple add function and a main function that calls it - or some such - and work on raising its aarch64 executable. Then you can work on raising an aarch64 binary for one of the simpler test cases in the test/smoke_tests directory - say hello.c, with library calls.

For guidance, you can compile the same file targeting x64 and see how it is raised, via a combination of existing verbose output facility of the llvm-mctoll tool, adding more messages - if needed, and of course gdb.

Feel free to submit any bugs you might see when handling x64 binaries.

As you will very well know, there is a lot of great general guidance regarding working with OSS using GitHub on the web and GitHub help sections, in case you need it.