qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/2] configure: Improve usermode relocation link


From: Stefan Weil
Subject: Re: [Qemu-devel] [PATCH 1/2] configure: Improve usermode relocation linker option probe
Date: Sun, 19 Jun 2016 07:47:02 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.8.0

Am 19.06.2016 um 00:05 schrieb Peter Maydell:
> From: Peter Maydell <address@hidden>
> 
> The probe we do to determine what flags to use to make the usermode
> executables use a non-default text address has some flaws:
>  * we run it even if we're not building the user binaries
>  * we don't expect "ld --verbose" to fail
> 
> The combination of these two results in a harmless but
> ugly "ld: unknown option: --verbose" message when running
> configure on OSX.
> 
> Improve the probe to only run when we need it and to fail
> nicely when even the backstop 'ld --verbose' approach fails.
> 
> Reported-by: Stefan Weil <address@hidden>
> Signed-off-by: Peter Maydell <address@hidden>
> ---
>  configure | 12 +++++++++++-
>  1 file changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/configure b/configure
> index 10cb212..7beefcd 100755
> --- a/configure
> +++ b/configure
> @@ -4700,7 +4700,7 @@ if test "$cpu" = "s390x" ; then
>  fi
>  
>  # Probe for the need for relocating the user-only binary.
> -if test "$pie" = "no" ; then
> +if ( [ "$linux_user" = yes ] || [ "$bsd_user" = yes ] ) && [ "$pie" = no ]; 
> then
>    textseg_addr=
>    case "$cpu" in
>      arm | i386 | ppc* | s390* | sparc* | x86_64 | x32)
> @@ -4722,6 +4722,16 @@ EOF
>        # In case ld does not support -Ttext-segment, edit the default linker
>        # script via sed to set the .text start addr.  This is needed on 
> FreeBSD
>        # at least.
> +      if ! $ld --verbose >/dev/null 2>&1; then
> +        error_exit \
> +            "We need to link the QEMU user mode binaries at a" \
> +            "specific text address. Unfortunately your linker" \
> +            "doesn't support either the -Ttext-segment option or" \
> +            "printing the default linker script with --verbose." \
> +            "If you don't want the user mode binaries, pass the" \
> +            "--disable-user option to configure."
> +      fi
> +
>        $ld --verbose | sed \
>          -e '1,/==================================================/d' \
>          -e '/==================================================/,$d' \
> 

Reviewed-by: Stefan Weil <address@hidden>

Thanks.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]