All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Roth <michael.roth@amd.com>
To: Jessica Clarke <jrtc27@jrtc27.com>, <qemu-devel@nongnu.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Jessica Clarke <jrtc27@jrtc27.com>, <qemu-stable@nongnu.org>,
	Christian Ehrhardt <christian.ehrhardt@canonical.com>
Subject: Re: [PATCH v2] Partially revert "build: -no-pie is no functional linker flag"
Date: Thu, 14 Oct 2021 18:30:43 -0500	[thread overview]
Message-ID: <163425424356.2158.16851994446465453609@amd.com> (raw)
In-Reply-To: <20210805192545.38279-1-jrtc27@jrtc27.com>

Quoting Jessica Clarke (2021-08-05 14:25:45)
> This partially reverts commit bbd2d5a8120771ec59b86a80a1f51884e0a26e53.
> 
> This commit was misguided and broke using --disable-pie on any distro
> that enables PIE by default in their compiler driver, including Debian
> and its derivatives. Whilst -no-pie is not a linker flag, it is a
> compiler driver flag that ensures -pie is not automatically passed by it
> to the linker. Without it, all compile_prog checks will fail as any code
> built with the explicit -fno-pie will fail to link with the implicit
> default -pie due to trying to use position-dependent relocations. The
> only bug that needed fixing was LDFLAGS_NOPIE being used as a flag for
> the linker itself in pc-bios/optionrom/Makefile.
> 
> Note this does not reinstate exporting LDFLAGS_NOPIE, as it is unused,
> since the only previous use was the one that should not have existed. I
> have also updated the comment for the -fno-pie and -no-pie checks to
> reflect what they're actually needed for.
> 
> Fixes: bbd2d5a8120771ec59b86a80a1f51884e0a26e53
> Cc: Christian Ehrhardt <christian.ehrhardt@canonical.com>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: qemu-stable@nongnu.org
> Signed-off-by: Jessica Clarke <jrtc27@jrtc27.com>

Ping. --disable-pie builds are broken on Ubuntu 20.04 without this regression
fix. Looking to include it for v6.0.1/v6.1.1.

> ---
> Changes in v2:
>   * Actually include the comment change; didn't add the hunk when
>     amending...
> 
>  configure | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/configure b/configure
> index 9a79a004d7..8aecd277ed 100755
> --- a/configure
> +++ b/configure
> @@ -2246,9 +2246,11 @@ static THREAD int tls_var;
>  int main(void) { return tls_var; }
>  EOF
>  
> -# Check we support --no-pie first; we will need this for building ROMs.
> +# Check we support -fno-pie and -no-pie first; we will need the former for
> +# building ROMs, and both for everything if --disable-pie is passed.
>  if compile_prog "-Werror -fno-pie" "-no-pie"; then
>    CFLAGS_NOPIE="-fno-pie"
> +  LDFLAGS_NOPIE="-no-pie"
>  fi
>  
>  if test "$static" = "yes"; then
> @@ -2264,6 +2266,7 @@ if test "$static" = "yes"; then
>    fi
>  elif test "$pie" = "no"; then
>    CONFIGURE_CFLAGS="$CFLAGS_NOPIE $CONFIGURE_CFLAGS"
> +  CONFIGURE_LDFLAGS="$LDFLAGS_NOPIE $CONFIGURE_LDFLAGS"
>  elif compile_prog "-Werror -fPIE -DPIE" "-pie"; then
>    CONFIGURE_CFLAGS="-fPIE -DPIE $CONFIGURE_CFLAGS"
>    CONFIGURE_LDFLAGS="-pie $CONFIGURE_LDFLAGS"
> -- 
> 2.17.1
> 
>


  reply	other threads:[~2021-10-14 23:33 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-05 19:14 [PATCH] Partially revert "build: -no-pie is no functional linker flag" Jessica Clarke
2021-08-05 19:25 ` [PATCH v2] " Jessica Clarke
2021-10-14 23:30   ` Michael Roth [this message]
2021-10-15  0:12     ` Richard Henderson
2021-10-15  0:22       ` Jessica Clarke
2021-10-15  0:39         ` Richard Henderson
2021-10-15 10:28   ` Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=163425424356.2158.16851994446465453609@amd.com \
    --to=michael.roth@amd.com \
    --cc=christian.ehrhardt@canonical.com \
    --cc=jrtc27@jrtc27.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-stable@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.