DRTVWR-418: Until we figure out how to say FIXED:NO to linker, don't.
The present CMake logic wants to pass FIXED:NO to the linker for 64-bit builds, which on the face of it seems like a Good Thing: it permits code to be relocated in memory, preventing collisions if two libraries happen to want to load into overlapping address ranges. However the way it's being specified is wrong and harmful. Passing /FIXED:NO to the compiler command line engages /FI (Forced Include!) of a nonexistent file XED:NO -- producing lots of baffling fatal compile errors. Thanks Callum for diagnosing this!meow-7.2.2
parent
68d98acb92
commit
8a461c00f4
|
|
@ -247,7 +247,7 @@ if(LLCOMMON_LINK_SHARED)
|
|||
add_library (llcommon SHARED ${llcommon_SOURCE_FILES})
|
||||
if(NOT ADDRESS_SIZE EQUAL 32)
|
||||
if(WINDOWS)
|
||||
add_definitions(/FIXED:NO)
|
||||
##add_definitions(/FIXED:NO)
|
||||
else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
|
||||
add_definitions(-fPIC)
|
||||
endif(WINDOWS)
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ set_source_files_properties(${llplugin_HEADER_FILES}
|
|||
|
||||
if(NOT ADDRESS_SIZE EQUAL 32)
|
||||
if(WINDOWS)
|
||||
add_definitions(/FIXED:NO)
|
||||
##add_definitions(/FIXED:NO)
|
||||
else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
|
||||
add_definitions(-fPIC)
|
||||
endif(WINDOWS)
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ include_directories(SYSTEM
|
|||
|
||||
if(NOT ADDRESS_SIZE EQUAL 32)
|
||||
if(WINDOWS)
|
||||
add_definitions(/FIXED:NO)
|
||||
##add_definitions(/FIXED:NO)
|
||||
else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
|
||||
add_definitions(-fPIC)
|
||||
endif(WINDOWS)
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ include_directories(SYSTEM
|
|||
|
||||
if(NOT ADDRESS_SIZE EQUAL 32)
|
||||
if(WINDOWS)
|
||||
add_definitions(/FIXED:NO)
|
||||
##add_definitions(/FIXED:NO)
|
||||
else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
|
||||
add_definitions(-fPIC)
|
||||
endif(WINDOWS)
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ include_directories(SYSTEM
|
|||
|
||||
if(NOT ADDRESS_SIZE EQUAL 32)
|
||||
if(WINDOWS)
|
||||
add_definitions(/FIXED:NO)
|
||||
##add_definitions(/FIXED:NO)
|
||||
else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
|
||||
add_definitions(-fPIC)
|
||||
endif(WINDOWS)
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ include_directories(SYSTEM
|
|||
|
||||
if(NOT ADDRESS_SIZE EQUAL 32)
|
||||
if(WINDOWS)
|
||||
add_definitions(/FIXED:NO)
|
||||
##add_definitions(/FIXED:NO)
|
||||
else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
|
||||
add_definitions(-fPIC)
|
||||
endif(WINDOWS)
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ include_directories(SYSTEM
|
|||
|
||||
if(NOT ADDRESS_SIZE EQUAL 32)
|
||||
if(WINDOWS)
|
||||
add_definitions(/FIXED:NO)
|
||||
##add_definitions(/FIXED:NO)
|
||||
else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
|
||||
add_definitions(-fPIC)
|
||||
endif(WINDOWS)
|
||||
|
|
|
|||
Loading…
Reference in New Issue