public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Siddhesh Poyarekar <siddhesh@gotplt.org>
To: Richard Earnshaw <rearnsha@arm.com>, libc-alpha@sourceware.org
Cc: Richard Earnshaw <Richard.Earnshaw@arm.com>
Subject: Re: [PATCH v3 1/8] config: Allow memory tagging to be enabled when configuring glibc
Date: Wed, 25 Nov 2020 20:35:04 +0530	[thread overview]
Message-ID: <07c2b94b-b049-aa4a-7abd-3d0eff2cb711@gotplt.org> (raw)
In-Reply-To: <20201123154236.25809-2-rearnsha@arm.com>

On 11/23/20 9:12 PM, Richard Earnshaw via Libc-alpha wrote:
> 
> This patch adds the configuration machinery to allow memory tagging to be
> enabled from the command line via the configure option --enable-memory-tagging.
> 
> The current default is off, though in time we may change that once the API
> is more stable.
> ---
>   INSTALL             | 14 ++++++++++++++
>   config.h.in         |  3 +++
>   config.make.in      |  2 ++
>   configure           | 17 +++++++++++++++++
>   configure.ac        | 10 ++++++++++
>   manual/install.texi | 13 +++++++++++++
>   6 files changed, 59 insertions(+)
> 
> diff --git a/INSTALL b/INSTALL
> index 2b00f80df5..f2476df6c0 100644
> --- a/INSTALL
> +++ b/INSTALL
> @@ -142,6 +142,20 @@ if 'CFLAGS' is specified it must enable optimization.  For example:
>       non-CET processors.  '--enable-cet' has been tested for i686,
>       x86_64 and x32 on CET processors.
>  
> +'--enable-memory-tagging'
> +     Enable memory tagging support on architectures that support it.
> +     When the GNU C Library is built with this option then the resulting
> +     library will be able to control the use of tagged memory when
> +     hardware support is present by use of the tunable
> +     'glibc.memtag.enable'.  This includes the generation of tagged
> +     memory when using the 'malloc' APIs.
> +
> +     At present only AArch64 platforms with MTE provide this
> +     functionality, although the library will still operate (without
> +     memory tagging) on older versions of the architecture.
> +
> +     The default is to disable support for memory tagging.
> +
>  '--disable-profile'
>       Don't build libraries with profiling information.  You may want to
>       use this option if you don't plan to do profiling.
> diff --git a/config.h.in b/config.h.in
> index b823c8e080..2f4c626c19 100644
> --- a/config.h.in
> +++ b/config.h.in
> @@ -160,6 +160,9 @@
>  /* Define if __stack_chk_guard canary should be randomized at program startup.  */
>  #undef ENABLE_STACKGUARD_RANDOMIZE
>  
> +/* Define if memory tagging support should be enabled.  */
> +#undef _LIBC_MTAG
> +
>  /* Package description.  */
>  #undef PKGVERSION
>  
> diff --git a/config.make.in b/config.make.in
> index 1ac9417245..7ae27564fd 100644
> --- a/config.make.in
> +++ b/config.make.in
> @@ -84,6 +84,8 @@ mach-interface-list = @mach_interface_list@
>  
>  experimental-malloc = @experimental_malloc@
>  
> +memory-tagging = @memory_tagging@
> +
>  nss-crypt = @libc_cv_nss_crypt@
>  static-nss-crypt = @libc_cv_static_nss_crypt@
>  
> diff --git a/configure b/configure
> index 4795e721e5..d22654739f 100755
> --- a/configure
> +++ b/configure
> @@ -676,6 +676,7 @@ build_nscd
>  libc_cv_static_nss_crypt
>  libc_cv_nss_crypt
>  build_crypt
> +memory_tagging
>  experimental_malloc
>  enable_werror
>  all_warnings
> @@ -781,6 +782,7 @@ enable_all_warnings
>  enable_werror
>  enable_multi_arch
>  enable_experimental_malloc
> +enable_memory_tagging
>  enable_crypt
>  enable_nss_crypt
>  enable_systemtap
> @@ -1450,6 +1452,8 @@ Optional Features:
>                            architectures
>    --disable-experimental-malloc
>                            disable experimental malloc features
> +  --enable-memory-tagging enable memory tagging if supported by the
> +                          architecture [default=no]

I wonder if that phrasing implies that the flag is disabled if memory 
tagging is not supported by the architecture.  The description in 
INSTALL (Enable memory tagging support on architectures that support it) 
seems a bit more precise.

