public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: "Richard Earnshaw (lists)" <Richard.Earnshaw@arm.com>
To: Siddhesh Poyarekar <siddhesh@gotplt.org>,
	Richard Earnshaw <rearnsha@arm.com>,
	libc-alpha@sourceware.org
Subject: Re: [PATCH v3 1/8] config: Allow memory tagging to be enabled when configuring glibc
Date: Wed, 25 Nov 2020 15:09:28 +0000	[thread overview]
Message-ID: <635b8b9e-8e02-b69d-4db5-baaeedaae1ea@arm.com> (raw)
In-Reply-To: <07c2b94b-b049-aa4a-7abd-3d0eff2cb711@gotplt.org>

On 25/11/2020 15:05, Siddhesh Poyarekar wrote:
> 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

I'd be happy to change that to "Enable memory tagging on supported
architectures [default=no]".

R.

  reply	other threads:[~2020-11-25 15:09 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
2020-11-25 15:09     ` Richard Earnshaw (lists) [this message]
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=635b8b9e-8e02-b69d-4db5-baaeedaae1ea@arm.com \
    --to=richard.earnshaw@arm.com \
    --cc=libc-alpha@sourceware.org \
    --cc=rearnsha@arm.com \
    --cc=siddhesh@gotplt.org \
    /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).