Browse Source

liblzma: Disable GNU 3.3 compiler optimizations

The GNU 3.3 optimizer causes bad behavior in liblzma, so disable it.
Brad King 10 years ago
parent
commit
e5d336beb2
1 changed files with 4 additions and 0 deletions
  1. 4 0
      Utilities/cmliblzma/CMakeLists.txt

+ 4 - 0
Utilities/cmliblzma/CMakeLists.txt

@@ -215,6 +215,10 @@ IF(CMAKE_C_COMPILER_ID STREQUAL "XL")
   # Disable the XL compiler optimizer because it causes crashes
   # and other bad behavior in liblzma code.
   SET_PROPERTY(TARGET cmliblzma PROPERTY COMPILE_FLAGS "-qnooptimize")
+ELSEIF(CMAKE_C_COMPILER_ID STREQUAL "GNU" AND
+       CMAKE_C_COMPILER_VERSION VERSION_LESS 3.4)
+  # Disable the old GNU compiler optimizer.
+  SET_PROPERTY(TARGET cmliblzma PROPERTY COMPILE_FLAGS "-O0")
 ENDIF()
 
 INSTALL(FILES COPYING DESTINATION ${CMAKE_DOC_DIR}/cmliblzma)