[sanitizers] Pass CMAKE_C_FLAGS into TSan buildgo script
When compiling with ccache, compiler commands get split into smaller steps and clang's default -Wunused-command-line-argument complains about unused include directory arguments. In combination -Werror, compilation aborts. This patch passes the CMAKE_C_FLAGS into the build script. Configuring with -DCMAKE_C_FLAGS=-Wno-unused-command-line-argument allows successful testing. Differential Revision: https://reviews.llvm.org/D96762
This commit is contained in:
		
							parent
							
								
									085dcc8217
								
							
						
					
					
						commit
						ac6c13bfc4
					
				| 
						 | 
				
			
			@ -156,6 +156,7 @@ if(APPLE)
 | 
			
		|||
  set(BUILDGO_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/go/buildgo.sh)
 | 
			
		||||
  add_custom_target(GotsanRuntimeCheck
 | 
			
		||||
    COMMAND env "CC=${CMAKE_C_COMPILER} ${OSX_SYSROOT_FLAG}"
 | 
			
		||||
            EXTRA_CFLAGS=${CMAKE_C_FLAGS}
 | 
			
		||||
            IN_TMPDIR=1 SILENT=1 ${BUILDGO_SCRIPT}
 | 
			
		||||
    DEPENDS tsan ${BUILDGO_SCRIPT}
 | 
			
		||||
    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/go
 | 
			
		||||
| 
						 | 
				
			
			@ -170,6 +171,7 @@ else()
 | 
			
		|||
      set(BUILDGO_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/go/buildgo.sh)
 | 
			
		||||
      add_custom_target(GotsanRuntimeCheck
 | 
			
		||||
        COMMAND env "CC=${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1}"
 | 
			
		||||
                EXTRA_CFLAGS=${CMAKE_C_FLAGS}
 | 
			
		||||
                IN_TMPDIR=1 SILENT=1 ${BUILDGO_SCRIPT}
 | 
			
		||||
        DEPENDS clang_rt.tsan-${arch} ${BUILDGO_SCRIPT}
 | 
			
		||||
        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/go
 | 
			
		||||
| 
						 | 
				
			
			@ -181,6 +183,7 @@ else()
 | 
			
		|||
      set(BUILDGO_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/go/buildgo.sh)
 | 
			
		||||
      add_custom_target(GotsanRuntimeCheck
 | 
			
		||||
	COMMAND env "CC=${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1}"
 | 
			
		||||
		EXTRA_CFLAGS=${CMAKE_C_FLAGS} 
 | 
			
		||||
		IN_TMPDIR=1 SILENT=1 ${BUILDGO_SCRIPT}
 | 
			
		||||
	DEPENDS clang_rt.tsan-${arch} ${BUILDGO_SCRIPT}
 | 
			
		||||
	WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/go
 | 
			
		||||
| 
						 | 
				
			
			@ -192,6 +195,7 @@ else()
 | 
			
		|||
      set(BUILDGO_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/go/buildgo.sh)
 | 
			
		||||
      add_custom_target(GotsanRuntimeCheck
 | 
			
		||||
	COMMAND env "CC=${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1}"
 | 
			
		||||
		EXTRA_CFLAGS=${CMAKE_C_FLAGS} 
 | 
			
		||||
		IN_TMPDIR=1 SILENT=1 ${BUILDGO_SCRIPT}
 | 
			
		||||
	DEPENDS clang_rt.tsan-${arch} ${BUILDGO_SCRIPT}
 | 
			
		||||
	WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/go
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -171,7 +171,7 @@ for F in $SRCS; do
 | 
			
		|||
	cat $F >> $DIR/gotsan.cpp
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
FLAGS=" -I../rtl -I../.. -I../../sanitizer_common -I../../../include -std=c++14 -Wall -fno-exceptions -fno-rtti -DSANITIZER_GO=1 -DSANITIZER_DEADLOCK_DETECTOR_VERSION=2 $OSCFLAGS $ARCHCFLAGS"
 | 
			
		||||
FLAGS=" -I../rtl -I../.. -I../../sanitizer_common -I../../../include -std=c++14 -Wall -fno-exceptions -fno-rtti -DSANITIZER_GO=1 -DSANITIZER_DEADLOCK_DETECTOR_VERSION=2 $OSCFLAGS $ARCHCFLAGS $EXTRA_CFLAGS"
 | 
			
		||||
DEBUG_FLAGS="$FLAGS -DSANITIZER_DEBUG=1 -g"
 | 
			
		||||
FLAGS="$FLAGS -DSANITIZER_DEBUG=0 -O3 -fomit-frame-pointer"
 | 
			
		||||
if [ "$SUFFIX" = "linux_ppc64le" ]; then
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue