Richard Henderson <richard.hender...@linaro.org> writes:
> 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. > > Reviewed-by: Thomas Huth <th...@redhat.com> > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Reviewed-by: Alex Bennée <alex.ben...@linaro.org> > --- > v2: Remove mention of config-host.ld from make distclean > --- > Makefile | 2 +- > configure | 47 ----------------------------------------------- > 2 files changed, 1 insertion(+), 48 deletions(-) > > diff --git a/Makefile b/Makefile > index 1361def144..adf83f75a1 100644 > --- a/Makefile > +++ b/Makefile > @@ -735,7 +735,7 @@ rm -f $(MANUAL_BUILDDIR)/$1/objects.inv > $(MANUAL_BUILDDIR)/$1/searchindex.js $(M > endef > > distclean: clean > - rm -f config-host.mak config-host.h* config-host.ld $(DOCS) > qemu-options.texi qemu-img-cmds.texi qemu-monitor.texi qemu-monitor-info.texi > + rm -f config-host.mak config-host.h* $(DOCS) qemu-options.texi > qemu-img-cmds.texi qemu-monitor.texi qemu-monitor-info.texi > rm -f tests/tcg/config-*.mak > rm -f config-all-devices.mak config-all-disas.mak config.status > rm -f $(SUBDIR_DEVICES_MAK) > diff --git a/configure b/configure > index e0c66ee9b6..30e3875c6b 100755 > --- a/configure > +++ b/configure > @@ -6298,49 +6298,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" > - fi > - fi > -fi > - > # Check that the C++ compiler exists and works with the C compiler. > # All the QEMU_CXXFLAGS are based on QEMU_CFLAGS. Keep this at the end to > don't miss any other that could be added. > if has $cxx; then > @@ -7903,10 +7860,6 @@ if test "$gprof" = "yes" ; then > fi > fi > > -if test "$target_linux_user" = "yes" || test "$target_bsd_user" = "yes" ; > then > - ldflags="$ldflags $textseg_ldflags" > -fi > - > # Newer kernels on s390 check for an S390_PGSTE program header and > # enable the pgste page table extensions in that case. This makes > # the vm.allocate_pgste sysctl unnecessary. We enable this program -- Alex Bennée