mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 10:22:45 +00:00 
			
		
		
		
	 678db534ff
			
		
	
	
		678db534ff
		
	
	
	
	
		
			
			The shared parts are now firmly compiled into LibC instead of being
defined as a static library and then being copied over manually.
The non-shared ("local") parts are kept as a static library that is
linked into each binary on demand.
This finally allows us to support linking with the -fstack-protector
flag, which now replaces the `ssp` target being linked into each binary
accidentally via CMake.
		
	
			
		
			
				
	
	
		
			14 lines
		
	
	
	
		
			486 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			14 lines
		
	
	
	
		
			486 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
| set(SOURCES
 | |
|     UBSanitizer.cpp
 | |
|     ../LibC/ssp.cpp
 | |
|     ../LibC/ssp_nonshared.cpp
 | |
| )
 | |
| 
 | |
| set_source_files_properties(../LibC/ssp.cpp PROPERTIES COMPILE_FLAGS "-fno-stack-protector")
 | |
| set_source_files_properties(../LibC/ssp_nonshared.cpp PROPERTIES COMPILE_FLAGS "-fno-stack-protector")
 | |
| 
 | |
| set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -nostdlib")
 | |
| serenity_libc(LibUBSanitizer ubsan)
 | |
| 
 | |
| add_library(LibUBSanitizerStatic STATIC ${SOURCES})
 | |
| target_link_libraries(LibUBSanitizerStatic PRIVATE NoCoverage)
 |