Re: Enable building of libatomic on AArch64
Ping? Michael Hudson-Doyle michael.hud...@linaro.org writes: Marcus Shawcroft marcus.shawcr...@gmail.com writes: On 3 October 2013 23:43, Michael Hudson-Doyle michael.hud...@linaro.org wrote: Hi, As libatomic builds for and the tests pass on AArch64 (built on x86_64 but tested on a foundation model, logs and summary: http://people.linaro.org/~mwhudson/libatomic.sum.txt http://people.linaro.org/~mwhudson/runtest-log-v-2.txt ) this patch enables the build. Cheers, mwh (first time posting to this list, let me know if I'm doing it wrong) 2013-10-04 Michael Hudson-Doyle michael.hud...@linaro.org * configure.tgt: Add AArch64 support. Hi, The patch looks fine to me. Thanks for looking! The ChangeLog entry should reflect the code that was removed rather than the functionality added. Perhaps: * configure.tgt (aarch64*): Remove. There are few too many negatives going on to make a pithy explanation easy... Did you investigate whether or not the 10 UNSUPPORTED results in the testsuite are sane? I did not, but have now. I think that 5 look legitimate since they require 128 bit sync ops. The other 5 look superficially like they should be supported on aarch64. We may just be missing aarch64 target supports wiring in check_effective_target_sync_long_long_runtime? Yes, that was it, with appropriate changes the -4 tests all pass. However, just out of a sense of curiosity, I added wiring to claim aarch64* supports 128 bit sync ops and all the -5 tests pass too. Is that just luck or because the reservation granule on the foundation model is big enough or something else? In any case, I'll attach a patch that just claims support for long long sync ops for now... Cheers, mwh /Marcus 2013-10-04 Michael Hudson-Doyle michael.hud...@linaro.org * libatomic/configure.tgt (aarch64*): Remove code preventing build. * gcc/testsuite/lib/target-supports.exp (check_effective_target_sync_long_long): AArch64 supports atomic operations on long long. (check_effective_target_sync_long_long_runtime): AArch64 can execute atomic operations on long long. diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 7eb4dfe..5557c06 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -4508,6 +4508,7 @@ proc check_effective_target_sync_int_128_runtime { } { proc check_effective_target_sync_long_long { } { if { [istarget x86_64-*-*] || [istarget i?86-*-*]) + || [istarget aarch64*-*-*] || [istarget arm*-*-*] || [istarget alpha*-*-*] || ([istarget sparc*-*-*] [check_effective_target_lp64]) } { @@ -4537,6 +4538,8 @@ proc check_effective_target_sync_long_long_runtime { } { } } }] +} elseif { [istarget aarch64*-*-*] } { + return 1 } elseif { [istarget arm*-*-linux-*] } { return [check_runtime sync_longlong_runtime { #include stdlib.h diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt index b9e5d6c..7eaab38 100644 --- a/libatomic/configure.tgt +++ b/libatomic/configure.tgt @@ -95,11 +95,6 @@ fi # Other system configury case ${target} in - aarch64*) - # This is currently not supported in AArch64. - UNSUPPORTED=1 - ;; - arm*-*-linux*) # OS support for atomic primitives. config_path=${config_path} linux/arm posix
[RESEND] Enable building of libatomic on AArch64
Resending as the previous attempt went missing... 2013-10-04 Michael Hudson-Doyle michael.hud...@linaro.org * libatomic/configure.tgt (aarch64*): Remove code preventing build. * gcc/testsuite/lib/target-supports.exp (check_effective_target_sync_long_long): AArch64 supports atomic operations on long long. (check_effective_target_sync_long_long_runtime): AArch64 can execute atomic operations on long long. diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 7eb4dfe..5557c06 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -4508,6 +4508,7 @@ proc check_effective_target_sync_int_128_runtime { } { proc check_effective_target_sync_long_long { } { if { [istarget x86_64-*-*] || [istarget i?86-*-*]) + || [istarget aarch64*-*-*] || [istarget arm*-*-*] || [istarget alpha*-*-*] || ([istarget sparc*-*-*] [check_effective_target_lp64]) } { @@ -4537,6 +4538,8 @@ proc check_effective_target_sync_long_long_runtime { } { } } }] +} elseif { [istarget aarch64*-*-*] } { + return 1 } elseif { [istarget arm*-*-linux-*] } { return [check_runtime sync_longlong_runtime { #include stdlib.h diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt index b9e5d6c..7eaab38 100644 --- a/libatomic/configure.tgt +++ b/libatomic/configure.tgt @@ -95,11 +95,6 @@ fi # Other system configury case ${target} in - aarch64*) - # This is currently not supported in AArch64. - UNSUPPORTED=1 - ;; - arm*-*-linux*) # OS support for atomic primitives. config_path=${config_path} linux/arm posix
Re: [RESEND] Enable building of libatomic on AArch64
On 17 October 2013 10:43, Michael Hudson-Doyle michael.hud...@linaro.org wrote: Resending as the previous attempt went missing... 2013-10-04 Michael Hudson-Doyle michael.hud...@linaro.org * libatomic/configure.tgt (aarch64*): Remove code preventing build. * gcc/testsuite/lib/target-supports.exp (check_effective_target_sync_long_long): AArch64 supports atomic operations on long long. (check_effective_target_sync_long_long_runtime): AArch64 can execute atomic operations on long long. OK, and committed. /Marcus
Re: Enable building of libatomic on AArch64
On 3 October 2013 23:43, Michael Hudson-Doyle michael.hud...@linaro.org wrote: Hi, As libatomic builds for and the tests pass on AArch64 (built on x86_64 but tested on a foundation model, logs and summary: http://people.linaro.org/~mwhudson/libatomic.sum.txt http://people.linaro.org/~mwhudson/runtest-log-v-2.txt ) this patch enables the build. Cheers, mwh (first time posting to this list, let me know if I'm doing it wrong) 2013-10-04 Michael Hudson-Doyle michael.hud...@linaro.org * configure.tgt: Add AArch64 support. Hi, The patch looks fine to me. The ChangeLog entry should reflect the code that was removed rather than the functionality added. Perhaps: * configure.tgt (aarch64*): Remove. Did you investigate whether or not the 10 UNSUPPORTED results in the testsuite are sane? I think that 5 look legitimate since they require 128 bit sync ops. The other 5 look superficially like they should be supported on aarch64. We may just be missing aarch64 target supports wiring in check_effective_target_sync_long_long_runtime? /Marcus
Re: Enable building of libatomic on AArch64
On Thu, Oct 3, 2013 at 3:43 PM, Michael Hudson-Doyle michael.hud...@linaro.org wrote: Hi, As libatomic builds for and the tests pass on AArch64 (built on x86_64 but tested on a foundation model, logs and summary: http://people.linaro.org/~mwhudson/libatomic.sum.txt http://people.linaro.org/~mwhudson/runtest-log-v-2.txt ) this patch enables the build. Cheers, mwh (first time posting to this list, let me know if I'm doing it wrong) 2013-10-04 Michael Hudson-Doyle michael.hud...@linaro.org * configure.tgt: Add AArch64 support. Replying here also, This is the same patch which we have been using internally and I would like to see this approved. Thanks, Andrew Pinski
Enable building of libatomic on AArch64
Hi, As libatomic builds for and the tests pass on AArch64 (built on x86_64 but tested on a foundation model, logs and summary: http://people.linaro.org/~mwhudson/libatomic.sum.txt http://people.linaro.org/~mwhudson/runtest-log-v-2.txt ) this patch enables the build. Cheers, mwh (first time posting to this list, let me know if I'm doing it wrong) 2013-10-04 Michael Hudson-Doyle michael.hud...@linaro.org * configure.tgt: Add AArch64 support. From c01bc2acde08f21f23465dfd0d4d0e88adc6e214 Mon Sep 17 00:00:00 2001 From: Michael Hudson-Doyle michael.hud...@linaro.org Date: Thu, 12 Sep 2013 16:18:00 +1200 Subject: [PATCH] libatomic is now supported on AArch64 --- libatomic/configure.tgt | 5 - 1 file changed, 5 deletions(-) diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt index b9e5d6c..7eaab38 100644 --- a/libatomic/configure.tgt +++ b/libatomic/configure.tgt @@ -95,11 +95,6 @@ fi # Other system configury case ${target} in - aarch64*) - # This is currently not supported in AArch64. - UNSUPPORTED=1 - ;; - arm*-*-linux*) # OS support for atomic primitives. config_path=${config_path} linux/arm posix -- 1.8.1.2