Ellis Hoag
a9a4515b0a
[lld][MachO] Read cstring order for non deduped sections ( #161879 )
...
https://github.com/llvm/llvm-project/pull/140307 added support for
cstring hashes in the orderfile to layout cstrings in a specific order,
but only when `--deduplicate-strings` is used. This PR supports cstring
ordering when `--no-deduplicate-strings` is used.
1. Create `cStringPriorities`, separate from `priorities`, to hold only
priorities for cstring pieces. This allows us to lookup by hash
directly, instead of first converting to a string. It also fixes a
contrived bug where we want to order a symbol named `CSTR;12345` rather
than a cstring.
2. Rather than calling `buildCStringPriorities()` which always
constructs and returns a vector, we use `forEachStringPiece()` to
efficiently iterate over cstring pieces without creating a new vector if
no cstring is ordered.
3. Create `SymbolPriorityEntry::{get,set}Priority()` helper functions to
simplify code.
2025-11-17 09:38:02 -08:00
..
2024-11-27 11:23:49 -05:00
2025-11-01 13:44:21 -04:00
2024-08-31 16:37:49 +02:00
2023-07-19 14:19:15 -04:00
2024-11-27 11:23:49 -05:00
2025-04-10 14:33:56 -04:00
2025-04-10 14:33:56 -04:00
2024-07-22 22:03:32 +02:00
2024-01-29 23:29:57 -08:00
2024-01-23 07:31:34 -08:00
2024-01-18 10:46:30 -08:00
2025-04-04 16:37:35 -07:00
2024-06-13 15:16:55 +02:00
2024-07-22 22:03:32 +02:00
2025-05-01 10:29:07 -07:00
2024-12-31 09:07:00 -08:00
2024-12-09 22:50:21 -08:00
2025-10-31 09:02:05 -07:00
2025-01-23 15:48:11 -08:00
2025-09-03 09:30:31 -07:00
2025-09-03 09:30:31 -07:00
2025-09-03 09:12:12 -07:00
2024-06-13 15:16:55 +02:00
2023-06-07 10:03:50 -04:00
2023-06-07 10:03:50 -04:00
2023-06-07 10:03:50 -04:00
2024-06-13 15:16:55 +02:00
2023-05-31 17:53:46 -07:00
2023-05-31 17:53:46 -07:00
2025-10-03 16:38:10 +00:00
2025-10-03 16:38:10 +00:00
2025-09-22 11:53:34 -07:00
2024-02-16 07:46:58 -05:00
2024-07-17 00:41:36 +02:00
2024-07-22 22:03:32 +02:00
2023-06-07 10:03:50 -04:00
2023-06-07 10:03:50 -04:00
2025-02-18 08:32:54 -08:00
2024-07-25 15:12:39 -07:00
2023-12-19 11:42:26 -08:00
2023-06-06 12:53:03 -04:00
2023-08-09 09:54:32 -04:00
2025-09-03 09:12:12 -07:00
2025-11-11 14:27:03 -08:00
2025-11-11 14:27:03 -08:00
2023-05-20 13:06:03 -07:00
2023-06-07 10:03:50 -04:00
2025-07-05 09:36:13 +03:00
2025-07-05 09:36:13 +03:00
2024-07-17 00:41:36 +02:00
2023-06-07 10:03:50 -04:00
2023-08-04 13:49:07 -04:00
2025-09-03 09:12:12 -07:00
2024-07-06 15:41:40 +02:00
2024-05-15 15:11:14 -07:00
2025-03-28 12:05:50 -07:00
2024-02-27 15:29:34 -05:00
2023-08-13 13:39:04 -07:00
2023-08-13 13:39:04 -07:00
2023-08-13 13:39:04 -07:00
2024-01-23 09:08:43 -05:00
2025-09-03 09:12:12 -07:00
2024-07-18 10:49:19 +02:00
2023-05-23 13:50:14 -07:00
2023-05-25 11:17:05 +02:00
2023-03-11 01:40:14 -05:00
2025-07-16 21:29:48 +02:00
2023-04-20 17:24:06 -04:00
2025-09-03 09:41:19 -07:00
2024-07-24 18:24:39 +01:00
2024-06-28 16:47:59 -07:00
2023-06-02 15:34:14 -07:00
2025-10-22 19:14:37 +08:00
2023-12-18 09:46:58 -08:00
2024-08-05 22:50:23 -07:00
2024-11-22 15:01:59 -08:00
2023-03-11 01:40:14 -05:00
2023-03-11 01:40:14 -05:00
2023-05-31 14:14:19 -07:00
2024-08-16 11:00:11 -07:00
2024-08-16 11:00:11 -07:00
2025-02-10 10:35:44 -08:00
2025-09-03 18:06:18 +00:00
2024-07-08 14:10:50 -07:00
2024-08-16 11:00:11 -07:00
2023-03-30 14:33:42 -04:00
2024-05-15 15:11:14 -07:00
2024-08-14 20:42:07 +02:00
2024-08-16 11:00:11 -07:00
2024-07-22 22:03:32 +02:00
2025-07-21 09:08:33 +03:00
2025-10-03 16:38:10 +00:00
2025-11-17 09:38:02 -08:00
2025-06-03 10:55:09 -07:00
2024-01-04 16:13:57 -08:00
2024-02-27 15:29:34 -05:00
2025-10-17 08:35:23 +00:00
2025-10-17 10:45:18 +00:00
2025-04-28 18:51:12 -04:00
2025-09-03 09:12:12 -07:00
2025-09-03 09:12:12 -07:00
2023-06-21 16:16:46 -07:00
2024-07-19 20:12:14 -07:00
2024-07-18 16:26:32 +02:00
2025-09-03 09:12:12 -07:00
2024-07-18 10:49:19 +02:00
2024-07-23 11:02:55 -04:00
2024-09-05 12:29:46 -04:00
2024-03-28 09:41:08 -07:00
2023-06-06 11:13:31 -07:00
2024-05-27 19:07:39 -07:00
2025-09-03 09:21:55 -07:00
2025-03-13 08:28:16 -07:00
2024-05-31 18:17:51 -07:00
2025-03-21 09:31:46 -04:00
2023-08-22 12:03:17 -07:00
2023-08-22 12:03:17 -07:00
2025-09-03 09:12:12 -07:00
2024-10-07 08:16:46 -07:00
2024-08-27 13:53:25 -04:00
2023-04-04 11:24:51 -07:00
2024-08-27 13:53:25 -04:00
2024-03-20 10:59:45 +01:00
2023-07-19 16:39:31 -07:00
2025-03-19 16:05:01 -07:00
2023-09-27 19:55:16 -04:00
2024-02-01 14:19:11 -08:00
2025-10-27 08:55:05 -07:00