forked from Imagelibrary/binutils-gdb
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.
This commit is contained in:
4
ld/ld.h
4
ld/ld.h
@@ -276,6 +276,10 @@ 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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user