@@ -249,12 +249,6 @@ supported_target() {
249
249
return 1
250
250
fi
251
251
;;
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
- ;;
258
252
* )
259
253
print_error " Invalid target name '$target '"
260
254
return 1
@@ -396,7 +390,6 @@ cocoa="no"
396
390
softmmu=" yes"
397
391
linux_user=" no"
398
392
bsd_user=" no"
399
- darwin_user=" no"
400
393
blobs=" yes"
401
394
pkgversion=" "
402
395
pie=" "
@@ -773,7 +766,6 @@ OpenBSD)
773
766
Darwin)
774
767
bsd=" yes"
775
768
darwin=" yes"
776
- darwin_user=" yes"
777
769
hax=" yes"
778
770
hvf=" yes"
779
771
LDFLAGS_SHARED=" -bundle -undefined dynamic_lookup"
@@ -1127,7 +1119,6 @@ for opt do
1127
1119
--disable-user)
1128
1120
linux_user=" no" ;
1129
1121
bsd_user=" no" ;
1130
- darwin_user=" no" ;
1131
1122
;;
1132
1123
--enable-user) ;;
1133
1124
--disable-linux-user) linux_user=" no"
@@ -1138,10 +1129,6 @@ for opt do
1138
1129
;;
1139
1130
--enable-bsd-user) bsd_user=" yes"
1140
1131
;;
1141
- --disable-darwin-user) darwin_user=" no"
1142
- ;;
1143
- --enable-darwin-user) darwin_user=" yes"
1144
- ;;
1145
1132
--enable-pie) pie=" yes"
1146
1133
;;
1147
1134
--disable-pie) pie=" no"
@@ -1452,7 +1439,6 @@ QEMU_CFLAGS="$CPU_CFLAGS $QEMU_CFLAGS"
1452
1439
if [ " $ARCH " = " unknown" ]; then
1453
1440
bsd_user=" no"
1454
1441
linux_user=" no"
1455
- darwin_user=" no"
1456
1442
fi
1457
1443
1458
1444
default_target_list=" "
@@ -1468,10 +1454,6 @@ fi
1468
1454
if [ " $bsd_user " = " yes" ]; then
1469
1455
mak_wilds=" ${mak_wilds} $source_path /default-configs/*-bsd-user.mak"
1470
1456
fi
1471
- if [ " $darwin_user " = " yes" ]; then
1472
- mak_wilds=" ${mak_wilds} $source_path /default-configs/*-darwin-user.mak"
1473
- fi
1474
-
1475
1457
1476
1458
for config in $mak_wilds ; do
1477
1459
default_target_list=" ${default_target_list} $( basename " $config " .mak) "
@@ -1566,7 +1548,6 @@ disabled with --disable-FEATURE, default is enabled if available:
1566
1548
user supported user emulation targets
1567
1549
linux-user all linux usermode emulation targets
1568
1550
bsd-user all BSD usermode emulation targets
1569
- darwin-user all MacOS usermode emulation targets
1570
1551
docs build documentation
1571
1552
guest-agent build the QEMU Guest Agent
1572
1553
guest-agent-msi build guest agent Windows MSI installation package
@@ -5610,7 +5591,7 @@ if test "$cpu" = "s390x" ; then
5610
5591
fi
5611
5592
5612
5593
# 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
5614
5595
textseg_addr=
5615
5596
case " $cpu " in
5616
5597
arm | i386 | ppc* | s390* | sparc* | x86_64 | x32)
@@ -5623,53 +5604,31 @@ if ( [ "$linux_user" = yes ] || [ "$bsd_user" = yes ] || [ "$darwin_user" = yes
5623
5604
textseg_addr=0x60000000
5624
5605
;;
5625
5606
esac
5626
-
5627
5607
if [ -n " $textseg_addr " ]; then
5628
5608
cat > $TMPC << EOF
5629
5609
int main(void) { return 0; }
5630
5610
EOF
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
5639
5625
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
5658
5626
$ld --verbose | sed \
5659
5627
-e ' 1,/==================================================/d' \
5660
5628
-e ' /==================================================/,$d' \
5661
5629
-e " s/[.] = [0-9a-fx]* [+] SIZEOF_HEADERS/. = $textseg_addr + SIZEOF_HEADERS/" \
5662
5630
-e " s/__executable_start = [0-9a-fx]*/__executable_start = $textseg_addr /" > config-host.ld
5663
5631
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."
5673
5632
fi
5674
5633
fi
5675
5634
fi
@@ -6736,7 +6695,6 @@ target_softmmu="no"
6736
6695
target_user_only=" no"
6737
6696
target_linux_user=" no"
6738
6697
target_bsd_user=" no"
6739
- target_darwin_user=" no"
6740
6698
case " $target " in
6741
6699
${target_name} -softmmu)
6742
6700
target_softmmu=" yes"
@@ -6749,10 +6707,6 @@ case "$target" in
6749
6707
target_user_only=" yes"
6750
6708
target_bsd_user=" yes"
6751
6709
;;
6752
- ${target_name} -darwin-user)
6753
- target_user_only=" yes"
6754
- target_darwin_user=" yes"
6755
- ;;
6756
6710
* )
6757
6711
error_exit " Target '$target ' not recognised"
6758
6712
exit 1
7000
6954
if test " $target_linux_user " = " yes" ; then
7001
6955
echo " CONFIG_LINUX_USER=y" >> $config_target_mak
7002
6956
fi
7003
- if test " $target_darwin_user " = " yes" ; then
7004
- echo " CONFIG_DARWIN_USER=y" >> $config_target_mak
7005
- fi
7006
6957
list=" "
7007
6958
if test ! -z " $gdb_xml_files " ; then
7008
6959
for x in $gdb_xml_files ; do
@@ -7117,7 +7068,7 @@ if test "$gprof" = "yes" ; then
7117
7068
fi
7118
7069
fi
7119
7070
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
7121
7072
ldflags=" $ldflags $textseg_ldflags "
7122
7073
fi
7123
7074
0 commit comments