diff mbox series

[v2,3/7] configure: Detect compiler support for __attribute__((alias))

Message ID 20191023154505.30521-4-richard.henderson@linaro.org
State Superseded
Headers show
Series exec: Improve code for TARGET_PAGE_BITS_VARY | expand

Commit Message

Richard Henderson Oct. 23, 2019, 3:45 p.m. UTC
Such support is present almost everywhere, except for Xcode 9.
It is added in Xcode 10, but travis uses xcode9 by default,
so we should support it for a while yet.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

---
 configure | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

-- 
2.17.1

Comments

Alex Bennée Oct. 25, 2019, 2:04 p.m. UTC | #1
Richard Henderson <richard.henderson@linaro.org> writes:

> Such support is present almost everywhere, except for Xcode 9.

> It is added in Xcode 10, but travis uses xcode9 by default,

> so we should support it for a while yet.


We really should get someone who has an AppleID to check what the
support period is because if Apple don't care about Xcode9 anymore I
doubt we should.

Anyway:

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>


>

> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

> ---

>  configure | 19 +++++++++++++++++++

>  1 file changed, 19 insertions(+)

>

> diff --git a/configure b/configure

> index 145fcabbb3..3a9862fe5e 100755

> --- a/configure

> +++ b/configure

> @@ -5518,6 +5518,21 @@ if compile_prog "" "" ; then

>    vector16=yes

>  fi

>

> +########################################

> +# See if __attribute__((alias)) is supported.

> +# This false for Xcode 9, but has been remedied for Xcode 10.

> +# Unfortunately, travis uses Xcode 9 by default.

> +

> +attralias=no

> +cat > $TMPC << EOF

> +int x = 1;

> +extern const int y __attribute__((alias("x")));

> +int main(void) { return 0; }

> +EOF

> +if compile_prog "" "" ; then

> +    attralias=yes

> +fi

> +

>  ########################################

>  # check if getauxval is available.

>

> @@ -7083,6 +7098,10 @@ if test "$vector16" = "yes" ; then

>    echo "CONFIG_VECTOR16=y" >> $config_host_mak

>  fi

>

> +if test "$attralias" = "yes" ; then

> +  echo "CONFIG_ATTRIBUTE_ALIAS=y" >> $config_host_mak

> +fi

> +

>  if test "$getauxval" = "yes" ; then

>    echo "CONFIG_GETAUXVAL=y" >> $config_host_mak

>  fi



--
Alex Bennée
Thomas Huth Nov. 8, 2019, 4:01 p.m. UTC | #2
On 25/10/2019 16.04, Alex Bennée wrote:
> 

> Richard Henderson <richard.henderson@linaro.org> writes:

> 

>> Such support is present almost everywhere, except for Xcode 9.

>> It is added in Xcode 10, but travis uses xcode9 by default,

>> so we should support it for a while yet.

> 

> We really should get someone who has an AppleID to check what the

> support period is because if Apple don't care about Xcode9 anymore I

> doubt we should.


The page at https://docs.travis-ci.com/user/reference/osx/ has a nice 
list which Xcode versions are used with which macOS versions.
Xcode10 was also available for macOS 10.13 (which is likely the oldest 
macOS version that we care about), so I think we can assume that macOS 
users that are still using 10.13 can upgrade to xcode10.1 if they want 
to compile QEMU.

  Thomas
diff mbox series

Patch

diff --git a/configure b/configure
index 145fcabbb3..3a9862fe5e 100755
--- a/configure
+++ b/configure
@@ -5518,6 +5518,21 @@  if compile_prog "" "" ; then
   vector16=yes
 fi
 
+########################################
+# See if __attribute__((alias)) is supported.
+# This false for Xcode 9, but has been remedied for Xcode 10.
+# Unfortunately, travis uses Xcode 9 by default.
+
+attralias=no
+cat > $TMPC << EOF
+int x = 1;
+extern const int y __attribute__((alias("x")));
+int main(void) { return 0; }
+EOF
+if compile_prog "" "" ; then
+    attralias=yes
+fi
+
 ########################################
 # check if getauxval is available.
 
@@ -7083,6 +7098,10 @@  if test "$vector16" = "yes" ; then
   echo "CONFIG_VECTOR16=y" >> $config_host_mak
 fi
 
+if test "$attralias" = "yes" ; then
+  echo "CONFIG_ATTRIBUTE_ALIAS=y" >> $config_host_mak
+fi
+
 if test "$getauxval" = "yes" ; then
   echo "CONFIG_GETAUXVAL=y" >> $config_host_mak
 fi