Index: emulators/qemu40/files/patch-configure =================================================================== --- emulators/qemu40/files/patch-configure (revision 528030) +++ emulators/qemu40/files/patch-configure (working copy) @@ -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 </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