Fangrui Song
43b13341fb
[ELF] Add internal InputFile ( #78944 )
...
Based on https://reviews.llvm.org/D45375 . Introduce a new InputFile
kind `InternalKind`, use it for
* `ctx.internalFile`: for linker-defined symbols and some synthesized
`Undefined`
* `createInternalFile`: for symbol assignments and --defsym
I picked "internal" instead of "synthetic" to avoid confusion with
SyntheticSection.
Currently a symbol's file is one of: nullptr, ObjKind, SharedKind,
BitcodeKind, BinaryKind. Now it's non-null (I plan to add an
`assert(file)` to Symbol::Symbol and change `toString(const InputFile
*)`
separately).
Debugging and error reporting gets improved. The immediate user-facing
difference is more descriptive "File" column in the --cref output. This
patch may unlock further simplification.
Currently each symbol assignment gets its own
`createInternalFile(cmd->location)`. Two symbol assignments in a linker
script do not share the same file. Making the file the same would be
nice, but would require non trivial code.
2024-01-22 09:09:46 -08:00
..
2023-11-01 09:29:33 -07:00
2020-03-05 09:59:53 -08:00
2020-03-19 19:11:11 -07:00
2020-03-15 17:48:36 -07:00
2020-02-12 21:54:50 -08:00
2020-04-02 01:21:36 +09:00
2020-03-15 17:48:36 -07:00
2020-03-15 17:48:36 -07:00
2020-03-05 09:59:53 -08:00
2020-03-05 09:59:53 -08:00
2020-03-19 19:11:11 -07:00
2020-03-04 10:48:36 -08:00
2020-03-15 17:48:36 -07:00
2020-01-06 10:25:48 -08:00
2020-03-15 17:48:36 -07:00
2021-07-16 10:02:47 -07:00
2020-02-12 21:54:50 -08:00
2021-07-16 10:02:47 -07:00
2021-07-16 10:02:47 -07:00
2021-07-16 10:02:47 -07:00
2020-03-19 19:11:11 -07:00
2023-02-24 11:16:42 +08:00
2020-02-12 21:54:50 -08:00
2021-02-12 21:00:42 -08:00
2021-02-12 21:00:42 -08:00
2021-02-13 10:32:27 -08:00
2022-03-28 11:05:52 -07:00
2020-08-06 08:27:15 -07:00
2020-02-19 22:01:42 -08:00
2020-03-15 17:48:36 -07:00
2023-12-16 13:12:17 -08:00
2022-05-06 07:49:42 -07:00
2020-03-15 17:48:36 -07:00
2020-03-23 10:30:06 -07:00
2023-09-14 14:47:20 -07:00
2023-09-14 10:33:11 -07:00
2023-09-11 10:54:49 -07:00
2020-02-12 21:54:50 -08:00
2020-02-12 21:54:50 -08:00
2023-07-15 14:10:40 -07:00
2023-07-15 14:10:40 -07:00
2023-07-15 14:10:40 -07:00
2020-07-24 11:38:26 +03:00
2022-01-12 12:43:49 -08:00
2019-12-26 09:54:22 -08:00
2020-03-15 17:48:36 -07:00
2021-11-19 10:50:53 -08:00
2022-04-20 22:49:49 -07:00
2022-04-20 22:49:49 -07:00
2023-10-17 14:10:52 -07:00
2020-03-19 18:04:47 -07:00
2020-03-04 10:48:36 -08:00
2020-03-15 17:48:36 -07:00
2020-03-15 17:48:36 -07:00
2020-03-17 12:58:24 -07:00
2023-03-03 12:35:05 -08:00
2020-03-15 17:48:36 -07:00
2021-02-12 21:00:42 -08:00
2023-11-17 22:38:15 -08:00
2020-02-26 10:32:54 -08:00
2020-03-15 17:48:36 -07:00
2023-11-17 22:38:15 -08:00
2020-12-16 08:59:38 -08:00
2020-03-15 17:48:36 -07:00
2020-12-02 11:19:21 +03:00
2020-03-15 17:48:36 -07:00
2020-05-04 08:07:34 -07:00
2023-11-01 22:35:28 -07:00
2023-06-14 15:26:31 -07:00
2022-06-25 12:19:45 -07:00
2020-11-12 08:53:11 -08:00
2022-10-29 15:40:26 -07:00
2020-02-12 21:54:50 -08:00
2020-03-04 10:48:36 -08:00
2023-11-01 09:29:33 -07:00
2023-11-01 22:35:28 -07:00
2023-11-01 09:29:33 -07:00
2022-05-13 12:02:14 -07:00
2022-05-13 11:53:03 -07:00
2020-02-12 21:54:50 -08:00
2022-10-01 15:37:07 -07:00
2020-03-23 10:30:06 -07:00
2021-10-21 11:38:39 +07:00
2020-02-12 21:54:50 -08:00
2020-04-30 20:14:22 +01:00
2020-03-15 17:48:36 -07:00
2020-04-22 12:34:20 -07:00
2020-03-15 17:48:36 -07:00
2022-02-01 10:16:12 -08:00
2023-11-01 22:35:28 -07:00
2020-02-12 21:54:50 -08:00
2021-06-13 12:41:11 -07:00
2021-06-30 11:35:50 -07:00
2020-02-12 21:54:50 -08:00
2020-03-16 07:42:04 -07:00
2020-02-12 21:54:50 -08:00
2020-03-23 10:30:06 -07:00
2020-03-30 15:17:29 -07:00
2020-08-17 11:29:05 -07:00
2023-11-01 22:35:28 -07:00
2020-03-11 09:35:42 -07:00
2020-06-19 09:11:33 -07:00
2020-04-01 08:19:06 -07:00
2020-02-12 21:54:50 -08:00
2020-04-01 08:19:06 -07:00
2020-03-15 17:48:36 -07:00
2023-09-20 09:06:45 -07:00
2023-09-20 09:06:45 -07:00
2021-02-13 10:32:27 -08:00
2020-03-23 10:30:06 -07:00
2020-02-08 22:45:00 -08:00
2021-11-24 12:17:09 +07:00
2020-02-12 21:54:50 -08:00
2023-06-14 15:26:31 -07:00
2020-03-06 14:01:20 -08:00
2020-03-06 14:01:20 -08:00
2020-03-15 17:48:36 -07:00
2021-07-16 10:02:47 -07:00
2023-03-01 22:40:32 -08:00
2023-06-14 15:23:14 -07:00
2021-11-15 15:59:39 +07:00
2020-08-18 09:03:01 -07:00
2020-03-09 08:31:41 -07:00
2021-07-16 10:02:47 -07:00
2020-03-15 17:48:36 -07:00
2023-07-19 11:28:47 -07:00
2020-03-19 19:11:11 -07:00
2020-03-19 19:11:11 -07:00
2020-03-15 17:48:36 -07:00
2022-05-13 11:06:01 -07:00
2021-06-16 12:36:45 +02:00
2023-05-23 20:41:20 +00:00
2020-03-04 10:48:36 -08:00
2022-10-29 15:40:26 -07:00
2020-08-25 13:05:17 +03:00
2020-03-19 19:11:11 -07:00
2020-03-15 17:48:36 -07:00
2023-07-15 14:10:40 -07:00
2020-03-19 19:11:11 -07:00
2021-07-16 10:02:47 -07:00
2021-11-11 15:07:38 +07:00
2021-10-21 11:38:39 +07:00
2020-12-02 11:19:21 +03:00
2020-03-23 10:30:06 -07:00
2020-03-15 17:48:36 -07:00
2020-03-15 17:48:36 -07:00
2020-03-15 17:48:36 -07:00
2020-03-15 17:48:36 -07:00
2020-03-15 17:48:36 -07:00
2021-01-21 19:47:03 +00:00
2020-02-21 08:12:00 -08:00
2022-08-24 09:40:03 -07:00
2023-05-15 19:08:16 +01:00
2024-01-08 16:12:49 -08:00
2021-06-13 12:41:11 -07:00
2021-08-16 19:23:11 -07:00
2020-03-04 10:48:36 -08:00
2020-08-25 13:05:17 +03:00
2022-01-12 11:32:31 -08:00
2021-12-23 11:32:44 -08:00
2021-11-19 11:45:58 +00:00
2023-05-25 13:05:43 -07:00
2023-12-12 22:29:36 -08:00
2023-02-03 11:03:00 -08:00
2020-03-15 17:48:36 -07:00
2020-03-19 19:11:11 -07:00
2020-03-15 17:48:36 -07:00
2020-03-19 19:11:11 -07:00
2020-03-11 09:35:42 -07:00
2020-03-11 09:35:42 -07:00
2020-03-15 17:48:36 -07:00
2023-07-05 14:56:16 -07:00
2020-03-15 17:48:36 -07:00
2021-04-16 12:18:46 -07:00
2020-03-15 17:48:36 -07:00
2020-03-19 19:11:11 -07:00
2020-08-18 09:03:01 -07:00
2023-12-16 13:12:17 -08:00
2020-08-18 09:03:01 -07:00
2020-03-04 10:48:36 -08:00
2020-03-19 19:11:11 -07:00
2020-11-12 08:53:11 -08:00
2023-03-07 12:44:02 -05:00
2020-03-15 17:48:36 -07:00
2020-03-15 17:48:36 -07:00
2020-04-02 01:21:36 +09:00
2021-02-13 10:32:27 -08:00
2020-03-23 10:30:06 -07:00
2020-08-20 16:05:27 -07:00
2023-12-16 13:12:17 -08:00
2021-10-31 12:10:43 -07:00
2020-03-04 10:48:36 -08:00
2021-09-27 09:50:42 -07:00
2020-03-04 12:22:12 -08:00
2022-01-28 22:21:13 -08:00
2020-03-15 17:48:36 -07:00
2024-01-22 09:09:46 -08:00
2020-03-05 09:59:53 -08:00
2023-12-12 22:29:36 -08:00
2020-08-18 09:03:01 -07:00
2022-06-25 20:26:47 -07:00
2021-02-13 10:32:27 -08:00
2020-03-05 09:59:53 -08:00
2020-03-05 09:59:53 -08:00
2022-06-25 12:31:20 -07:00
2021-08-04 08:58:50 -07:00
2020-05-02 22:49:23 +01:00
2021-07-29 15:14:00 +01:00
2020-03-04 10:48:36 -08:00
2020-03-15 17:48:36 -07:00
2020-03-15 17:48:36 -07:00
2020-03-15 17:48:36 -07:00
2021-02-13 10:32:27 -08:00
2020-02-12 21:54:50 -08:00
2020-03-15 17:48:36 -07:00
2020-11-12 08:46:53 -08:00