|  | @@ -95,6 +95,42 @@ LDXX_opt = $(DEFAULT_CXX)
 | 
	
		
			
				|  |  |  CPPFLAGS_opt = -O2
 | 
	
		
			
				|  |  |  DEFINES_opt = NDEBUG
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +VALID_CONFIG_asan-trace-cmp = 1
 | 
	
		
			
				|  |  | +REQUIRE_CUSTOM_LIBRARIES_asan-trace-cmp = 1
 | 
	
		
			
				|  |  | +CC_asan-trace-cmp = clang
 | 
	
		
			
				|  |  | +CXX_asan-trace-cmp = clang++
 | 
	
		
			
				|  |  | +LD_asan-trace-cmp = clang
 | 
	
		
			
				|  |  | +LDXX_asan-trace-cmp = clang++
 | 
	
		
			
				|  |  | +CPPFLAGS_asan-trace-cmp = -O0 -fsanitize-coverage=edge -fsanitize-coverage=trace-cmp -fsanitize=address -fno-omit-frame-pointer -Wno-unused-command-line-argument -DGPR_NO_DIRECT_SYSCALLS
 | 
	
		
			
				|  |  | +LDFLAGS_asan-trace-cmp = -fsanitize=address
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +VALID_CONFIG_dbg = 1
 | 
	
		
			
				|  |  | +CC_dbg = $(DEFAULT_CC)
 | 
	
		
			
				|  |  | +CXX_dbg = $(DEFAULT_CXX)
 | 
	
		
			
				|  |  | +LD_dbg = $(DEFAULT_CC)
 | 
	
		
			
				|  |  | +LDXX_dbg = $(DEFAULT_CXX)
 | 
	
		
			
				|  |  | +CPPFLAGS_dbg = -O0
 | 
	
		
			
				|  |  | +DEFINES_dbg = _DEBUG DEBUG
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +VALID_CONFIG_asan = 1
 | 
	
		
			
				|  |  | +REQUIRE_CUSTOM_LIBRARIES_asan = 1
 | 
	
		
			
				|  |  | +CC_asan = clang
 | 
	
		
			
				|  |  | +CXX_asan = clang++
 | 
	
		
			
				|  |  | +LD_asan = clang
 | 
	
		
			
				|  |  | +LDXX_asan = clang++
 | 
	
		
			
				|  |  | +CPPFLAGS_asan = -O0 -fsanitize-coverage=edge -fsanitize=address -fno-omit-frame-pointer -Wno-unused-command-line-argument -DGPR_NO_DIRECT_SYSCALLS
 | 
	
		
			
				|  |  | +LDFLAGS_asan = -fsanitize=address
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +VALID_CONFIG_msan = 1
 | 
	
		
			
				|  |  | +REQUIRE_CUSTOM_LIBRARIES_msan = 1
 | 
	
		
			
				|  |  | +CC_msan = clang
 | 
	
		
			
				|  |  | +CXX_msan = clang++
 | 
	
		
			
				|  |  | +LD_msan = clang
 | 
	
		
			
				|  |  | +LDXX_msan = clang++
 | 
	
		
			
				|  |  | +CPPFLAGS_msan = -O0 -fsanitize-coverage=edge -fsanitize=memory -fsanitize-memory-track-origins -fno-omit-frame-pointer -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1 -Wno-unused-command-line-argument -fPIE -pie -DGPR_NO_DIRECT_SYSCALLS
 | 
	
		
			
				|  |  | +LDFLAGS_msan = -fsanitize=memory -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1 -fPIE -pie $(if $(JENKINS_BUILD),-Wl$(comma)-Ttext-segment=0x7e0000000000,)
 | 
	
		
			
				|  |  | +DEFINES_msan = NDEBUG
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  VALID_CONFIG_basicprof = 1
 | 
	
		
			
				|  |  |  CC_basicprof = $(DEFAULT_CC)
 | 
	
		
			
				|  |  |  CXX_basicprof = $(DEFAULT_CXX)
 | 
	
	
		
			
				|  | @@ -121,22 +157,25 @@ LDXX_asan-noleaks = clang++
 | 
	
		
			
				|  |  |  CPPFLAGS_asan-noleaks = -O0 -fsanitize-coverage=edge -fsanitize=address -fno-omit-frame-pointer -Wno-unused-command-line-argument -DGPR_NO_DIRECT_SYSCALLS
 | 
	
		
			
				|  |  |  LDFLAGS_asan-noleaks = -fsanitize=address
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -VALID_CONFIG_asan-trace-cmp = 1
 | 
	
		
			
				|  |  | -REQUIRE_CUSTOM_LIBRARIES_asan-trace-cmp = 1
 | 
	
		
			
				|  |  | -CC_asan-trace-cmp = clang
 | 
	
		
			
				|  |  | -CXX_asan-trace-cmp = clang++
 | 
	
		
			
				|  |  | -LD_asan-trace-cmp = clang
 | 
	
		
			
				|  |  | -LDXX_asan-trace-cmp = clang++
 | 
	
		
			
				|  |  | -CPPFLAGS_asan-trace-cmp = -O0 -fsanitize-coverage=edge -fsanitize-coverage=trace-cmp -fsanitize=address -fno-omit-frame-pointer -Wno-unused-command-line-argument -DGPR_NO_DIRECT_SYSCALLS
 | 
	
		
			
				|  |  | -LDFLAGS_asan-trace-cmp = -fsanitize=address
 | 
	
		
			
				|  |  | +VALID_CONFIG_ubsan = 1
 | 
	
		
			
				|  |  | +REQUIRE_CUSTOM_LIBRARIES_ubsan = 1
 | 
	
		
			
				|  |  | +CC_ubsan = clang
 | 
	
		
			
				|  |  | +CXX_ubsan = clang++
 | 
	
		
			
				|  |  | +LD_ubsan = clang
 | 
	
		
			
				|  |  | +LDXX_ubsan = clang++
 | 
	
		
			
				|  |  | +CPPFLAGS_ubsan = -O0 -fsanitize-coverage=edge -fsanitize=undefined,unsigned-integer-overflow -fno-omit-frame-pointer -Wno-unused-command-line-argument -Wvarargs
 | 
	
		
			
				|  |  | +LDFLAGS_ubsan = -fsanitize=undefined,unsigned-integer-overflow
 | 
	
		
			
				|  |  | +DEFINES_ubsan = NDEBUG
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -VALID_CONFIG_dbg = 1
 | 
	
		
			
				|  |  | -CC_dbg = $(DEFAULT_CC)
 | 
	
		
			
				|  |  | -CXX_dbg = $(DEFAULT_CXX)
 | 
	
		
			
				|  |  | -LD_dbg = $(DEFAULT_CC)
 | 
	
		
			
				|  |  | -LDXX_dbg = $(DEFAULT_CXX)
 | 
	
		
			
				|  |  | -CPPFLAGS_dbg = -O0
 | 
	
		
			
				|  |  | -DEFINES_dbg = _DEBUG DEBUG
 | 
	
		
			
				|  |  | +VALID_CONFIG_tsan = 1
 | 
	
		
			
				|  |  | +REQUIRE_CUSTOM_LIBRARIES_tsan = 1
 | 
	
		
			
				|  |  | +CC_tsan = clang
 | 
	
		
			
				|  |  | +CXX_tsan = clang++
 | 
	
		
			
				|  |  | +LD_tsan = clang
 | 
	
		
			
				|  |  | +LDXX_tsan = clang++
 | 
	
		
			
				|  |  | +CPPFLAGS_tsan = -O0 -fsanitize=thread -fno-omit-frame-pointer -Wno-unused-command-line-argument -DGPR_NO_DIRECT_SYSCALLS
 | 
	
		
			
				|  |  | +LDFLAGS_tsan = -fsanitize=thread
 | 
	
		
			
				|  |  | +DEFINES_tsan = GRPC_TSAN
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  VALID_CONFIG_stapprof = 1
 | 
	
		
			
				|  |  |  CC_stapprof = $(DEFAULT_CC)
 | 
	
	
		
			
				|  | @@ -164,52 +203,22 @@ CPPFLAGS_memcheck = -O0
 | 
	
		
			
				|  |  |  LDFLAGS_memcheck = -rdynamic
 | 
	
		
			
				|  |  |  DEFINES_memcheck = _DEBUG DEBUG
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -VALID_CONFIG_asan = 1
 | 
	
		
			
				|  |  | -REQUIRE_CUSTOM_LIBRARIES_asan = 1
 | 
	
		
			
				|  |  | -CC_asan = clang
 | 
	
		
			
				|  |  | -CXX_asan = clang++
 | 
	
		
			
				|  |  | -LD_asan = clang
 | 
	
		
			
				|  |  | -LDXX_asan = clang++
 | 
	
		
			
				|  |  | -CPPFLAGS_asan = -O0 -fsanitize-coverage=edge -fsanitize=address -fno-omit-frame-pointer -Wno-unused-command-line-argument -DGPR_NO_DIRECT_SYSCALLS
 | 
	
		
			
				|  |  | -LDFLAGS_asan = -fsanitize=address
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -VALID_CONFIG_tsan = 1
 | 
	
		
			
				|  |  | -REQUIRE_CUSTOM_LIBRARIES_tsan = 1
 | 
	
		
			
				|  |  | -CC_tsan = clang
 | 
	
		
			
				|  |  | -CXX_tsan = clang++
 | 
	
		
			
				|  |  | -LD_tsan = clang
 | 
	
		
			
				|  |  | -LDXX_tsan = clang++
 | 
	
		
			
				|  |  | -CPPFLAGS_tsan = -O0 -fsanitize=thread -fno-omit-frame-pointer -Wno-unused-command-line-argument -DGPR_NO_DIRECT_SYSCALLS
 | 
	
		
			
				|  |  | -LDFLAGS_tsan = -fsanitize=thread
 | 
	
		
			
				|  |  | -DEFINES_tsan = GRPC_TSAN
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -VALID_CONFIG_ubsan = 1
 | 
	
		
			
				|  |  | -REQUIRE_CUSTOM_LIBRARIES_ubsan = 1
 | 
	
		
			
				|  |  | -CC_ubsan = clang
 | 
	
		
			
				|  |  | -CXX_ubsan = clang++
 | 
	
		
			
				|  |  | -LD_ubsan = clang
 | 
	
		
			
				|  |  | -LDXX_ubsan = clang++
 | 
	
		
			
				|  |  | -CPPFLAGS_ubsan = -O0 -fsanitize-coverage=edge -fsanitize=undefined,unsigned-integer-overflow -fno-omit-frame-pointer -Wno-unused-command-line-argument -Wvarargs
 | 
	
		
			
				|  |  | -LDFLAGS_ubsan = -fsanitize=undefined,unsigned-integer-overflow
 | 
	
		
			
				|  |  | -DEFINES_ubsan = NDEBUG
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -VALID_CONFIG_msan = 1
 | 
	
		
			
				|  |  | -REQUIRE_CUSTOM_LIBRARIES_msan = 1
 | 
	
		
			
				|  |  | -CC_msan = clang
 | 
	
		
			
				|  |  | -CXX_msan = clang++
 | 
	
		
			
				|  |  | -LD_msan = clang
 | 
	
		
			
				|  |  | -LDXX_msan = clang++
 | 
	
		
			
				|  |  | -CPPFLAGS_msan = -O0 -fsanitize-coverage=edge -fsanitize=memory -fsanitize-memory-track-origins -fno-omit-frame-pointer -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1 -Wno-unused-command-line-argument -fPIE -pie -DGPR_NO_DIRECT_SYSCALLS
 | 
	
		
			
				|  |  | -LDFLAGS_msan = -fsanitize=memory -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1 -fPIE -pie $(if $(JENKINS_BUILD),-Wl$(comma)-Ttext-segment=0x7e0000000000,)
 | 
	
		
			
				|  |  | -DEFINES_msan = NDEBUG
 | 
	
		
			
				|  |  | +VALID_CONFIG_lto = 1
 | 
	
		
			
				|  |  | +CC_lto = $(DEFAULT_CC)
 | 
	
		
			
				|  |  | +CXX_lto = $(DEFAULT_CXX)
 | 
	
		
			
				|  |  | +LD_lto = $(DEFAULT_CC)
 | 
	
		
			
				|  |  | +LDXX_lto = $(DEFAULT_CXX)
 | 
	
		
			
				|  |  | +CPPFLAGS_lto = -O3 -flto
 | 
	
		
			
				|  |  | +LDFLAGS_lto = -O3 -flto
 | 
	
		
			
				|  |  | +DEFINES_lto = NDEBUG
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  VALID_CONFIG_mutrace = 1
 | 
	
		
			
				|  |  |  CC_mutrace = $(DEFAULT_CC)
 | 
	
		
			
				|  |  |  CXX_mutrace = $(DEFAULT_CXX)
 | 
	
		
			
				|  |  |  LD_mutrace = $(DEFAULT_CC)
 | 
	
		
			
				|  |  |  LDXX_mutrace = $(DEFAULT_CXX)
 | 
	
		
			
				|  |  | -CPPFLAGS_mutrace = -O3 -fno-omit-frame-pointer
 | 
	
		
			
				|  |  | -LDFLAGS_mutrace = -rdynamic
 | 
	
		
			
				|  |  | +CPPFLAGS_mutrace = -O3 -fno-omit-frame-pointer -flto
 | 
	
		
			
				|  |  | +LDFLAGS_mutrace = -rdynamic -O3 -flto
 | 
	
		
			
				|  |  |  DEFINES_mutrace = NDEBUG
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  VALID_CONFIG_counters = 1
 | 
	
	
		
			
				|  | @@ -217,7 +226,8 @@ CC_counters = $(DEFAULT_CC)
 | 
	
		
			
				|  |  |  CXX_counters = $(DEFAULT_CXX)
 | 
	
		
			
				|  |  |  LD_counters = $(DEFAULT_CC)
 | 
	
		
			
				|  |  |  LDXX_counters = $(DEFAULT_CXX)
 | 
	
		
			
				|  |  | -CPPFLAGS_counters = -O2 -DGPR_LOW_LEVEL_COUNTERS
 | 
	
		
			
				|  |  | +CPPFLAGS_counters = -O3 -flto -DGPR_LOW_LEVEL_COUNTERS
 | 
	
		
			
				|  |  | +LDFLAGS_counters = -O3 -flto
 | 
	
		
			
				|  |  |  DEFINES_counters = NDEBUG
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 |