[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/7] configure: Drop adjustment of textseg
From: |
Thomas Huth |
Subject: |
Re: [PATCH 1/7] configure: Drop adjustment of textseg |
Date: |
Wed, 18 Dec 2019 07:59:00 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 |
On 18/12/2019 04.19, Richard Henderson wrote:
> This adjustment was random and unnecessary. The user mode
> startup code in probe_guest_base() will choose a value for
> guest_base that allows the host qemu binary to not conflict
> with the guest binary.
>
> With modern distributions, this isn't even used, as the default
> is PIE, which does the same job in a more portable way.
>
> Signed-off-by: Richard Henderson <address@hidden>
> ---
> configure | 47 -----------------------------------------------
> 1 file changed, 47 deletions(-)
>
> diff --git a/configure b/configure
> index 84b413dbfc..255ac432af 100755
> --- a/configure
> +++ b/configure
> @@ -6292,49 +6292,6 @@ if test "$cpu" = "s390x" ; then
> fi
> fi
>
> -# Probe for the need for relocating the user-only binary.
> -if ( [ "$linux_user" = yes ] || [ "$bsd_user" = yes ] ) && [ "$pie" = no ];
> then
> - textseg_addr=
> - case "$cpu" in
> - arm | i386 | ppc* | s390* | sparc* | x86_64 | x32)
> - # ??? Rationale for choosing this address
> - textseg_addr=0x60000000
> - ;;
> - mips)
> - # A 256M aligned address, high in the address space, with enough
> - # room for the code_gen_buffer above it before the stack.
> - textseg_addr=0x60000000
> - ;;
> - esac
> - if [ -n "$textseg_addr" ]; then
> - cat > $TMPC <<EOF
> - int main(void) { return 0; }
> -EOF
> - textseg_ldflags="-Wl,-Ttext-segment=$textseg_addr"
> - if ! compile_prog "" "$textseg_ldflags"; then
> - # 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' \
> - -e "s/[.] = [0-9a-fx]* [+] SIZEOF_HEADERS/. = $textseg_addr +
> SIZEOF_HEADERS/" \
> - -e "s/__executable_start = [0-9a-fx]*/__executable_start =
> $textseg_addr/" > config-host.ld
> - textseg_ldflags="-Wl,-T../config-host.ld"
config-host.ld is mentioned one more time in the main "Makefile" ... I
think you could remove it from there now, too.
With such a hunk added:
Reviewed-by: Thomas Huth <address@hidden>
- [PATCH 0/7] configure: Improve PIE and other linkage, Richard Henderson, 2019/12/17
- [PATCH 1/7] configure: Drop adjustment of textseg, Richard Henderson, 2019/12/17
- Re: [PATCH 1/7] configure: Drop adjustment of textseg,
Thomas Huth <=
- [PATCH 2/7] tcg: Remove softmmu code_gen_buffer fixed address, Richard Henderson, 2019/12/17
- [PATCH 3/7] configure: Do not force pie=no for non-x86, Richard Henderson, 2019/12/17
- [PATCH 4/7] configure: Always detect -no-pie toolchain support, Richard Henderson, 2019/12/17
- [PATCH 5/7] configure: Unnest detection of -z,relro and -z,now, Richard Henderson, 2019/12/17