diff mbox

PR lto/70258: [6 Regression] flag_pic is cleared for PIE in lto_post_options

Message ID 20160316214741.GA21685@intel.com
State New
Headers show

Commit Message

H.J. Lu March 16, 2016, 9:47 p.m. UTC
Since PIE implies PIC, we should set flag_pic to flag_pie for PIE in
LTO.

Tested on x86-64.  OK for trunk?

H.J.
---
	PR lto/70258
	* lto-lang.c (lto_post_options): Set flag_pic to flag_pie for
	PIE.
---
 gcc/lto/lto-lang.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Richard Biener March 17, 2016, 10 a.m. UTC | #1
On Wed, Mar 16, 2016 at 10:47 PM, H.J. Lu <hongjiu.lu@intel.com> wrote:
> Since PIE implies PIC, we should set flag_pic to flag_pie for PIE in
> LTO.
>
> Tested on x86-64.  OK for trunk?

Ok.  I wonder if we need to do sth to flag_shlib here as well?

Richard.

> H.J.
> ---
>         PR lto/70258
>         * lto-lang.c (lto_post_options): Set flag_pic to flag_pie for
>         PIE.
> ---
>  gcc/lto/lto-lang.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gcc/lto/lto-lang.c b/gcc/lto/lto-lang.c
> index 691e9e2..b5efe3a 100644
> --- a/gcc/lto/lto-lang.c
> +++ b/gcc/lto/lto-lang.c
> @@ -836,7 +836,7 @@ lto_post_options (const char **pfilename ATTRIBUTE_UNUSED)
>        /* If -fPIC or -fPIE was used at compile time, be sure that
>           flag_pie is 2.  */
>        flag_pie = MAX (flag_pie, flag_pic);
> -      flag_pic = 0;
> +      flag_pic = flag_pie;
>        break;
>
>      case LTO_LINKER_OUTPUT_EXEC: /* Normal executable */
> --
> 2.5.0
>
diff mbox

Patch

diff --git a/gcc/lto/lto-lang.c b/gcc/lto/lto-lang.c
index 691e9e2..b5efe3a 100644
--- a/gcc/lto/lto-lang.c
+++ b/gcc/lto/lto-lang.c
@@ -836,7 +836,7 @@  lto_post_options (const char **pfilename ATTRIBUTE_UNUSED)
       /* If -fPIC or -fPIE was used at compile time, be sure that
          flag_pie is 2.  */
       flag_pie = MAX (flag_pie, flag_pic);
-      flag_pic = 0;
+      flag_pic = flag_pie;
       break;
 
     case LTO_LINKER_OUTPUT_EXEC: /* Normal executable */