diff options
author | Alan Modra <amodra@gmail.com> | 2022-02-03 08:57:47 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2022-02-13 14:00:56 +1030 |
commit | 31b4d3a16f200bf04db8439a63b72bba7af4e1be (patch) | |
tree | a422261355b8221ded5777ec889cc7054c99203f /ld/testsuite/ld-x86-64/pr18176.d | |
parent | 9833b7757d246f22db4eb24b8e5db7eb5e05b6d9 (diff) | |
download | gdb-31b4d3a16f200bf04db8439a63b72bba7af4e1be.zip gdb-31b4d3a16f200bf04db8439a63b72bba7af4e1be.tar.gz gdb-31b4d3a16f200bf04db8439a63b72bba7af4e1be.tar.bz2 |
PR28824, relro security issues, x86 keep COMMONPAGESIZE relro
x86 treats MAXPAGESIZE as a memory optimisation parameter, actual
hardware paging is always COMMPAGESIZE of 4k. Use COMMONPAGESIZE for
the end of the relro segment alignment.
The previous patch regresses pr18176, increasing the testcase file
size from 322208 to 2099872 bytes. Fixing this on x86 will require
introducing a gap after the end of the relro segment (of up to
relropagesize-1 bytes).
PR 28824
PR 18176
* ld.h (ld_config_type): Add relro_use_commonpagesize field.
* ldexp.c (fold_segment_align): Set relropagesize depending on
relro_use_commonpagesize.
* emultempl/elf-x86.em (elf_x86_create_output_section_statements):
Set relro_use_commonpagesize.
* testsuite/ld-x86-64/pr18176.d: xfail.
Diffstat (limited to 'ld/testsuite/ld-x86-64/pr18176.d')
-rw-r--r-- | ld/testsuite/ld-x86-64/pr18176.d | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/ld/testsuite/ld-x86-64/pr18176.d b/ld/testsuite/ld-x86-64/pr18176.d index a99ff15..728c15a 100644 --- a/ld/testsuite/ld-x86-64/pr18176.d +++ b/ld/testsuite/ld-x86-64/pr18176.d @@ -3,6 +3,7 @@ #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 |