All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package/glibc: optional MTE support in glibc
@ 2021-10-30  8:37 irgstg
  2021-10-31 17:52 ` Thomas Petazzoni
  0 siblings, 1 reply; 4+ messages in thread
From: irgstg @ 2021-10-30  8:37 UTC (permalink / raw)
  To: buildroot; +Cc: Bernd Kuhls, Romain Naour, irgstg@gmail.com

Adding option BR2_PACKAGE_GLIBC_MTE to configure glibc with MTE support.
When enabled, glibcs configuration process runs with `--enable-memory-tagging` [1].

MTE (Memory Tagging Extension) is an ISA extension which aims to improve security on ARMv8.5-A [2].
The linux kernel supports this feature via CONFIG_ARM64_MTE.
In order for glibc's MTE support to work properly, the running kernel has to support that.

dependencies:
 - supported on aarch64 only (BR2_aarch64)
 - requires binutils version 2.33.1 or newer (!B2_BINUTILS_VERSION_2_32_X)
 - requires at least linux 5.4 headers (BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4)

[1] https://sourceware.org/git/?p=glibc.git;a=blob;f=INSTALL;h=02dcf6b1ca3a4c43a17fdcae5e7dae8189c1c50b;hb=HEAD#l145
[2] https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/enhancing-memory-safety

Signed-off-by: irgstg@gmail.com <irgstg@gmail.com>
---
 package/glibc/Config.in | 12 ++++++++++++
 package/glibc/glibc.mk  |  1 +
 2 files changed, 13 insertions(+)

diff --git a/package/glibc/Config.in b/package/glibc/Config.in
index 5ecd058145..6d42aa6771 100644
--- a/package/glibc/Config.in
+++ b/package/glibc/Config.in
@@ -16,4 +16,16 @@ config BR2_PACKAGE_GLIBC_UTILS
 	  Enabling this option will compile and install the getconf,
 	  ldconfig, ldd and locale glibc utilities for the target.
 
+config BR2_PACKAGE_GLIBC_MTE
+	bool "Install glibc support for MTE"
+	depends on BR2_aarch64
+	depends on !BR2_BINUTILS_VERSION_2_32_X
+	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4
+	help
+	  Enabling this option will configure, compile
+	  and install glibc support for MTE (Memory Tagging Extension).
+	  Please be aware, in order for that to work properly,
+	  kernel support for MTE (CONFIG_ARM64_MTE), and a
+	  supported CPU are needed.
+
 endif # BR2_TOOLCHAIN_BUILDROOT_GLIBC
diff --git a/package/glibc/glibc.mk b/package/glibc/glibc.mk
index 3862e0624b..a44c2828f8 100644
--- a/package/glibc/glibc.mk
+++ b/package/glibc/glibc.mk
@@ -124,6 +124,7 @@ define GLIBC_CONFIGURE_CMDS
 		--disable-werror \
 		--without-gd \
 		--enable-kernel=$(call qstrip,$(BR2_TOOLCHAIN_HEADERS_AT_LEAST)) \
+		$(if $(BR2_PACKAGE_GLIBC_MTE),--enable-memory-tagging) \
 		--with-headers=$(STAGING_DIR)/usr/include)
 	$(GLIBC_ADD_MISSING_STUB_H)
 endef
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-11-26 21:08 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-10-30  8:37 [Buildroot] [PATCH] package/glibc: optional MTE support in glibc irgstg
2021-10-31 17:52 ` Thomas Petazzoni
2023-11-26 20:28   ` R
2023-11-26 21:08     ` Yann E. MORIN

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.