Enable coredumps from systemd units
On ARM, backtraces on C code are not terribly useful by default because
the stack cannot really be unwound, hence a custom compiler flag for
this. This has never been a problem because I've only ever debugged C++
code *on the device itself*, and for C++ code stack unwinding is enabled
by the language frontend because it's needed for exception support. On
the C code, not so much.
With this flag, U-Boot fails to build, but just its examples. There's no
need to help these examples in the first place, though, so let's just
screw^Wskip them.
I *think* I also need to explicitly enable non-zero core sizes, even if
I already have systemd-coredumpctl enabled via systemd magic.
Change-Id: I094c52c2ead9c1dd581de4974e9edd432c8b6894
diff --git a/board/czechlight/clearfog/patches/u-boot/0004-examples-make-examples-optional.patch b/board/czechlight/clearfog/patches/u-boot/0004-examples-make-examples-optional.patch
new file mode 100644
index 0000000..3dbad3f
--- /dev/null
+++ b/board/czechlight/clearfog/patches/u-boot/0004-examples-make-examples-optional.patch
@@ -0,0 +1,57 @@
+From 25591463ae3bfbb359c42edde15158a714437c65 Mon Sep 17 00:00:00 2001
+From: Heinrich Schuchardt <xypron.glpk@gmx.de>
+Date: Wed, 23 Sep 2020 19:09:51 +0200
+Subject: [PATCH] examples: make examples/ optional
+
+Most users don't need the standalone API examples. Distributions like SUSE
+do not supply libgcc for cross-compiling and we cannot do without on ARMv8
+for building examples/.
+
+Make examples selectable via symbol CONFIG_EXAMPLES. It defaults to
+yes on ARCH_QEMU to ensure that we compile the API as part of our
+continuous integration.
+
+Cc: Matthias Brugger <mbrugger@suse.com>
+Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
+Reviewed-by: Tom Rini <trini@konsulko.com>
+Reviewed-by: Simon Glass <sjg@chromium.org>
+Reviewed-by: Matthias Brugger <mbrugger@suse.com>
+---
+ Kconfig | 8 ++++++++
+ examples/Makefile | 2 +-
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/Kconfig b/Kconfig
+index d96e3373c1..b272def247 100644
+--- a/Kconfig
++++ b/Kconfig
+@@ -221,6 +221,14 @@ config BUILD_ROM
+ which are not shipped in the U-Boot source tree.
+ Please, see doc/README.x86 for details.
+
++config EXAMPLES
++ bool "Compile API examples"
++ depends on !SANDBOX
++ default y if ARCH_QEMU
++ help
++ U-Boot provides an API for standalone applications. Examples are
++ provided in directory examples/.
++
+ endmenu # General setup
+
+ menu "Boot images"
+diff --git a/examples/Makefile b/examples/Makefile
+index d440bc5655..bf518bd221 100644
+--- a/examples/Makefile
++++ b/examples/Makefile
+@@ -1,6 +1,6 @@
+ # SPDX-License-Identifier: GPL-2.0+
+
+-ifndef CONFIG_SANDBOX
++ifdef CONFIG_EXAMPLES
+
+ ifdef FTRACE
+ subdir-ccflags-y += -finstrument-functions -DFTRACE
+--
+2.29.0
+
diff --git a/board/czechlight/clearfog/uboot.fragment b/board/czechlight/clearfog/uboot.fragment
index d231b5d..40082ef 100644
--- a/board/czechlight/clearfog/uboot.fragment
+++ b/board/czechlight/clearfog/uboot.fragment
@@ -1 +1,2 @@
CONFIG_CMD_SETEXPR=y
+CONFIG_EXAMPLES=n