mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-11-04 09:32:00 +00:00 
			
		
		
		
	cmake : add sanitizer flags for llama.cpp
ggml-ci
This commit is contained in:
		@@ -4,6 +4,23 @@ find_package(Threads REQUIRED)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
llama_add_compile_flags()
 | 
					llama_add_compile_flags()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (NOT MSVC)
 | 
				
			||||||
 | 
					    if (LLAMA_SANITIZE_THREAD)
 | 
				
			||||||
 | 
					        add_compile_options(-fsanitize=thread)
 | 
				
			||||||
 | 
					        link_libraries     (-fsanitize=thread)
 | 
				
			||||||
 | 
					    endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (LLAMA_SANITIZE_ADDRESS)
 | 
				
			||||||
 | 
					        add_compile_options(-fsanitize=address -fno-omit-frame-pointer)
 | 
				
			||||||
 | 
					        link_libraries     (-fsanitize=address)
 | 
				
			||||||
 | 
					    endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (LLAMA_SANITIZE_UNDEFINED)
 | 
				
			||||||
 | 
					        add_compile_options(-fsanitize=undefined)
 | 
				
			||||||
 | 
					        link_libraries     (-fsanitize=undefined)
 | 
				
			||||||
 | 
					    endif()
 | 
				
			||||||
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Build info header
 | 
					# Build info header
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,6 +10,23 @@ find_package(Threads REQUIRED)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
llama_add_compile_flags()
 | 
					llama_add_compile_flags()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (NOT MSVC)
 | 
				
			||||||
 | 
					    if (LLAMA_SANITIZE_THREAD)
 | 
				
			||||||
 | 
					        add_compile_options(-fsanitize=thread)
 | 
				
			||||||
 | 
					        link_libraries     (-fsanitize=thread)
 | 
				
			||||||
 | 
					    endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (LLAMA_SANITIZE_ADDRESS)
 | 
				
			||||||
 | 
					        add_compile_options(-fsanitize=address -fno-omit-frame-pointer)
 | 
				
			||||||
 | 
					        link_libraries     (-fsanitize=address)
 | 
				
			||||||
 | 
					    endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (LLAMA_SANITIZE_UNDEFINED)
 | 
				
			||||||
 | 
					        add_compile_options(-fsanitize=undefined)
 | 
				
			||||||
 | 
					        link_libraries     (-fsanitize=undefined)
 | 
				
			||||||
 | 
					    endif()
 | 
				
			||||||
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# examples
 | 
					# examples
 | 
				
			||||||
 | 
					
 | 
				
			||||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
 | 
					include_directories(${CMAKE_CURRENT_SOURCE_DIR})
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,22 @@
 | 
				
			|||||||
llama_add_compile_flags()
 | 
					llama_add_compile_flags()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (NOT MSVC)
 | 
				
			||||||
 | 
					    if (LLAMA_SANITIZE_THREAD)
 | 
				
			||||||
 | 
					        add_compile_options(-fsanitize=thread)
 | 
				
			||||||
 | 
					        link_libraries     (-fsanitize=thread)
 | 
				
			||||||
 | 
					    endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (LLAMA_SANITIZE_ADDRESS)
 | 
				
			||||||
 | 
					        add_compile_options(-fsanitize=address -fno-omit-frame-pointer)
 | 
				
			||||||
 | 
					        link_libraries     (-fsanitize=address)
 | 
				
			||||||
 | 
					    endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (LLAMA_SANITIZE_UNDEFINED)
 | 
				
			||||||
 | 
					        add_compile_options(-fsanitize=undefined)
 | 
				
			||||||
 | 
					        link_libraries     (-fsanitize=undefined)
 | 
				
			||||||
 | 
					    endif()
 | 
				
			||||||
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# libraries
 | 
					# libraries
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,22 @@
 | 
				
			|||||||
 | 
					llama_add_compile_flags()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (NOT MSVC)
 | 
				
			||||||
 | 
					    if (LLAMA_SANITIZE_THREAD)
 | 
				
			||||||
 | 
					        add_compile_options(-fsanitize=thread)
 | 
				
			||||||
 | 
					        link_libraries     (-fsanitize=thread)
 | 
				
			||||||
 | 
					    endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (LLAMA_SANITIZE_ADDRESS)
 | 
				
			||||||
 | 
					        add_compile_options(-fsanitize=address -fno-omit-frame-pointer)
 | 
				
			||||||
 | 
					        link_libraries     (-fsanitize=address)
 | 
				
			||||||
 | 
					    endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (LLAMA_SANITIZE_UNDEFINED)
 | 
				
			||||||
 | 
					        add_compile_options(-fsanitize=undefined)
 | 
				
			||||||
 | 
					        link_libraries     (-fsanitize=undefined)
 | 
				
			||||||
 | 
					    endif()
 | 
				
			||||||
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function(llama_test target)
 | 
					function(llama_test target)
 | 
				
			||||||
    include(CMakeParseArguments)
 | 
					    include(CMakeParseArguments)
 | 
				
			||||||
    set(options)
 | 
					    set(options)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user