From: "Alex Bennée" <alex.bennee@linaro.org>
To: qemu-devel@nongnu.org
Cc: berrange@redhat.com, Thomas Huth <thuth@redhat.com>,
i@maskray.me, philmd@redhat.com
Subject: Re: [PATCH v2 1/7] configure: Drop adjustment of textseg
Date: Tue, 07 Jan 2020 11:34:11 +0000 [thread overview]
Message-ID: <87woa34i18.fsf@linaro.org> (raw)
In-Reply-To: <20191218223441.23852-2-richard.henderson@linaro.org>
Richard Henderson <richard.henderson@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 <thuth@redhat.com>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@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
next prev parent reply other threads:[~2020-01-07 12:36 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-18 22:34 [PATCH v2 0/7] configure: Improve PIE and other linkage Richard Henderson
2019-12-18 22:34 ` [PATCH v2 1/7] configure: Drop adjustment of textseg Richard Henderson
2020-01-07 11:34 ` Alex Bennée [this message]
2019-12-18 22:34 ` [PATCH v2 2/7] tcg: Remove softmmu code_gen_buffer fixed address Richard Henderson
2020-01-07 11:35 ` Alex Bennée
2019-12-18 22:34 ` [PATCH v2 3/7] configure: Do not force pie=no for non-x86 Richard Henderson
2020-01-07 11:37 ` Philippe Mathieu-Daudé
2020-01-07 12:58 ` Alex Bennée
2019-12-18 22:34 ` [PATCH v2 4/7] configure: Always detect -no-pie toolchain support Richard Henderson
2020-01-07 13:16 ` Alex Bennée
2020-01-08 0:45 ` Richard Henderson
2019-12-18 22:34 ` [PATCH v2 5/7] configure: Unnest detection of -z,relro and -z,now Richard Henderson
2019-12-18 22:46 ` [PATCH v2 5/7] configure: Unnest detection of -z, relro and -z, now Philippe Mathieu-Daudé
2019-12-19 7:11 ` Fangrui Song
2020-01-07 13:18 ` Alex Bennée
2019-12-18 22:34 ` [PATCH v2 6/7] configure: Override the os default with --disable-pie Richard Henderson
2020-01-07 13:24 ` Alex Bennée
2019-12-18 22:34 ` [PATCH v2 7/7] configure: Support -static-pie if requested Richard Henderson
2020-01-07 13:45 ` Alex Bennée
2020-01-06 2:57 ` [PATCH v2 0/7] configure: Improve PIE and other linkage Richard Henderson
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=87woa34i18.fsf@linaro.org \
--to=alex.bennee@linaro.org \
--cc=berrange@redhat.com \
--cc=i@maskray.me \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).