llvm-project/compiler-rt/lib/scudo
Michal Gorny c74123bdff [cmake] Disable appending -msse4.2 flag implicitly
Disable the code appending -msse4.2 flag implicitly when the compiler
supports it. The compiler support for this flags do not indicate that
the underlying CPU will support SSE4.2, and passing it may result in
SSE4.2 code being emitted *implicitly*.

If the target platform supports SSE4.2 appropriately, the relevant bits
should be already enabled via -march= or equivalent. In this case
passing -msse4.2 is redundant.

If a runtime detection is desired (which seems to be a case with SCUDO),
then (as gcc manpage points out) the specific SSE4.2 needs to be
isolated into a separate file, the -msse4.2 flag can be forced only
for that file and the function defined in that file can only be called
when the CPU is determined to support SSE4.2.

This fixes SIGILL on SCUDO when it is compiled using gcc-5.4.

Differential Revision: https://reviews.llvm.org/D28304

llvm-svn: 291217
2017-01-06 08:21:02 +00:00
..
CMakeLists.txt [cmake] Disable appending -msse4.2 flag implicitly 2017-01-06 08:21:02 +00:00
scudo_allocator.cpp [scudo] Use DefaultSizeClassMap for 32-bit 2016-12-15 18:06:55 +00:00
scudo_allocator.h [scudo] Use DefaultSizeClassMap for 32-bit 2016-12-15 18:06:55 +00:00
scudo_allocator_secondary.h Corrected D27428: Do not use the alignment-rounded-up size with secondary 2016-12-13 19:31:54 +00:00
scudo_flags.cpp [scudo] 32-bit and hardware agnostic support 2016-11-30 17:32:20 +00:00
scudo_flags.h [scudo] 32-bit and hardware agnostic support 2016-11-30 17:32:20 +00:00
scudo_flags.inc
scudo_interceptors.cpp [scudo] 32-bit and hardware agnostic support 2016-11-30 17:32:20 +00:00
scudo_new_delete.cpp [scudo] 32-bit and hardware agnostic support 2016-11-30 17:32:20 +00:00
scudo_termination.cpp [scudo] 32-bit and hardware agnostic support 2016-11-30 17:32:20 +00:00
scudo_utils.cpp [sanitizer] Do not use the alignment-rounded-up size when using the secondary 2016-12-08 19:05:46 +00:00
scudo_utils.h [scudo] 32-bit and hardware agnostic support 2016-11-30 17:32:20 +00:00