[PATCH 2/2] x86-64: Use MAXPAGESIZE for the relro segment alignment

Michael Matz matz@suse.de
Tue Feb 15 14:08:53 GMT 2022


Hello,

On Mon, 14 Feb 2022, H.J. Lu via Binutils wrote:

> Adjust x86-64 linker tests after reverting
> 
> commit 31b4d3a16f200bf04db8439a63b72bba7af4e1be
> Author: Alan Modra <amodra@gmail.com>
> Date:   Thu Feb 3 08:57:47 2022 +1030
> 
>     PR28824, relro security issues, x86 keep COMMONPAGESIZE relro
> 
> to use MAXPAGESIZE for the end of the relro segment alignment, like other
> ELF targets.
> 
> --- a/ld/testsuite/ld-x86-64/pr14207.d
> +++ b/ld/testsuite/ld-x86-64/pr14207.d
> @@ -11,9 +11,9 @@ There are 4 program headers, starting at offset 64
>  Program Headers:
>    Type           Offset   VirtAddr           PhysAddr           FileSiz  MemSiz   Flg Align
>    LOAD           0x000000 0x0000000000000000 0x0000000000000000 0x000150 0x000150 R   0x200000
> -  LOAD           0x000b.8 0x0000000000200b.8 0x0000000000200b.8 0x0004.0 0x000c.8 RW  0x200000
> -  DYNAMIC        0x000b.0 0x0000000000200b.0 0x0000000000200b.0 0x0001.0 0x0001.0 RW  0x8
> -  GNU_RELRO      0x000b.8 0x0000000000200b.8 0x0000000000200b.8 0x0004.0 0x0004.8 R   0x1
> +  LOAD           0x1ffb.8 0x00000000003ffb.8 0x00000000003ffb.8 0x0004.0 0x000c.8 RW  0x200000
> +  DYNAMIC        0x1ffb.0 0x00000000003ffb.0 0x00000000003ffb.0 0x0001.0 0x0001.0 RW  0x8
> +  GNU_RELRO      0x1ffb.8 0x00000000003ffb.8 0x00000000003ffb.8 0x0004.0 0x0004.8 R   0x1

This change implies that the filesize increased by 2MB (and I verified 
this to be the case).  I don't think that's a good trade-off.  E.g. I have 
about 3500 binaries in /usr/bin/ alone.  That linker change translates to 
an overall increase of 7 Gigabytes filesize.  Right now all the files 
therein are about 1GB.

So, please!


Ciao,
Michael.


More information about the Binutils mailing list