This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Document that --enable-static-pie implies PIE
- From: Jonathan Nieder <jrnieder at gmail dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Tue, 19 Dec 2017 11:35:22 -0800
- Subject: Re: [PATCH] Document that --enable-static-pie implies PIE
- Authentication-results: sourceware.org; auth=none
- References: <20171219185156.GA25849@gmail.com>
Hi,
H.J. Lu wrote:
> --- a/manual/install.texi
> +++ b/manual/install.texi
> @@ -123,7 +123,8 @@ address without help from a dynamic linker. All static programs as
> well as static tests are built as static PIE, except for those marked
> with no-pie. The resulting glibc can be used with the GCC option,
> -static-pie, which is available with GCC 8 or above, to create static
> -PIE.
> +PIE. This option also implies that dynamic position independent
> +executable (PIE) is created by default.
>
> @item --disable-profile
> Don't build libraries with profiling information. You may want to use
When the new text says that dynamic PIE is created by default, what does
that mean? Does it mean that my executables will automatically act as
though I passed -fPIE by default when I link them or that support for
-fPIE will be included in glibc? If the latter, is it saying that such
support will be included in the glibc distribution by default but that I
can turn it off? i.e. what is the option to unset this default, or what
would be the option to turn it on if I don't --enable-static-pie?
Unrelated: while I'm reading this text
> Static PIE is similar to static executable,
This is missing an article. Perhaps it means something like
A static position independent executable is similar to a static
executable
(adding "a" twice). But that also feels strange --- isn't a static PIE
a kind of static executable? Maybe:
A static PIE is similar to a traditional static executable but
can be loaded at any address without help from a dynamic linker.
(adding "a" twice and adding "traditional")
Thanks and hope that helps,
Jonathan