Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Please note that the configure script may have some issues depending on your system:
- x86_64-w64-mingw32-gcc.exe (64 bits): detected size_t is "unsigned long long" but the configure doesn't accept it and cil.ml doesn't recognize it. Edit the configure script, search for "real_type=" and explicitly declare it (e.g., "real_type='unsigned long'"). Then run: "./configure CC=x86_64-w64-mingw32-gcc.exe" and "make RELEASE=1"
- i686-w64-mingw32 (32 bits): if you get the following error message "/usr/i686-w64-mingw32/sys-root/mingw/include/stdlib.h:336: Error: Undefined function", define out the function _abs64:
#ifdef __MINGW_INTRIN_INLINE
__MINGW_INTRIN_INLINE __int64 __cdecl _abs64(__int64 x) { return __builtin_llabs(x);}
#endif
Steps to generate oblivc.dll and oblivc.lib:
Compiling with Obliv-C:
Please note that the CIL compiler underlying Obliv-C doesn't support intrinsics: you may have to comment/define out all the intrinsics definitions from system's headers (e.g., avx512fintrin.h, avxintrin.h, emmintrin.h, f16cintrin.h, mm3dnow.h, xmmintrin.h)