Fangrui Song
8ffb2097cc
[ELF] Refine LMA offset propagation rule in D76995
...
If neither AT(lma) nor AT>lma_region is specified,
D76995 keeps `lmaOffset` (LMA - VMA) if the previous section is in the
default LMA region.
This patch additionally checks that the two sections are in the same
memory region.
Add a test case derived from https://bugs.llvm.org/show_bug.cgi?id=45313
.mdata : AT(0xfb01000) { *(.data); } > TCM
// It is odd to make .bss inherit lmaOffset, because the two sections
// are in different memory regions.
.bss : { *(.bss) } > DDR
With this patch, section VMA/LMA match GNU ld. Note, GNU ld supports
out-of-order (w.r.t sh_offset) sections and places .text and .bss in the
same PT_LOAD. We don't have that behavior.
Reviewed By: grimar
Differential Revision: https://reviews.llvm.org/D81986
2020-06-19 09:11:33 -07:00
..
2020-02-19 22:01:42 -08:00
2020-03-05 09:59:53 -08:00
2020-03-19 19:11:11 -07:00
2019-09-16 07:05:34 +00: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
2019-09-24 21:44:14 +00:00
2019-09-24 21:44:14 +00: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
2020-02-12 21:54:50 -08:00
2020-05-04 08:07:34 -07:00
2020-03-19 19:11:11 -07:00
2020-02-12 21:54:50 -08:00
2020-03-19 18:04:47 -07:00
2020-02-19 22:01:42 -08:00
2020-02-19 22:01:42 -08:00
2020-03-15 17:48:36 -07:00
2020-03-15 17:48:36 -07:00
2020-03-23 10:30:06 -07:00
2020-03-15 17:48:36 -07:00
2020-02-12 21:54:50 -08:00
2020-02-12 21:54:50 -08:00
2020-02-12 21:54:50 -08:00
2020-02-12 21:54:50 -08:00
2020-02-12 21:54:50 -08:00
2020-02-12 21:54:50 -08:00
2020-03-15 17:48:36 -07:00
2019-12-26 09:54:22 -08:00
2019-11-19 08:54:06 -08:00
2020-03-15 17:48:36 -07:00
2019-06-03 05:34:25 +00:00
2020-02-12 21:54:50 -08:00
2020-03-15 17:48:36 -07:00
2020-03-19 18:04:47 -07:00
2019-09-26 17:10:09 +00: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
2020-02-12 21:54:50 -08:00
2020-03-15 17:48:36 -07:00
2020-03-15 17:48:36 -07:00
2020-02-26 10:32:54 -08:00
2020-03-15 17:48:36 -07:00
2020-03-15 17:48:36 -07:00
2019-06-28 10:14:14 +00:00
2020-03-15 17:48:36 -07:00
2020-05-04 08:07:34 -07:00
2020-02-12 21:54:50 -08:00
2020-03-05 18:05:28 -08:00
2020-02-12 21:54:50 -08:00
2020-03-04 10:48:36 -08:00
2020-03-19 19:11:11 -07:00
2020-03-19 19:11:11 -07:00
2020-03-19 19:11:11 -07:00
2020-01-22 12:03:10 +00:00
2019-07-10 14:36:48 +00:00
2020-02-12 21:54:50 -08:00
2020-02-12 21:54:50 -08:00
2020-03-23 10:30:06 -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
2020-02-12 08:21:52 -08:00
2020-02-12 08:21:52 -08:00
2020-02-12 21:54:50 -08:00
2020-02-12 08:21:52 -08: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-03-30 10:03:55 -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
2020-02-12 21:54:50 -08:00
2020-04-01 08:19:06 -07:00
2020-03-23 10:30:06 -07:00
2020-02-08 22:45:00 -08:00
2020-02-12 21:54:50 -08:00
2020-03-09 08:31:41 -07:00
2019-08-09 01:25:49 +00: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
2020-03-09 08:31:41 -07:00
2020-03-19 19:11:11 -07:00
2020-03-15 17:48:36 -07:00
2019-09-24 11:48:31 +00: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
2020-05-04 08:07:34 -07:00
2020-03-28 10:07:58 -07:00
2020-03-04 10:48:36 -08:00
2020-03-05 18:05:28 -08:00
2020-03-19 19:11:11 -07:00
2020-03-15 17:48:36 -07:00
2020-03-04 10:48:36 -08:00
2020-03-19 19:11:11 -07: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
2020-03-12 08:00:18 -07:00
2020-02-21 08:12:00 -08:00
2020-03-19 19:11:11 -07:00
2020-02-12 21:54:50 -08:00
2020-02-12 21:54:50 -08:00
2020-04-01 08:19:06 -07:00
2020-03-04 10:48:36 -08:00
2020-03-26 15:30:24 +00:00
2020-03-04 10:48:36 -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
2020-03-15 17:48:36 -07:00
2020-03-15 17:48:36 -07:00
2020-03-19 19:11:11 -07:00
2020-03-19 12:49:25 +03:00
2020-03-15 17:48:36 -07:00
2020-03-04 10:48:36 -08:00
2020-03-19 19:11:11 -07: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
2020-03-23 10:30:06 -07:00
2019-08-26 10:23:31 +00:00
2019-08-26 10:23:31 +00:00
2020-03-04 10:48:36 -08:00
2019-05-31 08:20:43 +00:00
2020-03-04 10:48:36 -08:00
2020-03-04 12:22:12 -08: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-15 17:48:36 -07:00
2020-03-05 09:59:53 -08:00
2020-03-19 19:11:11 -07:00
2020-03-05 09:59:53 -08:00
2020-03-05 09:59:53 -08:00
2020-05-02 22:49:23 +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
2020-02-12 21:54:50 -08:00
2019-06-11 12:59:30 +00:00
2020-03-15 17:48:36 -07:00
2020-03-15 17:48:36 -07:00