@@ -249,12 +249,6 @@ supported_target() {
249249 return 1
250250 fi
251251 ;;
252- * -darwin-user)
253- if test " $darwin " ! = " yes" ; then
254- print_error " Target '$target ' is only available on a Darwin host"
255- return 1
256- fi
257- ;;
258252 * )
259253 print_error " Invalid target name '$target '"
260254 return 1
@@ -396,7 +390,6 @@ cocoa="no"
396390softmmu=" yes"
397391linux_user=" no"
398392bsd_user=" no"
399- darwin_user=" no"
400393blobs=" yes"
401394pkgversion=" "
402395pie=" "
@@ -773,7 +766,6 @@ OpenBSD)
773766Darwin)
774767 bsd=" yes"
775768 darwin=" yes"
776- darwin_user=" yes"
777769 hax=" yes"
778770 hvf=" yes"
779771 LDFLAGS_SHARED=" -bundle -undefined dynamic_lookup"
@@ -1127,7 +1119,6 @@ for opt do
11271119 --disable-user)
11281120 linux_user=" no" ;
11291121 bsd_user=" no" ;
1130- darwin_user=" no" ;
11311122 ;;
11321123 --enable-user) ;;
11331124 --disable-linux-user) linux_user=" no"
@@ -1138,10 +1129,6 @@ for opt do
11381129 ;;
11391130 --enable-bsd-user) bsd_user=" yes"
11401131 ;;
1141- --disable-darwin-user) darwin_user=" no"
1142- ;;
1143- --enable-darwin-user) darwin_user=" yes"
1144- ;;
11451132 --enable-pie) pie=" yes"
11461133 ;;
11471134 --disable-pie) pie=" no"
@@ -1452,7 +1439,6 @@ QEMU_CFLAGS="$CPU_CFLAGS $QEMU_CFLAGS"
14521439if [ " $ARCH " = " unknown" ]; then
14531440 bsd_user=" no"
14541441 linux_user=" no"
1455- darwin_user=" no"
14561442fi
14571443
14581444default_target_list=" "
@@ -1468,10 +1454,6 @@ fi
14681454if [ " $bsd_user " = " yes" ]; then
14691455 mak_wilds=" ${mak_wilds} $source_path /default-configs/*-bsd-user.mak"
14701456fi
1471- if [ " $darwin_user " = " yes" ]; then
1472- mak_wilds=" ${mak_wilds} $source_path /default-configs/*-darwin-user.mak"
1473- fi
1474-
14751457
14761458for config in $mak_wilds ; do
14771459 default_target_list=" ${default_target_list} $( basename " $config " .mak) "
@@ -1566,7 +1548,6 @@ disabled with --disable-FEATURE, default is enabled if available:
15661548 user supported user emulation targets
15671549 linux-user all linux usermode emulation targets
15681550 bsd-user all BSD usermode emulation targets
1569- darwin-user all MacOS usermode emulation targets
15701551 docs build documentation
15711552 guest-agent build the QEMU Guest Agent
15721553 guest-agent-msi build guest agent Windows MSI installation package
@@ -5610,7 +5591,7 @@ if test "$cpu" = "s390x" ; then
56105591fi
56115592
56125593# Probe for the need for relocating the user-only binary.
5613- if ( [ " $linux_user " = yes ] || [ " $bsd_user " = yes ] || [ " $darwin_user " = yes ] ) && [ " $pie " = no ]; then
5594+ if ( [ " $linux_user " = yes ] || [ " $bsd_user " = yes ] ) && [ " $pie " = no ]; then
56145595 textseg_addr=
56155596 case " $cpu " in
56165597 arm | i386 | ppc* | s390* | sparc* | x86_64 | x32)
@@ -5623,53 +5604,31 @@ if ( [ "$linux_user" = yes ] || [ "$bsd_user" = yes ] || [ "$darwin_user" = yes
56235604 textseg_addr=0x60000000
56245605 ;;
56255606 esac
5626-
56275607 if [ -n " $textseg_addr " ]; then
56285608 cat > $TMPC << EOF
56295609 int main(void) { return 0; }
56305610EOF
5631- # 64bit macOS reserves 4GB for page zero to catch truncated pointer to int casts.
5632- # Follow suggested Wine configuration from:
5633- # https://stackoverflow.com/questions/46916112/osx-ld-why-does-pagezero-size-default-to-4gb-on-64b-osx
5634- if [ " $darwin_user " = yes ] ; then
5635- pz_size_flag=" ,-pagezero_size,0x1000"
5636- else
5637- pz_size_flag=" "
5638- fi
5611+ textseg_ldflags=" -Wl,-Ttext-segment=$textseg_addr "
5612+ if ! compile_prog " " " $textseg_ldflags " ; then
5613+ # In case ld does not support -Ttext-segment, edit the default linker
5614+ # script via sed to set the .text start addr. This is needed on FreeBSD
5615+ # at least.
5616+ if ! $ld --verbose > /dev/null 2>&1 ; then
5617+ error_exit \
5618+ " We need to link the QEMU user mode binaries at a" \
5619+ " specific text address. Unfortunately your linker" \
5620+ " doesn't support either the -Ttext-segment option or" \
5621+ " printing the default linker script with --verbose." \
5622+ " If you don't want the user mode binaries, pass the" \
5623+ " --disable-user option to configure."
5624+ fi
56395625
5640- # Check three different sets of ld flags:
5641- # default_... for standard gnu ld (Linux)
5642- # clang_... for llvm clang
5643- # macos_... for macOS built-in ld
5644- # If none of the above options are supported, edit the default linker
5645- # script via sed to set the .text start addr. This is needed on FreeBSD
5646- # at least.
5647- default_ldflags=" -Wl,-Ttext-segment=$textseg_addr "
5648- clang_ldflags=" -Wl,-image-base,${textseg_addr}${pz_size_flag} "
5649- macos_ldflags=" -Wl,-image_base,${textseg_addr}${pz_size_flag} "
5650-
5651- if compile_prog " " " $default_ldflags " ; then
5652- textseg_ldflags=" $default_ldflags "
5653- elif compile_prog " " " $clang_ldflags " ; then
5654- textseg_ldflags=" $clang_ldflags "
5655- elif compile_prog " " " $macos_ldflags " ; then
5656- textseg_ldflags=" $macos_ldflags "
5657- elif $ld --verbose > /dev/null 2>&1 ; then
56585626 $ld --verbose | sed \
56595627 -e ' 1,/==================================================/d' \
56605628 -e ' /==================================================/,$d' \
56615629 -e " s/[.] = [0-9a-fx]* [+] SIZEOF_HEADERS/. = $textseg_addr + SIZEOF_HEADERS/" \
56625630 -e " s/__executable_start = [0-9a-fx]*/__executable_start = $textseg_addr /" > config-host.ld
56635631 textseg_ldflags=" -Wl,-T../config-host.ld"
5664- else
5665- error_exit \
5666- " We need to link the QEMU user mode binaries at a" \
5667- " specific text address. Unfortunately your linker" \
5668- " doesn't support either the -Ttext-segment option," \
5669- " -image_base, -image-base, or printing the default" \
5670- " linker script with --verbose." \
5671- " If you don't want the user mode binaries, pass the" \
5672- " --disable-user option to configure."
56735632 fi
56745633 fi
56755634fi
@@ -6736,7 +6695,6 @@ target_softmmu="no"
67366695target_user_only=" no"
67376696target_linux_user=" no"
67386697target_bsd_user=" no"
6739- target_darwin_user=" no"
67406698case " $target " in
67416699 ${target_name} -softmmu)
67426700 target_softmmu=" yes"
@@ -6749,10 +6707,6 @@ case "$target" in
67496707 target_user_only=" yes"
67506708 target_bsd_user=" yes"
67516709 ;;
6752- ${target_name} -darwin-user)
6753- target_user_only=" yes"
6754- target_darwin_user=" yes"
6755- ;;
67566710 * )
67576711 error_exit " Target '$target ' not recognised"
67586712 exit 1
70006954if test " $target_linux_user " = " yes" ; then
70016955 echo " CONFIG_LINUX_USER=y" >> $config_target_mak
70026956fi
7003- if test " $target_darwin_user " = " yes" ; then
7004- echo " CONFIG_DARWIN_USER=y" >> $config_target_mak
7005- fi
70066957list=" "
70076958if test ! -z " $gdb_xml_files " ; then
70086959 for x in $gdb_xml_files ; do
@@ -7117,7 +7068,7 @@ if test "$gprof" = "yes" ; then
71177068 fi
71187069fi
71197070
7120- if test " $target_linux_user " = " yes" -o " $target_bsd_user " = " yes" -o " $target_darwin_user " = " yes " ; then
7071+ if test " $target_linux_user " = " yes" -o " $target_bsd_user " = " yes" ; then
71217072 ldflags=" $ldflags $textseg_ldflags "
71227073fi
71237074
0 commit comments