Matthias Krüger
0bb72a2c66
Rollup merge of #91675 - ivanloz:memtagsan, r=nagisa
...
Add MemTagSanitizer Support
Add support for the LLVM [MemTagSanitizer](https://llvm.org/docs/MemTagSanitizer.html ).
On hardware which supports it (see caveats below), the MemTagSanitizer can catch bugs similar to AddressSanitizer and HardwareAddressSanitizer, but with lower overhead.
On a tag mismatch, a SIGSEGV is signaled with code SEGV_MTESERR / SEGV_MTEAERR.
# Usage
`-Zsanitizer=memtag -C target-feature="+mte"`
# Comments/Caveats
* MemTagSanitizer is only supported on AArch64 targets with hardware support
* Requires `-C target-feature="+mte"`
* LLVM MemTagSanitizer currently only performs stack tagging.
# TODO
* Tests
* Example
2022-02-18 23:23:03 +01:00
..
2021-11-29 07:23:46 -08:00
2020-10-31 21:06:29 +01:00
2020-11-22 17:11:41 -05:00
2021-10-14 07:35:35 +00:00
2021-10-22 10:50:07 -07:00
2021-07-14 18:17:49 +02:00
2022-02-12 12:28:19 -05:00
2021-04-17 23:33:10 +03:00
2021-10-22 09:22:18 -07:00
2022-02-02 22:21:24 +01:00
2021-06-24 23:13:08 +03:00
2021-04-03 00:00:29 +03:00
2021-04-03 00:00:29 +03:00
2021-04-03 00:00:29 +03:00
2021-08-04 23:36:13 +02:00
2021-04-05 17:36:51 -04:00
2021-08-04 23:36:13 +02:00
2021-10-22 09:22:18 -07:00
2020-11-30 01:21:47 -05:00
2021-11-09 21:43:20 -08:00
2021-08-16 18:26:57 +02:00
2021-12-12 11:20:03 +00:00
2021-12-12 11:20:03 +00:00
2021-12-12 11:20:03 +00:00
2021-12-12 11:20:03 +00:00
2021-12-12 11:20:03 +00:00
2021-11-07 01:23:53 +00:00
2021-08-04 13:38:17 -04:00
2021-12-12 11:20:03 +00:00
2022-02-01 10:39:40 +01:00
2022-02-01 10:39:40 +01:00
2021-10-22 09:22:18 -07:00
2021-05-30 11:50:43 +10:00
2021-12-01 15:56:59 +00:00
2021-08-03 07:06:19 -07:00
2021-01-13 07:49:16 -05:00
2021-08-03 07:06:19 -07:00
2021-04-03 00:00:29 +03:00
2022-02-14 08:31:24 -08:00
2021-03-14 01:46:00 +09:00
2021-08-25 17:49:28 -04:00
2021-04-03 00:00:29 +03:00
2021-01-13 07:49:16 -05:00
2021-04-03 22:30:20 +02:00
2021-01-13 07:49:45 -05:00
2022-02-03 10:03:16 +01:00
2022-02-03 10:03:16 +01:00
2021-06-24 23:13:08 +03:00
2021-05-17 00:04:09 +03:00
2021-12-08 22:41:28 -05:00
2021-10-22 09:22:18 -07:00
2021-10-22 09:22:18 -07:00
2021-10-22 09:22:18 -07:00
2021-04-03 22:30:20 +02:00
2021-04-03 22:30:20 +02:00
2020-11-29 00:55:55 -05:00
2021-01-13 07:49:45 -05:00
2021-04-03 00:00:29 +03:00
2021-08-15 02:59:53 +08:00
2022-02-12 12:28:19 -05:00
2021-04-03 00:00:29 +03:00
2021-04-03 00:00:29 +03:00
2021-01-13 07:49:16 -05:00
2021-04-03 00:00:29 +03:00
2021-04-03 00:00:29 +03:00
2021-06-30 11:10:29 -07:00
2021-04-11 22:32:40 +08:00
2020-11-12 14:39:47 +01:00
2021-06-30 19:45:17 +03:00
2022-02-06 21:11:11 -05:00
2021-04-03 22:30:20 +02:00
2022-02-01 10:39:40 +01:00
2022-02-01 10:39:40 +01:00
2021-12-12 11:20:03 +00:00
2021-12-12 11:20:03 +00:00
2021-12-12 11:20:03 +00:00
2021-06-24 23:13:08 +03:00
2021-06-24 23:13:08 +03:00
2021-04-03 22:30:20 +02:00
2022-01-01 15:53:11 -08:00
2021-04-03 22:30:20 +02:00
2020-11-12 00:00:00 +00:00
2021-10-22 09:22:18 -07:00
2021-04-03 00:00:29 +03:00
2020-11-12 00:00:00 +00:00
2021-04-03 22:30:20 +02:00
2020-10-23 01:15:08 +02:00
2021-01-13 07:49:45 -05:00
2020-11-29 00:55:55 -05:00
2021-03-05 17:13:57 -03:00
2021-10-22 10:50:07 -07:00
2021-04-04 20:37:48 +03:00
2021-10-22 09:22:18 -07:00
2021-10-22 09:22:18 -07:00
2021-10-22 10:50:07 -07:00
2021-10-22 10:50:07 -07:00
2020-10-01 16:02:32 +02:00
2021-10-22 10:50:07 -07:00
2021-04-17 23:33:10 +03:00
2020-10-26 10:48:28 +01:00
2020-10-26 10:48:28 +01:00
2021-04-03 00:00:29 +03:00
2021-05-17 00:04:09 +03:00
2021-08-08 13:59:36 +03:00
2021-12-09 14:04:15 +01:00
2022-01-21 17:38:21 +01:00
2022-01-21 17:38:21 +01:00
2021-08-03 07:59:59 -07:00
2021-03-21 20:54:42 +01:00
2021-04-03 00:00:29 +03:00
2022-02-06 21:11:11 -05:00
2020-11-22 17:11:41 -05:00
2021-09-25 12:40:16 +02:00
2021-04-11 22:32:40 +08:00
2021-07-20 11:41:51 +02:00
2021-10-01 08:06:42 +02:00
2021-10-01 08:06:42 +02:00
2020-10-26 10:48:28 +01:00
2021-08-16 18:26:57 +02:00
2021-10-22 10:50:07 -07:00
2021-10-22 10:50:07 -07:00
2021-10-22 10:50:07 -07:00
2021-04-03 00:00:29 +03:00
2021-10-25 16:23:01 -07:00
2021-10-25 16:23:01 -07:00
2021-10-25 16:23:01 -07:00
2022-02-16 09:39:03 -05:00
2021-03-05 17:13:57 -03:00
2020-12-10 19:06:29 -05:00
2021-04-03 00:00:29 +03:00
2022-02-05 01:09:52 -05:00
2021-01-16 14:52:48 -08:00
2021-12-14 13:15:15 -08:00
2021-11-14 16:24:31 -08:00
2020-10-07 16:17:01 +03:00
2021-12-01 10:03:45 +01:00
2021-09-20 11:31:55 -04:00
2021-04-29 15:13:36 -04:00
2021-11-22 20:06:22 +01:00
2021-04-03 00:00:29 +03:00
2021-04-03 22:30:20 +02:00
2021-04-03 22:30:20 +02:00
2021-03-16 21:32:55 +02:00
2022-01-17 16:20:46 +01:00
2020-11-22 22:22:03 +00:00
2022-02-05 01:09:52 -05:00
2021-05-18 11:48:00 -07:00
2021-04-03 22:30:20 +02:00
2021-08-25 17:49:28 -04:00
2021-08-25 17:49:28 -04:00
2022-02-05 01:09:52 -05:00
2021-08-04 23:36:14 +02:00
2022-01-17 00:39:34 +00:00
2021-08-03 07:06:19 -07:00
2021-08-03 07:06:19 -07:00
2021-12-30 00:15:51 -05:00
2021-12-30 01:03:17 -05:00
2022-02-08 23:51:17 +01:00
2021-04-03 00:00:29 +03:00
2021-10-22 09:22:18 -07:00
2021-08-05 00:00:00 +00:00
2021-01-14 19:31:56 +01:00
2021-10-22 10:50:07 -07:00
2021-06-24 23:13:08 +03:00
2021-06-24 23:13:08 +03:00