Change in simtrace2[master]: firmware: fix builds with gcc stack smashing protection enabled

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

laforge gerrit-no-reply at lists.osmocom.org
Wed Aug 5 10:00:48 UTC 2020


laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/19527 )


Change subject: firmware: fix builds with gcc stack smashing protection enabled
......................................................................

firmware: fix builds with gcc stack smashing protection enabled

On Ubuntu 20.04 when builiding dpkg packages, even when cross-compiling
firmware, gcc stack smashing protection is enabled.  Let's provide what
is minimally required in order to sucessfully complete builds on such
platforms.

Change-Id: Ic2f68f16b0730e7b5db17c30effc29a2909d1997
Closes: OS#4687
---
M firmware/Makefile
A firmware/libcommon/source/stack_check.c
2 files changed, 15 insertions(+), 1 deletion(-)



  git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/27/19527/1

diff --git a/firmware/Makefile b/firmware/Makefile
index bdca6e5..7be5c30 100644
--- a/firmware/Makefile
+++ b/firmware/Makefile
@@ -100,7 +100,7 @@
 C_LIBUSB_RT  = dfu.c dfu_runtime.c
 C_LIBUSB_DFU = dfu.c dfu_desc.c dfu_driver.c
 C_LIBCOMMON  = string.c stdio.c fputs.c usb_buf.c ringbuffer.c pseudo_talloc.c host_communication.c \
-	       main_common.c
+	       main_common.c stack_check.c
 
 C_BOARD      = $(notdir $(wildcard libboard/common/source/*.c))
 C_BOARD     += $(notdir $(wildcard libboard/$(BOARD)/source/*.c))
diff --git a/firmware/libcommon/source/stack_check.c b/firmware/libcommon/source/stack_check.c
new file mode 100644
index 0000000..3130dd8
--- /dev/null
+++ b/firmware/libcommon/source/stack_check.c
@@ -0,0 +1,14 @@
+#include <stdint.h>
+#include <osmocom/core/panic.h>
+
+/* This is what's minimally required to fix builds on Ubuntu 20.04,
+ * where stack smashing protection is enabled by default when using dpkg
+ * - even when cross-compiling: https://osmocom.org/issues/4687
+ */
+
+uintptr_t __stack_chk_guard = 0xdeadbeef;
+
+void __stack_chk_fail(void)
+{
+	osmo_panic("Stack smashing detected!\r\n");
+}

-- 
To view, visit https://gerrit.osmocom.org/c/simtrace2/+/19527
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: simtrace2
Gerrit-Branch: master
Gerrit-Change-Id: Ic2f68f16b0730e7b5db17c30effc29a2909d1997
Gerrit-Change-Number: 19527
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge at osmocom.org>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200805/b6d6f6a2/attachment.htm>


More information about the gerrit-log mailing list