@@ -6,6 +6,17 @@ if((CMAKE_VERSION VERSION_GREATER "3.4.0") OR (CMAKE_VERSION VERSION_EQUAL "3.4.
6
6
set (EXPLICIT_INCLUDES "<INCLUDES> " )
7
7
endif ()
8
8
9
+
10
+ if (CMAKE_C_COMPILER_VERSION VERSION_GREATER "9.0.0" OR CMAKE_C_COMPILER_VERSION VERSION_EQUAL "9.0.0" )
11
+ # Some tools are not compatible with DWARF v5 yet
12
+ set (DWARF_VERSION_FLAG "-gdwarf-4" )
13
+ message ("USING DWARF v4 (${CMAKE_C_COMPILER_VERSION} )" )
14
+ else ()
15
+ # Older gcc versions need to be configured with DWARF v3
16
+ set (DWARF_VERSION_FLAG "-gdwarf-3" )
17
+ message ("USING DWARF v3 (${CMAKE_C_COMPILER_VERSION} )" )
18
+ endif ()
19
+
9
20
# Override the link rules:
10
21
set (CMAKE_C_CREATE_SHARED_LIBRARY "echo 'shared libraries not supported' && 1" )
11
22
set (CMAKE_C_CREATE_SHARED_MODULE "echo 'shared modules not supported' && 1" )
@@ -19,29 +30,29 @@ set(CMAKE_DEPFILE_FLAGS_CXX "-MMD -MT <OBJECT> -MF <DEPFILE>")
19
30
set (CMAKE_C_OUTPUT_EXTENSION ".o" )
20
31
set (CMAKE_DEPFILE_FLAGS_C "-MMD -MT <OBJECT> -MF <DEPFILE>" )
21
32
22
- set (CMAKE_C_FLAGS_RELWITHDEBINFO "-g -gdwarf-4 " )
23
- set (CMAKE_C_FLAGS_DEBUG_INIT "-g -gdwarf-4 " )
33
+ set (CMAKE_C_FLAGS_RELWITHDEBINFO "-g ${DWARF_VERSION_FLAG} " )
34
+ set (CMAKE_C_FLAGS_DEBUG_INIT "-g ${DWARF_VERSION_FLAG} " )
24
35
set (CMAKE_C_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG" )
25
36
set (CMAKE_C_FLAGS_RELEASE_INIT "-Os -DNDEBUG" )
26
- set (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-Os -g -gdwarf-4 -DNDEBUG" )
37
+ set (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-Os -g ${DWARF_VERSION_FLAG} -DNDEBUG" )
27
38
set (CMAKE_INCLUDE_SYSTEM_FLAG_C "-isystem " )
28
39
29
- set (CMAKE_ASM_FLAGS_RELWITHDEBINFO "-g -gdwarf-4 " )
30
- set (CMAKE_ASM_FLAGS_DEBUG_INIT "-g -gdwarf-4 " )
40
+ set (CMAKE_ASM_FLAGS_RELWITHDEBINFO "-g ${DWARF_VERSION_FLAG} " )
41
+ set (CMAKE_ASM_FLAGS_DEBUG_INIT "-g ${DWARF_VERSION_FLAG} " )
31
42
set (CMAKE_ASM_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG" )
32
43
set (CMAKE_ASM_FLAGS_RELEASE_INIT "-Os -DNDEBUG" )
33
- set (CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT "-Os -g -gdwarf-4 -DNDEBUG" )
44
+ set (CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT "-Os -g ${DWARF_VERSION_FLAG} -DNDEBUG" )
34
45
set (CMAKE_INCLUDE_SYSTEM_FLAG_ASM "-isystem " )
35
46
36
47
set (CMAKE_CXX_CREATE_STATIC_LIBRARY "<CMAKE_AR> -cr <LINK_FLAGS> <TARGET> <OBJECTS>" )
37
48
38
49
set (CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_CXX_COMPILER> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> -Wl,-Map,<TARGET>.map -Wl,--start-group <OBJECTS> <LINK_LIBRARIES> -lnosys -lstdc++ -lsupc++ -lm -lc -lgcc -lstdc++ -lsupc++ -lm -lc -lgcc -Wl,--end-group --specs=nano.specs -o <TARGET>" )
39
50
40
- set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-g -gdwarf-4 " )
41
- set (CMAKE_CXX_FLAGS_DEBUG_INIT "-g -gdwarf-4 " )
51
+ set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-g ${DWARF_VERSION_FLAG} " )
52
+ set (CMAKE_CXX_FLAGS_DEBUG_INIT "-g ${DWARF_VERSION_FLAG} " )
42
53
set (CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG" )
43
54
set (CMAKE_CXX_FLAGS_RELEASE_INIT "-Os -DNDEBUG" )
44
- set (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-Os -g -gdwarf-4 -DNDEBUG" )
55
+ set (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-Os -g ${DWARF_VERSION_FLAG} -DNDEBUG" )
45
56
set (CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-isystem " )
46
57
47
58
if (CMAKE_C_COMPILER_VERSION VERSION_GREATER "7.1.0" OR CMAKE_C_COMPILER_VERSION VERSION_EQUAL "7.1.0" )
0 commit comments