From a1faa5ea8629adfcd60c2cc0d3b533ed3ab34ee2 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 14 Feb 2022 16:02:45 -0800 Subject: Revert "PR28824, relro security issues, x86 keep COMMONPAGESIZE relro" This reverts commit 31b4d3a16f200bf04db8439a63b72bba7af4e1be. --- ld/emultempl/elf-x86.em | 1 - ld/ld.h | 4 ---- ld/ldexp.c | 5 +---- ld/testsuite/ld-x86-64/pr18176.d | 1 - 4 files changed, 1 insertion(+), 10 deletions(-) (limited to 'ld') diff --git a/ld/emultempl/elf-x86.em b/ld/emultempl/elf-x86.em index 134e4e1..f75521c 100644 --- a/ld/emultempl/elf-x86.em +++ b/ld/emultempl/elf-x86.em @@ -33,7 +33,6 @@ static struct elf_linker_x86_params params; static void elf_x86_create_output_section_statements (void) { - config.relro_use_commonpagesize = true; _bfd_elf_linker_x86_set_options (&link_info, ¶ms); } diff --git a/ld/ld.h b/ld/ld.h index c7e4ca3..f3086bf 100644 --- a/ld/ld.h +++ b/ld/ld.h @@ -276,10 +276,6 @@ typedef struct /* If set, code and non-code sections should never be in one segment. */ bool separate_code; - /* TRUE if the end of the relro segment should be aligned to - COMMONPAGESIZE rather than MAXPAGESIZE. */ - bool relro_use_commonpagesize; - /* The rpath separation character. Usually ':'. */ char rpath_separator; diff --git a/ld/ldexp.c b/ld/ldexp.c index 90760e0..c18b828 100644 --- a/ld/ldexp.c +++ b/ld/ldexp.c @@ -485,10 +485,7 @@ fold_segment_align (etree_value_type *lhs) seg->base = expld.result.value; seg->commonpagesize = commonpage; seg->maxpagesize = maxpage; - if (config.relro_use_commonpagesize) - seg->relropagesize = commonpage; - else - seg->relropagesize = maxpage; + seg->relropagesize = maxpage; seg->relro_end = 0; } else diff --git a/ld/testsuite/ld-x86-64/pr18176.d b/ld/testsuite/ld-x86-64/pr18176.d index 728c15a..a99ff15 100644 --- a/ld/testsuite/ld-x86-64/pr18176.d +++ b/ld/testsuite/ld-x86-64/pr18176.d @@ -3,7 +3,6 @@ #ld: -melf_x86_64 -shared -z relro -T pr18176.t -z max-page-size=0x200000 -z common-page-size=0x1000 $NO_DT_RELR_LDFLAGS #readelf: -l --wide #target: x86_64-*-linux* -#xfail: *-*-* #... GNU_RELRO 0x04bd17 0x000000000024bd17 0x000000000024bd17 0x0022e9 0x0022e9 R 0x1 -- cgit v1.1