RFC: x86: Enable -z separate-code by default

H.J. Lu hjl.tools@gmail.com
Mon Feb 19 14:29:00 GMT 2018


On Mon, Feb 19, 2018 at 6:22 AM, Florian Weimer <fweimer@redhat.com> wrote:
> On 02/19/2018 03:15 PM, H.J. Lu wrote:
>>
>> On Mon, Feb 19, 2018 at 5:37 AM, Florian Weimer <fweimer@redhat.com>
>> wrote:
>>>
>>> On 02/19/2018 02:15 PM, H.J. Lu wrote:
>>>>
>>>>
>>>> This patch enables -z separate-code by default for x86.  To reduce
>>>> x86-64 binary size, set ELF_MAXPAGESIZE to 4KB.
>>>
>>>
>>>
>>> What is the reason for doing that?
>>
>>
>> This avoids loading code pages which also contains data.
>> This improves cache performance as well as security.
>
>
> Surely this change *reduces* the effectiveness of the page cache because the
> file is larger.

That is why I changed ELF_MAXPAGESIZE to 4KB for x86-64.

> For the other caches, wouldn't it be possible to achieve the same effect by
> aligning section boundaries to the cache line size?
>

Won't it add more paddings between sections? You may still get data in icache.

-- 
H.J.



More information about the Binutils mailing list