emulators/qemu: Fix build with lld 10.0.0

PR:		244770
Submitted by:	dim
This commit is contained in:
Muhammad Moinur Rahman 2020-03-20 17:29:31 +00:00
parent 93fcba5be4
commit 025d9fd998
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=528790

View file

@ -1,6 +1,6 @@
--- configure.orig 2019-04-23 18:14:45 UTC
--- configure.orig 2019-11-14 18:06:20 UTC
+++ configure
@@ -396,7 +396,7 @@ DSOSUF=".so"
@@ -404,7 +404,7 @@ DSOSUF=".so"
LDFLAGS_SHARED="-shared"
modules="no"
prefix="/usr/local"
@ -9,7 +9,7 @@
datadir="\${prefix}/share"
firmwarepath="\${prefix}/share/qemu-firmware"
qemu_docdir="\${prefix}/share/doc/qemu"
@@ -476,6 +476,9 @@ numa=""
@@ -484,6 +484,9 @@ numa=""
tcmalloc="no"
jemalloc="no"
replication="yes"
@ -19,7 +19,7 @@
vxhs=""
bochs="yes"
cloop="yes"
@@ -1118,6 +1121,10 @@ for opt do
@@ -1141,6 +1144,10 @@ for opt do
;;
--enable-vnc-png) vnc_png="yes"
;;
@ -29,8 +29,8 @@
+ ;;
--disable-slirp) slirp="no"
;;
--enable-slirp=system) slirp="system"
@@ -2972,6 +2979,14 @@ if ! check_include "ifaddrs.h" ; then
--enable-slirp=git) slirp="git"
@@ -2998,6 +3005,14 @@ if ! check_include "ifaddrs.h" ; then
fi
##########################################
@ -45,7 +45,7 @@
# VTE probe
if test "$vte" != "no"; then
@@ -3629,7 +3644,7 @@ for i in $glib_modules; do
@@ -3655,7 +3670,7 @@ for i in $glib_modules; do
glib_libs=$($pkg_config --libs $i)
QEMU_CFLAGS="$glib_cflags $QEMU_CFLAGS"
LIBS="$glib_libs $LIBS"
@ -54,7 +54,7 @@
else
error_exit "glib-$glib_req_ver $i is required to compile QEMU"
fi
@@ -4723,11 +4738,6 @@ has_sphinx_build() {
@@ -4747,11 +4762,6 @@ has_sphinx_build() {
if test "$docs" != "no" ; then
if has makeinfo && has pod2man && has_sphinx_build; then
docs=yes
@ -66,7 +66,7 @@
fi
fi
@@ -4861,7 +4871,7 @@ fi
@@ -4885,7 +4895,7 @@ fi
# check for libusb
if test "$libusb" != "no" ; then
@ -75,7 +75,7 @@
libusb="yes"
libusb_cflags=$($pkg_config --cflags libusb-1.0)
libusb_libs=$($pkg_config --libs libusb-1.0)
@@ -5251,7 +5261,51 @@ if test "$debug_stack_usage" = "yes"; then
@@ -5275,7 +5285,51 @@ if test "$debug_stack_usage" = "yes"; then
fi
fi
@ -127,7 +127,57 @@
##########################################
# check if we have open_by_handle_at
@@ -6332,6 +6386,7 @@ echo "Audio drivers $audio_drv_list"
@@ -6241,27 +6295,30 @@ if ( [ "$linux_user" = yes ] || [ "$bsd_user" = yes ]
cat > $TMPC <<EOF
int main(void) { return 0; }
EOF
- textseg_ldflags="-Wl,-Ttext-segment=$textseg_addr"
+ textseg_ldflags="-Wl,--image-base=$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
+ 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"
+ $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
fi
@@ -6377,6 +6434,7 @@ echo "Audio drivers $audio_drv_list"
echo "Block whitelist (rw) $block_drv_rw_whitelist"
echo "Block whitelist (ro) $block_drv_ro_whitelist"
echo "VirtFS support $virtfs"
@ -135,7 +185,7 @@
echo "Multipath support $mpath"
echo "VNC support $vnc"
if test "$vnc" = "yes" ; then
@@ -6565,6 +6620,15 @@ fi
@@ -6617,6 +6675,15 @@ fi
if test "$profiler" = "yes" ; then
echo "CONFIG_PROFILER=y" >> $config_host_mak
fi
@ -151,7 +201,7 @@
if test "$slirp" != "no"; then
echo "CONFIG_SLIRP=y" >> $config_host_mak
echo "CONFIG_SMBD_COMMAND=\"$smbd\"" >> $config_host_mak
@@ -6812,6 +6876,9 @@ fi
@@ -6864,6 +6931,9 @@ fi
# if this macro is set.
if test "$have_fsxattr" = "yes" ; then
echo "HAVE_FSXATTR=y" >> $config_host_mak