From eacd5527aa4db96c711e5f7daabbf9cdd6d8db31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Cab=C3=A9?= Date: Fri, 20 Dec 2024 14:42:30 +0100 Subject: [PATCH] Revert "cmake: remove enforcement of DWARF v4" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 9d849d92bfaf08f62f1c4df441aacff88e1e5af3 that seems to be causing dozens of basic kernel test failures across various platforms. Signed-off-by: Benjamin Cabé --- cmake/compiler/gcc/compiler_flags.cmake | 4 ++++ cmake/linker/ld/gcc/linker_flags.cmake | 4 ++++ scripts/requirements-base.txt | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/cmake/compiler/gcc/compiler_flags.cmake b/cmake/compiler/gcc/compiler_flags.cmake index e650dd424f3..204df61d01a 100644 --- a/cmake/compiler/gcc/compiler_flags.cmake +++ b/cmake/compiler/gcc/compiler_flags.cmake @@ -214,6 +214,10 @@ set_compiler_property(PROPERTY linker_script -T) # Flags to not track macro expansion set_compiler_property(PROPERTY no_track_macro_expansion -ftrack-macro-expansion=0) +# GCC 11 by default emits DWARF version 5 which cannot be parsed by +# pyelftools. Can be removed once pyelftools supports v5. +check_set_compiler_property(APPEND PROPERTY debug -gdwarf-4) + set_compiler_property(PROPERTY no_common -fno-common) # GCC compiler flags for imacros. The specific header must be appended by user. diff --git a/cmake/linker/ld/gcc/linker_flags.cmake b/cmake/linker/ld/gcc/linker_flags.cmake index 0325ffb3255..c442c9c8921 100644 --- a/cmake/linker/ld/gcc/linker_flags.cmake +++ b/cmake/linker/ld/gcc/linker_flags.cmake @@ -9,6 +9,10 @@ endif() check_set_linker_property(TARGET linker APPEND PROPERTY gprof -pg) +# GCC 11 by default emits DWARF version 5 which cannot be parsed by +# pyelftools. Can be removed once pyelftools supports v5. +add_link_options(-gdwarf-4) + # Extra warnings options for twister run set_property(TARGET linker PROPERTY warnings_as_errors -Wl,--fatal-warnings) diff --git a/scripts/requirements-base.txt b/scripts/requirements-base.txt index 83ff7086593..3938fa7b349 100644 --- a/scripts/requirements-base.txt +++ b/scripts/requirements-base.txt @@ -4,7 +4,7 @@ # part of the recommended workflow # used by various build scripts -pyelftools>=0.31 +pyelftools>=0.29 # used by dts generation to parse binding YAMLs, also used by # twister to parse YAMLs, by west, zephyr_module,...