svn commit: r528880 - head/emulators/qemu40/files
Muhammad Moinur Rahman
bofh at FreeBSD.org
Sat Mar 21 21:55:16 UTC 2020
Author: bofh
Date: Sat Mar 21 21:55:15 2020
New Revision: 528880
URL: https://svnweb.freebsd.org/changeset/ports/528880
Log:
emulators/qemu40: Fix build with lld 10.0.0
PR: 244775
Submitted by: dim
Modified:
head/emulators/qemu40/files/patch-configure
Modified: head/emulators/qemu40/files/patch-configure
==============================================================================
--- head/emulators/qemu40/files/patch-configure Sat Mar 21 21:37:31 2020 (r528879)
+++ head/emulators/qemu40/files/patch-configure Sat Mar 21 21:55:15 2020 (r528880)
@@ -1,4 +1,4 @@
---- configure.orig 2019-04-23 18:14:45 UTC
+--- configure.orig 2019-10-17 20:17:43 UTC
+++ configure
@@ -396,7 +396,7 @@ DSOSUF=".so"
LDFLAGS_SHARED="-shared"
@@ -127,7 +127,57 @@
##########################################
# check if we have open_by_handle_at
-@@ -6332,6 +6386,7 @@ echo "Audio drivers $audio_drv_list"
+@@ -6196,27 +6250,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
+@@ -6332,6 +6389,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
+@@ -6565,6 +6623,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
+@@ -6812,6 +6879,9 @@ fi
# if this macro is set.
if test "$have_fsxattr" = "yes" ; then
echo "HAVE_FSXATTR=y" >> $config_host_mak
More information about the svn-ports-all
mailing list