Re: [PATCH] binfmt_elf: fix PIE load with randomization disabled

From: H.J. Lu
Date: Mon Dec 09 2013 - 16:44:19 EST


On Mon, Dec 9, 2013 at 1:39 PM, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
> On 12/09/2013 01:03 PM, H.J. Lu wrote:
>>
>> No, please don't do that. Normally, PIE has zero load address and kernel
>> can load it anywhere. There are multiple reasons why PIE has non-zero
>> load address. Saying you need to load a program above 4GB under x86-64,
>> you can't do that with normal dynamic executable. PIE with non-zero load
>> address is the only way to do that on x86-64.
>>
>
> Why does it have to be PIE?
>

x86-64 small model is limited to 4GB in size. You can't build
a dynamic executable in small model larger than 4GB.

There are medium and large models. But they are slower than
small models as well as small models in PIE. Also there are
no glibc run-times for medium and large models.


--
H.J.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/