summaryrefslogtreecommitdiff
path: root/zephyr
diff options
context:
space:
mode:
authorJeremy Bettis <jbettis@google.com>2022-09-12 12:50:32 -0600
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-09-12 20:22:58 +0000
commitbc0d97c15ebddaf11d0b5209a42324df5973840b (patch)
treefc8e1d7c3d7e358e8ffc15a4b3c46cd72cdabe9d /zephyr
parent9de3957c15bfaf3874ec2c3e0e2dc2a6b6b2e668 (diff)
downloadchrome-ec-bc0d97c15ebddaf11d0b5209a42324df5973840b.tar.gz
zephyr: Use dwarf v4 at link time in gcc
This is a local fix for https://github.com/zephyrproject-rtos/zephyr/issues/50106, because my pull request https://github.com/zephyrproject-rtos/zephyr/pull/50117 is getting some push back. Pass the -gdwarf-4 flag to gcc at link time. BRANCH=None BUG=None TEST=zmake build herobrine TEST=ninja -C build/zephyr/herobrine/build-ro rom_report Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I9d15346d2a5020c15b2a0ec656462caf0aa103f6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3891674 Reviewed-by: Aaron Massey <aaronmassey@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org>
Diffstat (limited to 'zephyr')
-rw-r--r--zephyr/cmake/linker/ld/gcc/linker_flags.cmake7
-rw-r--r--zephyr/cmake/linker/ld/linker_flags.cmake4
2 files changed, 11 insertions, 0 deletions
diff --git a/zephyr/cmake/linker/ld/gcc/linker_flags.cmake b/zephyr/cmake/linker/ld/gcc/linker_flags.cmake
new file mode 100644
index 0000000000..f71793c431
--- /dev/null
+++ b/zephyr/cmake/linker/ld/gcc/linker_flags.cmake
@@ -0,0 +1,7 @@
+# Copyright 2022 The ChromiumOS Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# 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)
diff --git a/zephyr/cmake/linker/ld/linker_flags.cmake b/zephyr/cmake/linker/ld/linker_flags.cmake
index 5bc2f9ed4b..d6045ba6ed 100644
--- a/zephyr/cmake/linker/ld/linker_flags.cmake
+++ b/zephyr/cmake/linker/ld/linker_flags.cmake
@@ -5,3 +5,7 @@
# Zephyr cmake system looks into ${TOOLCHAIN_ROOT}, but we just send
# this out to the copy in ${ZEPHYR_BASE}.
include("${ZEPHYR_BASE}/cmake/linker/ld/linker_flags.cmake")
+
+# There can also be compiler specific linker options, so try to include
+# our version of that also.
+include("${TOOLCHAIN_ROOT}/cmake/linker/${LINKER}/${COMPILER}/linker_flags.cmake" OPTIONAL)