clang-randstruct / llvm-project

Randomize the order of fields in a structure layout as a compile-time hardening feature
3 stars 1 forks source link

Build LLVM Project on Windows #8

Closed tim-pugh closed 5 years ago

tim-pugh commented 5 years ago

Considering there is two methods to layout records (one for unix and one for MS based systems), we need to consider getting a build of LLVM working on windows.

Instructions are here: https://llvm.org/docs/GettingStartedVS.html

tim-pugh commented 5 years ago

I've been getting a machine prepped. I can't say if this will work or not considering the instructions are a bit complex, but I'm giving it a go.

tim-pugh commented 5 years ago

Instructions are on the team drive, build completed successfully. screenshot from 2019-02-01 17-57-43

tim-pugh commented 5 years ago

I'm next working on swapping the VS toolchain to clang. It turns out there appears to be some easy steps on accomplishing this:

https://blogs.msdn.microsoft.com/vcblog/2017/03/07/use-any-c-compiler-with-visual-studio/

https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.llvm-toolchain (must have LLVM installed first, see below)

https://releases.llvm.org/download.html (look for the windows binary 64 bit installer)

Right now, I'm building the simple test program to see if it is truly working correctly from this guide:

https://llvm.org/docs/GettingStartedVS.html

tim-pugh commented 5 years ago

Using gnuwin32 I was able to build a simple hello world program written in C and output a .exe so as far as I know things are working correctly (at least according to the guide).

screenshot from 2019-02-01 18-48-38

tim-pugh commented 5 years ago

Built on windows, will test programs in a separate issue.