HExSA-Lab / nautilus

Nautilus Aerokernel
Other
44 stars 60 forks source link

Clang -O3 compile+run core kernel, Clang functional for almost all features, assorted bug fixes #15

Closed PeterDinda closed 5 years ago

PeterDinda commented 5 years ago

This sequence of commits do the following

  1. They make the core kernel compile and run successfully with Clang 3.7/8 and Clang 6.0, as we well as GCC (5.4). Basically, on all the default ("apt get") environments in Ubuntu 16. On Clang, -O2 now works, as does -O3. The biggest fixes are more boot code to avoid using SSE until the FPU is initialized.

  2. They make almost everything successfully build on Clang 6.0 and GCC 5.4. The exceptions are Legion (not tried), OpenMP tests (work in progress), and LUA tests (I think).

  3. They make the build environment configurable without tweaking the Makefile.

khale commented 5 years ago

Nice. I was using clang 7 when doing the initial port. I'll have to give this a try on my version.

@PeterDinda it looks like 664c78d is a duplicate of 61b1dcf

khale commented 5 years ago

This pull request fixes 1 alert when merging 7d8f6a56fc8329e5ed7cdaeac4e46300f396ce80 into 61b1dcfccee0cd8575b2d593c7aeac9a52aed406 - view on LGTM.com

fixed alerts:


Comment posted by LGTM.com

PeterDinda commented 5 years ago

Updated the debug test config to include the compiler stuff (gcc). Plus some wonky Makefile crud to get the config targets to work correctly if .config doesn't exist.