Amir Ayupov
a8cf1a0352
[BOLT] Allow empty buildid in pre-aggregated profile addresses ( #190675 )
...
Allow `parseString()` to return an empty `StringRef` when the delimiter
appears at position 0. This enables parsing pre-aggregated profile
addresses with an omitted buildid but preserved colon (`:addr` format),
where the empty buildid corresponds to the main binary.
Previously, `parseString()` rejected zero-length fields by treating
`StringEnd == 0` the same as `StringRef::npos` (delimiter not found).
These are distinct situations: `npos` means no delimiter exists, while
`0` means the field before the delimiter is empty. The fix removes the
`StringEnd == 0` sub-condition so only the missing-delimiter case
errors.
The existing test for buildid-prefixed addresses is extended to also
verify that `:addr` input produces identical output to the plain-address
and non-empty-buildid variants.
Test Plan:
Added empty-buildid input file and extended
`pre-aggregated-perf-buildid.test` to run perf2bolt with `:addr` format
and diff the fdata output against the existing buildid-prefixed result.
2026-04-06 14:41:21 -07:00
..
2026-04-06 14:41:21 -07:00
2023-05-02 16:22:49 +02:00
2024-05-31 15:14:37 -07:00
2024-07-16 22:14:43 -07:00
2024-05-31 15:14:37 -07:00
2026-03-05 00:34:36 -08:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2025-10-20 09:30:06 +00:00
2024-05-31 15:14:37 -07:00
2025-05-12 17:15:16 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-06-17 16:45:34 -07:00
2024-08-07 16:25:46 +04:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2025-11-04 17:01:25 -08:00
2025-10-14 14:45:40 +02:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2025-02-05 09:31:58 -08:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2023-11-27 10:53:18 -08:00
2025-07-26 10:13:12 -07:00
2025-07-26 10:13:12 -07:00
2025-08-27 11:23:51 -07:00
2025-05-20 17:41:27 -07:00
2025-05-20 17:41:27 -07:00
2024-05-31 15:14:37 -07:00
2024-08-08 16:41:51 -07:00
2024-08-08 16:41:51 -07:00
2024-08-08 16:41:51 -07:00
2023-11-28 22:40:53 -08:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-08-08 16:41:51 -07:00
2024-07-10 11:35:40 -07:00
2024-05-31 15:14:37 -07:00
2024-07-10 11:35:40 -07:00
2024-07-10 11:35:40 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2025-09-29 15:11:36 +08:00
2025-10-28 11:53:08 +08:00
2025-11-04 18:27:53 +08:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-03-22 13:41:27 -07:00
2024-01-25 15:00:52 -08:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-08-08 16:41:51 -07:00
2024-07-31 11:35:38 -07:00
2025-11-11 11:46:34 +08:00
2024-08-08 16:41:51 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-08-08 16:41:51 -07:00
2024-08-08 16:41:51 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-08-08 16:41:51 -07:00
2024-08-08 16:41:51 -07:00
2024-08-08 16:41:51 -07:00
2024-08-08 16:41:51 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2025-08-29 16:54:57 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-12-11 14:27:56 -08:00
2024-12-11 14:27:56 -08:00
2024-05-25 07:48:57 -07:00
2024-03-22 13:48:49 -07:00
2024-03-18 15:28:01 -07:00
2024-05-25 07:48:57 -07:00
2024-03-18 15:28:01 -07:00
2024-12-16 09:54:00 -08:00
2024-06-05 09:57:11 -07:00
2024-05-25 07:48:57 -07:00
2024-12-06 15:45:52 -08:00
2024-03-18 15:28:01 -07:00
2023-11-28 22:40:53 -08:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-03-15 13:52:45 -07:00
2024-03-15 13:52:45 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-11-27 00:14:00 +02:00
2024-05-31 15:14:37 -07:00
2024-08-08 16:41:51 -07:00
2024-05-31 15:16:21 -07:00
2024-07-26 18:58:25 -07:00
2024-03-15 13:52:45 -07:00
2024-08-08 16:41:51 -07:00
2024-03-15 13:52:45 -07:00
2024-08-08 16:41:51 -07:00
2024-08-08 16:41:51 -07:00
2024-05-31 15:14:37 -07:00
2024-08-08 16:41:51 -07:00
2024-08-08 16:41:51 -07:00
2024-03-15 13:52:45 -07:00
2024-05-31 15:14:37 -07:00
2024-08-08 16:41:51 -07:00
2025-09-25 11:15:49 -07:00
2025-09-25 11:15:49 -07:00
2024-08-08 16:41:51 -07:00
2024-08-08 16:41:51 -07:00
2025-09-25 18:07:13 +08:00
2024-08-08 16:41:51 -07:00
2024-02-14 15:43:39 -08:00
2024-05-31 15:14:37 -07:00
2025-09-25 11:15:49 -07:00
2025-09-25 11:15:49 -07:00
2025-09-25 11:15:49 -07:00
2024-03-22 13:41:27 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-08-08 16:41:51 -07:00
2024-08-08 16:41:51 -07:00
2024-02-14 11:23:57 -08:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-03-18 15:28:01 -07:00
2024-08-08 16:41:51 -07:00
2024-01-25 15:00:52 -08:00
2024-05-31 15:14:37 -07:00
2024-08-08 16:41:51 -07:00
2024-08-08 16:41:51 -07:00
2024-08-08 16:41:51 -07:00
2024-08-08 16:41:51 -07:00
2024-08-08 16:41:51 -07:00
2025-11-11 11:46:34 +08:00
2024-08-08 16:41:51 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2025-10-14 14:45:40 +02:00
2025-08-29 16:54:57 -07:00
2024-08-08 16:41:51 -07:00
2024-08-08 16:41:51 -07:00
2025-10-14 14:45:40 +02:00
2024-08-08 16:41:51 -07:00
2024-08-08 16:41:51 -07:00
2024-05-31 15:14:37 -07:00
2024-03-15 13:52:45 -07:00
2024-01-24 15:34:29 -08:00
2024-05-31 15:14:37 -07:00
2023-11-09 09:55:49 -08:00
2024-05-31 15:14:37 -07:00
2026-03-05 00:34:36 -08:00
2024-05-31 15:14:37 -07:00
2024-08-12 17:18:17 -07:00
2024-08-23 08:20:11 -07:00
2025-06-03 20:50:19 -07:00
2024-05-31 15:14:37 -07:00
2024-11-22 00:28:55 -08:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2025-05-22 14:01:54 -07:00
2023-11-27 10:53:18 -08:00
2025-10-09 15:24:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-08-12 17:18:17 -07:00
2024-06-29 21:19:00 -07:00
2025-10-20 09:30:06 +00:00
2024-05-31 15:14:37 -07:00
2025-04-18 21:02:09 -07:00
2025-08-19 14:41:13 -07:00
2025-12-01 10:55:00 +03:00
2024-08-12 17:18:17 -07:00
2025-03-13 20:55:43 -07:00
2025-03-13 20:55:43 -07:00
2024-12-16 21:49:53 -08:00
2025-03-13 20:55:43 -07:00
2025-03-13 20:55:43 -07:00
2024-05-31 15:14:37 -07:00
2024-09-23 18:22:43 +08:00
2024-05-31 15:14:37 -07:00
2025-03-19 14:55:59 +00:00
2024-07-09 20:02:01 -07:00
2024-08-21 00:35:07 -04:00
2025-07-26 10:13:12 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2025-12-02 10:41:12 +03:00
2024-08-23 08:20:11 -07:00
2025-12-01 10:55:00 +03:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-06-27 17:26:58 -07:00
2024-06-27 17:26:58 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2025-08-27 11:23:51 -07:00
2024-05-31 15:14:37 -07:00
2025-10-14 14:45:40 +02:00
2024-07-09 20:02:01 -07:00
2025-08-25 17:13:30 -07:00
2024-07-18 20:57:05 -07:00
2024-05-31 15:14:37 -07:00
2024-08-12 17:18:17 -07:00
2025-08-27 11:23:51 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-08-12 17:18:17 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-12-26 09:54:23 -08:00
2024-12-26 09:54:23 -08:00
2024-12-26 09:54:23 -08:00
2024-12-26 09:54:23 -08:00
2024-12-26 09:54:23 -08:00
2024-12-26 09:54:23 -08:00
2024-12-26 09:54:23 -08:00
2024-12-26 09:54:23 -08:00
2024-12-26 09:54:23 -08:00
2025-06-19 23:09:34 -07:00
2026-01-23 10:46:31 +02:00
2025-03-31 18:31:33 -07:00
2024-09-23 15:47:19 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2023-11-27 10:53:18 -08:00
2025-11-11 11:55:36 -08:00
2025-11-11 11:55:36 -08:00
2024-11-27 00:14:00 +02:00
2024-11-12 07:21:03 -08:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2025-09-11 10:41:11 -07:00
2024-07-03 11:39:18 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2025-04-18 17:29:24 -07:00
2025-10-23 10:13:28 +01:00
2024-05-31 15:14:37 -07:00
2025-06-02 12:33:54 -07:00
2026-02-21 14:09:36 -08:00
2024-02-01 12:08:41 -08:00
2024-11-21 18:18:30 -08:00
2025-02-05 09:31:58 -08:00
2022-10-25 11:03:52 -07:00
2026-04-06 14:41:21 -07:00
2025-10-23 10:13:28 +01:00
2024-09-25 23:44:06 +02:00
2024-05-13 18:02:38 -07:00
2025-04-22 15:42:47 -04:00
2025-04-22 15:42:47 -04:00
2025-12-22 14:47:21 -08:00
2025-11-11 11:55:36 -08:00
2025-11-11 11:55:36 -08:00
2024-08-12 17:18:17 -07:00
2025-05-12 17:15:16 -07:00
2025-05-12 17:15:16 -07:00
2024-05-31 15:14:37 -07:00
2025-06-20 12:46:56 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2025-11-09 12:43:50 -08:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-06-27 17:26:58 -07:00
2024-05-31 15:14:37 -07:00
2024-08-07 20:52:19 -07:00
2024-05-31 15:14:37 -07:00
2023-07-10 14:42:03 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2025-08-27 11:23:51 -07:00
2025-02-21 09:10:53 -08:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2025-04-10 21:17:04 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2025-10-14 14:45:40 +02:00
2024-05-31 15:14:37 -07:00
2024-06-18 13:41:57 +02:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2024-07-24 07:16:39 -07:00
2025-12-06 14:39:08 -08:00
2025-11-03 09:19:33 -08:00
2024-05-31 15:14:37 -07:00
2024-05-31 15:14:37 -07:00
2025-12-09 16:17:19 +08:00
2024-08-12 17:18:17 -07:00
2024-05-31 15:14:37 -07:00
2024-05-19 20:15:31 -07:00
2024-04-11 21:15:04 +02:00
2024-09-03 11:27:57 -07:00
2025-06-25 22:20:37 -07:00
2024-05-31 15:14:37 -07:00