emulators/qemu: Fix build with lld 10.0.0
PR: 244770 Submitted by: dim
This commit is contained in:
parent
93fcba5be4
commit
025d9fd998
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=528790
1 changed files with 63 additions and 13 deletions
|
@ -1,6 +1,6 @@
|
||||||
--- configure.orig 2019-04-23 18:14:45 UTC
|
--- configure.orig 2019-11-14 18:06:20 UTC
|
||||||
+++ configure
|
+++ configure
|
||||||
@@ -396,7 +396,7 @@ DSOSUF=".so"
|
@@ -404,7 +404,7 @@ DSOSUF=".so"
|
||||||
LDFLAGS_SHARED="-shared"
|
LDFLAGS_SHARED="-shared"
|
||||||
modules="no"
|
modules="no"
|
||||||
prefix="/usr/local"
|
prefix="/usr/local"
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
datadir="\${prefix}/share"
|
datadir="\${prefix}/share"
|
||||||
firmwarepath="\${prefix}/share/qemu-firmware"
|
firmwarepath="\${prefix}/share/qemu-firmware"
|
||||||
qemu_docdir="\${prefix}/share/doc/qemu"
|
qemu_docdir="\${prefix}/share/doc/qemu"
|
||||||
@@ -476,6 +476,9 @@ numa=""
|
@@ -484,6 +484,9 @@ numa=""
|
||||||
tcmalloc="no"
|
tcmalloc="no"
|
||||||
jemalloc="no"
|
jemalloc="no"
|
||||||
replication="yes"
|
replication="yes"
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
vxhs=""
|
vxhs=""
|
||||||
bochs="yes"
|
bochs="yes"
|
||||||
cloop="yes"
|
cloop="yes"
|
||||||
@@ -1118,6 +1121,10 @@ for opt do
|
@@ -1141,6 +1144,10 @@ for opt do
|
||||||
;;
|
;;
|
||||||
--enable-vnc-png) vnc_png="yes"
|
--enable-vnc-png) vnc_png="yes"
|
||||||
;;
|
;;
|
||||||
|
@ -29,8 +29,8 @@
|
||||||
+ ;;
|
+ ;;
|
||||||
--disable-slirp) slirp="no"
|
--disable-slirp) slirp="no"
|
||||||
;;
|
;;
|
||||||
--enable-slirp=system) slirp="system"
|
--enable-slirp=git) slirp="git"
|
||||||
@@ -2972,6 +2979,14 @@ if ! check_include "ifaddrs.h" ; then
|
@@ -2998,6 +3005,14 @@ if ! check_include "ifaddrs.h" ; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
##########################################
|
##########################################
|
||||||
|
@ -45,7 +45,7 @@
|
||||||
# VTE probe
|
# VTE probe
|
||||||
|
|
||||||
if test "$vte" != "no"; then
|
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)
|
glib_libs=$($pkg_config --libs $i)
|
||||||
QEMU_CFLAGS="$glib_cflags $QEMU_CFLAGS"
|
QEMU_CFLAGS="$glib_cflags $QEMU_CFLAGS"
|
||||||
LIBS="$glib_libs $LIBS"
|
LIBS="$glib_libs $LIBS"
|
||||||
|
@ -54,7 +54,7 @@
|
||||||
else
|
else
|
||||||
error_exit "glib-$glib_req_ver $i is required to compile QEMU"
|
error_exit "glib-$glib_req_ver $i is required to compile QEMU"
|
||||||
fi
|
fi
|
||||||
@@ -4723,11 +4738,6 @@ has_sphinx_build() {
|
@@ -4747,11 +4762,6 @@ has_sphinx_build() {
|
||||||
if test "$docs" != "no" ; then
|
if test "$docs" != "no" ; then
|
||||||
if has makeinfo && has pod2man && has_sphinx_build; then
|
if has makeinfo && has pod2man && has_sphinx_build; then
|
||||||
docs=yes
|
docs=yes
|
||||||
|
@ -66,7 +66,7 @@
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -4861,7 +4871,7 @@ fi
|
@@ -4885,7 +4895,7 @@ fi
|
||||||
|
|
||||||
# check for libusb
|
# check for libusb
|
||||||
if test "$libusb" != "no" ; then
|
if test "$libusb" != "no" ; then
|
||||||
|
@ -75,7 +75,7 @@
|
||||||
libusb="yes"
|
libusb="yes"
|
||||||
libusb_cflags=$($pkg_config --cflags libusb-1.0)
|
libusb_cflags=$($pkg_config --cflags libusb-1.0)
|
||||||
libusb_libs=$($pkg_config --libs 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
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -127,7 +127,57 @@
|
||||||
##########################################
|
##########################################
|
||||||
# check if we have open_by_handle_at
|
# 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 (rw) $block_drv_rw_whitelist"
|
||||||
echo "Block whitelist (ro) $block_drv_ro_whitelist"
|
echo "Block whitelist (ro) $block_drv_ro_whitelist"
|
||||||
echo "VirtFS support $virtfs"
|
echo "VirtFS support $virtfs"
|
||||||
|
@ -135,7 +185,7 @@
|
||||||
echo "Multipath support $mpath"
|
echo "Multipath support $mpath"
|
||||||
echo "VNC support $vnc"
|
echo "VNC support $vnc"
|
||||||
if test "$vnc" = "yes" ; then
|
if test "$vnc" = "yes" ; then
|
||||||
@@ -6565,6 +6620,15 @@ fi
|
@@ -6617,6 +6675,15 @@ fi
|
||||||
if test "$profiler" = "yes" ; then
|
if test "$profiler" = "yes" ; then
|
||||||
echo "CONFIG_PROFILER=y" >> $config_host_mak
|
echo "CONFIG_PROFILER=y" >> $config_host_mak
|
||||||
fi
|
fi
|
||||||
|
@ -151,7 +201,7 @@
|
||||||
if test "$slirp" != "no"; then
|
if test "$slirp" != "no"; then
|
||||||
echo "CONFIG_SLIRP=y" >> $config_host_mak
|
echo "CONFIG_SLIRP=y" >> $config_host_mak
|
||||||
echo "CONFIG_SMBD_COMMAND=\"$smbd\"" >> $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 this macro is set.
|
||||||
if test "$have_fsxattr" = "yes" ; then
|
if test "$have_fsxattr" = "yes" ; then
|
||||||
echo "HAVE_FSXATTR=y" >> $config_host_mak
|
echo "HAVE_FSXATTR=y" >> $config_host_mak
|
||||||
|
|
Loading…
Reference in a new issue