jeffreytan81
e8ea47602b
[lldb] Implement thread local storage for linux ( #67470 )
...
This patch implements the thread local storage support for linux
(https://github.com/llvm/llvm-project/issues/28766 ).
TLS feature is originally only implemented for Mac. With my previous
patch to enable `fs_base` register for Linux
(https://reviews.llvm.org/D155256 ), now it is feasible to implement this
feature for Linux.
The major changes are:
* Track the main module's link address during launch
* Fetch thread pointer from `fs_base` register
* Create register alias for thread pointer
* Read pthread metadata from target memory instead of process so that it
works for coredump
With the patch the failing test is passing now. Note: I am only enabling
this test for Mac and Linux because I do not have machine to test for
FreeBSD/NetBSD.
---------
Co-authored-by: jeffreytan81 <jeffreytan@fb.com>
2023-09-27 09:14:40 -07:00
..
2023-02-20 10:38:18 -08:00
2023-01-07 14:18:35 -08:00
2023-01-07 14:18:35 -08:00
2023-07-20 16:32:47 -07:00
2023-04-04 21:21:45 +01:00
2023-03-27 13:42:14 -07:00
2023-03-27 13:42:14 -07:00
2023-03-27 13:42:14 -07:00
2022-02-03 14:47:01 +01:00
2023-08-09 17:17:18 -07:00
2023-01-07 14:18:35 -08:00
2023-09-19 10:49:57 +00:00
2023-03-27 13:42:14 -07:00
2023-03-27 13:42:14 -07:00
2023-01-14 09:22:14 +08:00
2021-09-10 09:13:15 +02:00
2023-01-29 18:07:56 +08:00
2023-07-20 16:32:47 -07:00
2022-07-25 15:14:49 +00:00
2022-07-25 15:51:36 +01:00
2022-12-08 19:59:39 +08:00
2022-02-03 14:47:01 +01:00
2023-04-12 17:57:21 -07:00
2022-07-29 13:31:17 -07:00
2023-07-20 16:32:47 -07:00
2023-03-27 13:42:14 -07:00
2023-03-27 13:42:14 -07:00
2023-07-20 16:32:47 -07:00
2023-04-13 11:30:00 +00:00
2022-04-05 13:46:37 -07:00
2023-04-13 11:30:00 +00:00
2022-04-05 13:46:37 -07:00
2023-04-13 11:30:00 +00:00
2022-04-05 13:46:37 -07:00
2023-04-13 11:30:00 +00:00
2022-04-05 13:46:37 -07:00
2022-04-05 13:46:37 -07:00
2022-04-05 13:46:37 -07:00
2022-08-22 18:01:44 +08:00
2022-08-22 18:01:44 +08:00
2022-08-22 18:01:44 +08:00
2022-04-05 13:46:37 -07:00
2022-04-05 13:46:37 -07:00
2023-04-13 11:30:00 +00:00
2023-04-05 13:25:43 +02:00
2023-04-05 13:25:43 +02:00
2023-04-05 13:25:43 +02:00
2023-07-20 16:32:47 -07:00
2023-04-05 19:54:23 +08:00
2023-04-05 20:16:48 +02:00
2022-06-17 15:08:02 -07:00
2022-06-17 15:08:02 -07:00
2022-06-17 15:08:02 -07:00
2022-10-12 08:19:30 +00:00
2022-04-05 13:46:37 -07:00
2022-08-22 18:01:44 +08:00
2023-02-07 12:39:46 +00:00
2022-08-22 18:01:44 +08:00
2023-09-19 10:49:57 +00:00
2023-09-21 14:54:51 +01:00
2022-11-25 21:19:36 +08:00
2022-11-25 21:19:36 +08:00
2022-08-11 14:24:06 +08:00
2022-08-11 14:24:06 +08:00
2022-08-22 18:01:44 +08:00
2023-07-20 16:32:47 -07:00
2023-07-20 16:32:47 -07:00
2022-04-05 13:46:37 -07:00
2022-04-05 13:46:37 -07:00
2023-04-13 11:30:00 +00:00
2023-04-13 11:30:00 +00:00
2023-04-05 13:25:43 +02:00
2023-09-20 10:20:45 +01:00
2023-09-19 11:18:27 +00:00
2023-04-13 11:30:00 +00:00
2022-11-25 21:19:36 +08:00
2022-11-25 21:19:36 +08:00
2022-11-17 19:58:21 +08:00
2023-04-19 16:26:33 +08:00
2023-04-13 11:30:00 +00:00
2023-04-13 11:30:00 +00:00
2023-04-13 11:30:00 +00:00
2023-04-13 11:30:00 +00:00
2023-04-13 11:30:00 +00:00
2023-04-13 11:30:00 +00:00
2023-04-13 11:30:00 +00:00
2023-04-13 11:30:00 +00:00
2023-04-13 11:30:00 +00:00
2023-04-19 11:42:14 +00:00
2023-04-13 11:30:00 +00:00
2023-07-21 11:42:42 +08:00
2023-07-20 16:32:47 -07:00
2023-09-27 09:14:40 -07:00
2023-04-13 11:30:00 +00:00
2023-07-11 12:33:22 -07:00
2023-01-07 14:18:35 -08:00
2022-07-25 20:52:45 -07:00