Siddhesh

  reply	other threads:[~2020-11-25 15:05 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-23 15:42 [PATCH v3 0/8] Memory tagging support Richard Earnshaw
2020-11-23 15:42 ` [PATCH v3 1/8] config: Allow memory tagging to be enabled when configuring glibc Richard Earnshaw
2020-11-25 15:05   ` Siddhesh Poyarekar [this message]
2020-11-25 15:09     ` Richard Earnshaw (lists)
2020-11-25 15:10       ` Siddhesh Poyarekar
2020-11-25 15:12     ` Adhemerval Zanella
2020-11-25 16:11       ` Richard Earnshaw (lists)
2020-11-25 16:40         ` Adhemerval Zanella
2020-11-23 15:42 ` [PATCH v3 2/8] elf: Add a tunable to control use of tagged memory Richard Earnshaw
2020-11-25 15:08   ` Siddhesh Poyarekar
2020-11-25 16:35   ` H.J. Lu
2020-11-25 16:53     ` Siddhesh Poyarekar
2020-11-25 16:58       ` Richard Earnshaw
2020-11-25 17:12         ` Siddhesh Poyarekar
2020-11-25 17:24           ` Richard Earnshaw
2020-11-25 17:48             ` Siddhesh Poyarekar
2020-11-25 19:06               ` H.J. Lu
2020-11-26  0:47                 ` Siddhesh Poyarekar
2020-11-26 14:15                   ` Richard Earnshaw
2020-11-26 15:27                     ` Siddhesh Poyarekar
2020-11-26 15:48                       ` Richard Earnshaw
2020-11-26 15:50                         ` H.J. Lu
2020-11-26 16:28                           ` Richard Earnshaw
2020-11-26 16:51                             ` H.J. Lu
2020-11-26 16:59                               ` Richard Earnshaw
2020-11-26 17:06                                 ` H.J. Lu
2020-11-26 17:20                               ` Szabolcs Nagy
2020-11-26 17:31                                 ` H.J. Lu
2020-11-26 17:56                                   ` Richard Earnshaw
2020-11-26 18:06                                     ` H.J. Lu
2020-11-26 18:06                                   ` Szabolcs Nagy
2020-11-26 18:09                                     ` H.J. Lu
2020-11-26 18:25                                     ` Andreas Schwab
2020-11-27 10:34                                       ` Szabolcs Nagy
2020-11-27 11:08                                         ` Florian Weimer
2020-11-27  2:59                                     ` Siddhesh Poyarekar
2020-11-27 10:32                                       ` Szabolcs Nagy
2020-11-27 11:14                                         ` Siddhesh Poyarekar
2020-11-26 16:04                         ` Siddhesh Poyarekar
2020-11-26 16:19                           ` H.J. Lu
2020-11-26 17:13                             ` Siddhesh Poyarekar
2020-11-26 17:19                               ` H.J. Lu
2020-11-27  2:45                                 ` Siddhesh Poyarekar
2020-11-27 10:40                                   ` Richard Earnshaw
2020-11-27 10:49                                     ` Richard Earnshaw
2020-11-27 11:32                                       ` Siddhesh Poyarekar
2020-11-27 11:51                                         ` Richard Earnshaw
2020-11-27 11:27                                     ` Siddhesh Poyarekar
2020-11-27 12:24                                       ` Richard Earnshaw
2020-11-27 14:54                                         ` H.J. Lu
2020-11-27 17:02                                           ` Szabolcs Nagy
2020-11-27 18:41                                             ` H.J. Lu
2020-11-27 14:52                                   ` H.J. Lu
2020-11-27 16:08                                     ` Richard Earnshaw
2020-11-27 18:37                                       ` H.J. Lu
2020-11-30  6:28                                         ` Siddhesh Poyarekar
2020-11-26 16:10                         ` Szabolcs Nagy
2020-11-23 15:42 ` [PATCH v3 3/8] malloc: Basic support for memory tagging in the malloc() family Richard Earnshaw
2020-11-25 14:58   ` Florian Weimer
2020-11-25 17:32     ` Richard Earnshaw
2020-11-23 15:42 ` [PATCH v3 4/8] malloc: Clean up commentary Richard Earnshaw
2020-11-23 15:42 ` [PATCH v3 5/8] malloc: support MALLOC_CHECK_ in conjunction with _MTAG_ENABLE Richard Earnshaw
2020-11-23 15:42 ` [PATCH v3 6/8] linux: Add compatibility definitions to sys/prctl.h for MTE Richard Earnshaw
2020-11-25 15:26   ` Siddhesh Poyarekar
2020-11-23 15:42 ` [PATCH v3 7/8] aarch64: Add sysv specific enabling code for memory tagging Richard Earnshaw
2020-11-23 16:53   ` Szabolcs Nagy
2020-11-23 17:33     ` Richard Earnshaw (lists)
2020-11-25 15:34   ` Siddhesh Poyarekar
2020-11-25 16:06     ` Richard Earnshaw
2020-11-25 16:20       ` Siddhesh Poyarekar
2020-11-25 16:23         ` Siddhesh Poyarekar
2020-11-23 15:42 ` [PATCH v3 8/8] aarch64: Add aarch64-specific files for memory tagging support Richard Earnshaw
2020-12-16 15:26   ` Szabolcs Nagy
2020-11-24 10:12 ` [PATCH v3 0/8] Memory " Szabolcs Nagy
2020-11-25 14:49 ` Siddhesh Poyarekar
2020-11-25 15:48   ` Richard Earnshaw
2020-11-25 16:17     ` Siddhesh Poyarekar
2020-11-25 15:45 ` H.J. Lu
2020-12-17  3:57 ` DJ Delorie
2020-12-17 11:31   ` Richard Earnshaw

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=07c2b94b-b049-aa4a-7abd-3d0eff2cb711@gotplt.org \
    --to=siddhesh@gotplt.org \
    --cc=Richard.Earnshaw@arm.com \
    --cc=libc-alpha@sourceware.org \
    --cc=rearnsha@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).