added a dockerfile that builds on arm
I created a docker file that builds on arm.
Hi @chadbrewbaker, thanks for your PR! Really appreciated!
I have a few questions:
- could you also add something about it on the documentation or ReadMe ? With an example platform where you tested it ?
- changes vs the original Dockerfile seem to be only LLVM related compilation flags, is this because of a problem with LLVM version on ARM ? It would be good to document it too, so we know the reason (which may change over time)
- Can we modify the original docker file instead, like with a flag or arch specific support (https://docs.docker.com/desktop/multi-arch/ or rather something like https://stackoverflow.com/a/58222507 ) I'm afraid that the two Dockerfiles would diverge over time and this would lead to problems...
- Were you able to use SymCC successfully on ARM ?
I wrote/executed it on my aarch64 mac M1 with the latest docker and symcc. It built the sample C++ program and emitted about 8 traces, one of which found the flag - "root" was it?
Sure, I can look at detecting the architecture and merging the two Docker files. llvm-10 toolchain worked fine.
It would be great to make sure that Mac users can build the Docker image, but I agree with @aurelf that we should try to make our existing Dockerfile compatible with AArch64 Macs instead of adding another one. Sadly, I don't have a device to test on, and GitHub doesn't seem to provide hosted AArch64 CI runners yet.
Let's see if we can find any volunteers to test on a Mac. Otherwise, I'm going to close the PR in a couple weeks or so.