aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2022-02-14 16:02:45 -0800
committerH.J. Lu <hjl.tools@gmail.com>2022-02-14 17:39:34 -0800
commita1faa5ea8629adfcd60c2cc0d3b533ed3ab34ee2 (patch)
treeb9f08d64f4f3f0b63f8b3829b455a041a5edbc43 /ld
parent62e2e6d120fc2e374da5f36a4218a38cea857004 (diff)
downloadgdb-a1faa5ea8629adfcd60c2cc0d3b533ed3ab34ee2.zip
gdb-a1faa5ea8629adfcd60c2cc0d3b533ed3ab34ee2.tar.gz
gdb-a1faa5ea8629adfcd60c2cc0d3b533ed3ab34ee2.tar.bz2
Revert "PR28824, relro security issues, x86 keep COMMONPAGESIZE relro"
This reverts commit 31b4d3a16f200bf04db8439a63b72bba7af4e1be.
Diffstat (limited to 'ld')
-rw-r--r--ld/emultempl/elf-x86.em1
-rw-r--r--ld/ld.h4
-rw-r--r--ld/ldexp.c5
-rw-r--r--ld/testsuite/ld-x86-64/pr18176.d1
4 files changed, 1 insertions, 10 deletions
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, &params);
}
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