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
2017-09-20 19:24:57 +00:00
2018-02-28 20:22:42 +00:00
2017-03-15 03:33:23 +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
2017-02-03 13:06:18 +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
2017-08-23 18:44:34 +00:00
2018-01-12 23:26:25 +00:00
2017-08-23 18:44:34 +00:00
2018-03-01 12:36:01 +00:00
2018-03-13 16:02:45 +00:00
2017-01-20 09:45:36 +00:00
2017-09-08 16:22:43 +00:00
2018-03-13 16:02:45 +00:00
2017-09-08 16:22:43 +00:00
2018-01-08 10:17:03 +00:00
2017-09-11 23:34:12 +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
2017-04-04 22:35:16 +00:00
2018-06-26 17:04:47 +00:00
2018-03-13 16:02:45 +00:00
2016-11-17 21:20:16 +00:00
2017-09-20 18:56:08 +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
2017-05-10 16:20:33 +00:00
2018-03-01 04:21:42 +00:00
2019-03-14 03:47:45 +00:00
2017-02-17 19:46:47 +00:00
2017-02-17 19:46:47 +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
2016-12-09 18:49:37 +00:00
2017-04-07 10:36:42 +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
2017-04-07 10:36:42 +00:00
2018-03-01 04:21:42 +00:00
2017-07-14 08:10:45 +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
2017-09-11 15:55:54 +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
2016-11-28 09:58:04 +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
2017-08-17 08:47:21 +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
2017-03-17 13:05:04 +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
2017-09-19 17:29:58 +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
2017-04-12 22:38:02 +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
2017-04-12 22:38:02 +00:00
2018-03-13 16:02:45 +00:00
2017-08-23 18:44:34 +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
2017-02-07 23:42:31 +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
2017-05-26 17:23:25 +00:00
2019-01-28 15:03:47 +00:00
2017-02-21 15:46:43 +00:00
2018-06-26 17:04:47 +00:00
2018-07-02 17:48:23 +00:00
2017-04-07 10:36:42 +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
2017-08-23 18:44:34 +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
2016-10-31 21:36:23 +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
2017-09-01 02:23:31 +00:00
2018-03-13 16:02:45 +00:00
2017-09-08 09:31:01 +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
2017-06-20 01:51:50 +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
2016-10-31 13:14:53 +00:00
2016-11-10 20:20:37 +00:00