Mike Ash
fe7e13bba5
[Runtime][IRGen] Sign type context descriptor pointers.
...
Ensure that context descriptor pointers are signed in the runtime by putting the ptrauth_struct attribute on the types.
We use the new __builtin_ptrauth_struct_key/disc to conditionally apply ptrauth_struct to TrailingObjects based on the signing of the base type, so that pointers to TrailingObjects get signed when used with a context descriptor pointer.
We add new runtime entrypoints that take signed pointers where appropriate, and have the compiler emit calls to the new entrypoints when targeting a sufficiently new OS.
rdar://111480914
2023-07-07 18:10:35 -04:00
..
2023-06-05 08:11:27 -07:00
2023-06-27 09:03:52 -07:00
2023-06-27 09:03:52 -07:00
2023-02-21 13:30:18 -08:00
2023-03-15 23:42:55 +09:00
2023-06-27 09:03:52 -07:00
2023-06-05 08:11:28 -07:00
2023-06-27 09:03:52 -07:00
2023-06-27 09:03:52 -07:00
2022-12-11 22:14:37 -05:00
2023-02-24 15:40:28 -08:00
2023-05-25 16:28:41 +02:00
2023-05-25 16:28:41 +02:00
2023-05-25 16:28:41 +02:00
2022-11-21 19:44:24 +01:00
2023-03-15 23:42:55 +09:00
2023-02-27 18:52:50 -08:00
2023-02-24 15:40:28 -08:00
2023-06-27 09:03:52 -07:00
2023-03-10 12:52:37 -05:00
2023-07-07 18:10:35 -04:00
2023-05-16 12:13:12 -07:00
2023-06-27 09:03:52 -07:00
2023-06-27 09:03:52 -07:00
2023-06-27 09:03:52 -07:00
2023-06-27 09:03:52 -07:00
2023-05-05 17:21:38 +01:00
2023-06-29 06:57:05 +02:00
2023-06-29 06:57:05 +02:00
2023-03-28 15:56:28 +09:00
2023-03-28 15:56:28 +09:00
2023-06-27 09:03:52 -07:00
2023-05-25 16:28:41 +02:00
2023-05-22 17:54:17 +01:00
2023-06-27 09:03:52 -07:00
2023-06-27 09:03:52 -07:00
2023-06-27 09:03:52 -07:00
2023-05-19 23:41:58 +02:00
2023-06-20 20:46:54 -07:00
2023-06-14 09:31:11 -07:00
2023-03-28 19:21:45 -04:00
2023-03-28 21:44:53 -04:00
2023-05-25 16:28:41 +02:00
2022-11-29 21:05:22 -08:00
2023-06-27 09:03:52 -07:00
2023-06-27 09:03:52 -07:00
2022-12-22 10:55:30 -05:00
2023-06-27 09:03:52 -07:00
2022-12-14 14:18:28 -08:00
2023-02-27 18:52:50 -08:00
2022-12-06 21:59:42 +00:00
2023-06-27 09:03:52 -07:00
2023-06-27 09:03:52 -07:00
2023-06-21 13:42:57 -04:00
2023-06-27 09:03:52 -07:00
2023-05-18 20:51:54 -07:00
2023-02-27 18:52:10 -08:00
2023-06-27 09:03:52 -07:00
2023-06-05 08:11:28 -07:00
2023-07-07 18:10:35 -04:00
2023-07-07 18:10:35 -04:00
2023-06-27 09:03:52 -07:00
2023-03-28 19:21:45 -04:00
2023-06-27 09:03:52 -07:00
2023-06-27 09:03:52 -07:00
2023-06-27 09:03:52 -07:00
2023-06-27 09:03:52 -07:00
2023-06-27 09:03:52 -07:00
2023-06-27 09:03:52 -07:00
2023-06-27 09:03:52 -07:00
2023-06-27 09:03:52 -07:00
2023-06-29 19:20:38 -07:00
2023-04-20 22:05:46 -04:00
2023-02-27 18:52:10 -08:00
2023-06-27 09:03:52 -07:00
2023-02-22 10:59:47 -08:00
2023-07-07 18:10:35 -04:00
2023-02-27 18:52:50 -08:00
2023-06-28 14:28:38 +02:00
2023-06-27 09:03:52 -07:00
2023-06-27 09:03:52 -07:00
2023-06-27 09:03:52 -07:00
2023-06-02 11:49:57 -07:00
2023-06-02 11:49:57 -07:00
2023-07-07 18:10:35 -04:00
2023-06-27 09:03:52 -07:00
2023-06-29 09:52:49 -07:00
2022-11-29 07:14:42 -08:00
2023-04-02 10:08:16 -07:00
2023-06-29 06:57:05 +02:00
2023-05-25 16:28:41 +02:00
2023-06-27 09:03:52 -07:00
2023-02-07 10:29:53 -08:00
2023-06-27 09:03:52 -07:00
2023-02-09 20:20:53 -08:00
2023-03-10 12:52:37 -05:00
2023-07-07 18:10:35 -04:00
2023-03-28 21:44:53 -04:00
2022-12-13 11:56:33 -05:00
2023-02-27 18:52:50 -08:00
2023-04-18 12:54:49 -04:00
2023-06-05 08:11:28 -07:00
2023-02-27 18:52:50 -08:00
2023-03-07 23:19:25 -05:00
2023-06-27 09:03:52 -07:00
2023-05-25 16:28:41 +02:00
2023-02-23 19:53:16 -08:00
2023-03-17 13:31:19 +09:00
2023-06-27 09:03:52 -07:00
2023-02-24 15:40:28 -08:00
2023-06-27 09:03:52 -07:00
2023-06-27 09:03:52 -07:00
2023-06-27 09:03:52 -07:00
2023-06-08 18:26:34 +01:00
2023-06-28 14:28:38 +02:00
2023-06-27 09:03:52 -07:00
2023-06-27 09:03:52 -07:00
2023-02-27 18:52:10 -08:00