Fangrui Song
e8710ef1fb
[ELF] Split RW PT_LOAD on the PT_GNU_RELRO boundary
...
Summary:
Based on Peter Collingbourne's suggestion in D56828.
Before D56828: PT_LOAD(.data PT_GNU_RELRO(.data.rel.ro .bss.rel.ro) .bss)
Old: PT_LOAD(PT_GNU_RELRO(.data.rel.ro .bss.rel.ro) .data .bss)
New: PT_LOAD(PT_GNU_RELRO(.data.rel.ro .bss.rel.ro)) PT_LOAD(.data. .bss)
The new layout reflects the runtime memory mappings.
By having two PT_LOAD segments, we can utilize the NOBITS part of the
first PT_LOAD and save bytes for .bss.rel.ro.
.bss.rel.ro is currently small and only used by copy relocations of
symbols in read-only segments, but it can be used for other purposes in
the future, e.g. if a relro section's statically relocated data is all
zeros, we can move it to .bss.rel.ro.
Reviewers: espindola, ruiu, pcc
Reviewed By: ruiu
Subscribers: nemanjai, jvesely, nhaehnle, javed.absar, kbarton, emaste, arichardson, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D58892
llvm-svn: 356226
2019-03-15 01:29:57 +00:00
..
2018-08-02 10:45:46 +00:00
2018-02-28 20:22:42 +00:00
2018-06-26 17:04:47 +00:00
2019-01-28 15:03:47 +00:00
2018-02-23 10:15:54 +00:00
2019-01-28 15:03:47 +00:00
2019-01-28 15:03:47 +00:00
2019-01-28 15:03:47 +00:00
2019-01-10 16:26:05 +00:00
2018-03-01 01:19:12 +00:00
2019-01-28 15:03:47 +00:00
2018-11-05 20:39:06 +00:00
2019-03-15 01:29:57 +00:00
2018-03-01 01:19:12 +00:00
2018-03-01 01:19:12 +00:00
2018-03-01 01:19:12 +00:00
2018-03-01 01:19:12 +00:00
2017-12-20 08:56:10 +00:00
2018-03-01 01:19:12 +00:00
2018-07-02 17:48:23 +00:00
2019-01-28 15:03:47 +00:00
2018-03-01 01:19:12 +00:00
2018-02-15 06:13:52 +00:00
2018-03-01 01:19:12 +00:00
2018-08-02 08:07:07 +00:00
2018-08-02 08:13:56 +00:00
2018-08-02 10:45:46 +00:00
2018-01-12 23:26:25 +00:00
2018-03-01 12:36:01 +00:00
2018-03-13 16:02:45 +00:00
2018-03-13 16:02:45 +00:00
2018-01-08 10:17:03 +00:00
2018-03-13 16:02:45 +00:00
2018-07-02 17:48:23 +00:00
2017-11-30 17:51:10 +00:00
2018-03-01 04:21:42 +00:00
2018-03-01 04:21:42 +00:00
2018-06-26 17:04:47 +00:00
2018-03-01 04:21:42 +00:00
2018-06-23 00:15:23 +00:00
2018-01-17 10:24:49 +00:00
2018-03-01 04:21:42 +00:00
2018-03-01 04:21:42 +00:00
2018-03-01 04:21:42 +00:00
2018-03-01 04:21:42 +00:00
2018-03-01 04:21:42 +00:00
2018-03-01 04:21:42 +00:00
2018-03-07 11:47:15 +00:00
2018-06-06 13:56:51 +00:00
2018-02-17 00:09:49 +00:00
2018-12-10 09:24:49 +00:00
2018-06-26 17:04:47 +00:00
2018-03-13 16:02:45 +00:00
2018-07-02 17:48:23 +00:00
2018-03-23 09:18:31 +00:00
2018-07-02 19:17:03 +00:00
2019-02-28 23:11:35 +00:00
2018-03-01 10:38:51 +00:00
2018-07-02 19:17:03 +00:00
2018-03-01 04:21:42 +00:00
2019-03-14 03:47:45 +00:00
2017-12-01 09:04:52 +00:00
2018-03-13 08:50:36 +00:00
2018-03-01 04:21:42 +00:00
2018-04-09 13:01:50 +00:00
2018-03-01 12:27:04 +00:00
2018-02-26 22:32:15 +00:00
2018-03-13 16:02:45 +00:00
2018-03-13 16:02:45 +00:00
2018-03-13 16:23:48 +00:00
2018-06-26 17:04:47 +00:00
2018-03-01 04:21:42 +00:00
2018-03-01 04:21:42 +00:00
2018-03-01 04:21:42 +00:00
2018-08-02 11:33:54 +00:00
2018-03-01 04:21:42 +00:00
2018-07-02 19:17:03 +00:00
2018-03-13 16:02:45 +00:00
2018-07-02 17:48:23 +00:00
2018-03-13 16:02:45 +00:00
2018-07-03 08:30:55 +00:00
2018-07-02 17:48:23 +00:00
2018-08-29 23:43:38 +00:00
2018-01-30 18:05:56 +00:00
2018-06-26 22:13:32 +00:00
2018-08-28 08:39:21 +00:00
2019-01-28 15:03:47 +00:00
2019-01-28 15:03:47 +00:00
2018-03-13 09:18:11 +00:00
2018-08-02 11:33:54 +00:00
2018-07-25 23:29:15 +00:00
2019-02-11 22:01:32 +00:00
2018-03-07 12:44:18 +00:00
2019-01-28 15:03:47 +00:00
2018-03-13 16:23:48 +00:00
2018-12-06 09:04:52 +00:00
2018-12-06 09:04:52 +00:00
2018-07-02 17:48:23 +00:00
2019-01-28 15:03:47 +00:00
2018-07-05 10:44:17 +00:00
2018-07-05 10:44:17 +00:00
2018-03-13 16:02:45 +00:00
2018-03-02 08:11:58 +00:00
2018-10-12 17:07:32 +00:00
2018-03-05 10:54:03 +00:00
2018-03-26 08:58:16 +00:00
2018-06-23 00:15:23 +00:00
2018-01-29 03:44:44 +00:00
2018-12-04 18:47:44 +00:00
2018-06-26 22:13:32 +00:00
2018-06-26 22:13:32 +00:00
2019-01-28 15:03:47 +00:00
2018-12-06 08:34:52 +00:00
2018-03-13 16:02:45 +00:00
2018-06-26 22:13:32 +00:00
2018-01-02 16:46:30 +00:00
2018-04-05 13:23:59 +00:00
2019-01-28 15:03:47 +00:00
2018-06-26 17:04:47 +00:00
2018-11-05 20:39:06 +00:00
2018-11-05 20:39:06 +00:00
2019-01-28 15:03:47 +00:00
2018-06-06 13:56:51 +00:00
2018-06-06 13:56:51 +00:00
2018-06-06 13:56:51 +00:00
2018-07-03 14:02:52 +00:00
2018-11-05 20:39:06 +00:00
2018-06-26 17:04:47 +00:00
2018-11-05 20:39:06 +00:00
2018-07-30 12:39:54 +00:00
2019-03-14 03:47:45 +00:00
2019-03-14 03:47:45 +00:00
2018-10-12 17:07:32 +00:00
2019-03-01 18:53:41 +00:00
2018-12-03 17:42:57 +00:00
2018-03-13 16:02:45 +00:00
2019-03-15 01:29:57 +00:00
2018-06-27 08:08:12 +00:00
2018-06-27 08:08:12 +00:00
2018-06-27 08:08:12 +00:00
2018-03-13 16:02:45 +00:00
2018-03-13 16:02:45 +00:00
2018-08-09 13:19:10 +00:00
2018-07-03 09:23:25 +00:00
2019-01-22 09:35:47 +00:00
2017-11-30 22:29:14 +00:00
2018-07-02 17:48:23 +00:00
2018-07-05 15:01:44 +00:00
2018-06-23 00:15:23 +00:00
2018-11-01 09:20:06 +00:00
2019-03-15 01:29:57 +00:00
2019-01-28 15:03:47 +00:00
2018-03-13 16:02:45 +00:00
2018-07-02 19:17:03 +00:00
2018-10-12 17:07:32 +00:00
2018-06-26 17:04:47 +00:00
2018-06-26 17:04:47 +00:00
2019-01-28 15:03:47 +00:00
2018-06-26 17:04:47 +00:00
2018-07-02 17:48:23 +00:00
2018-06-26 22:13:32 +00:00
2018-08-04 10:34:52 +00:00
2018-06-23 00:15:23 +00:00
2019-02-05 21:01:01 +00:00
2018-07-02 17:48:23 +00:00
2019-01-10 16:26:05 +00:00
2019-01-10 16:26:05 +00:00
2018-03-13 16:02:45 +00:00
2018-08-09 15:05:25 +00:00
2019-03-14 03:47:45 +00:00
2018-12-06 08:34:52 +00:00
2018-03-13 16:02:45 +00:00
2018-07-02 17:48:23 +00:00
2019-01-10 16:26:05 +00:00
2018-12-19 10:19:40 +00:00
2019-01-10 16:26:05 +00:00
2018-03-13 16:02:45 +00:00
2019-01-28 15:03:47 +00:00
2018-04-10 09:44:44 +00:00
2018-07-02 19:17:03 +00:00
2018-03-13 16:02:45 +00:00
2018-03-24 13:10:19 +00:00
2018-05-08 01:19:16 +00:00
2018-03-01 01:19:12 +00:00
2018-03-01 01:19:12 +00:00
2018-06-26 17:04:47 +00:00
2018-08-06 21:29:41 +00:00
2017-11-20 15:37:19 +00:00
2018-03-13 16:02:45 +00:00
2018-11-05 20:39:06 +00:00
2019-01-28 15:03:47 +00:00
2019-03-14 03:47:45 +00:00
2019-01-08 10:50:59 +00:00