Message ID | 87vc1ej7qt.fsf@canonical.com |
---|---|
State | New |
Headers | show |
On Thu, Oct 3, 2013 at 3:43 PM, Michael Hudson-Doyle <michael.hudson@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.hudson@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 >
On 3 October 2013 23:43, Michael Hudson-Doyle <michael.hudson@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.hudson@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
Ping? Michael Hudson-Doyle <michael.hudson@linaro.org> writes: > Marcus Shawcroft <marcus.shawcroft@gmail.com> writes: > >> On 3 October 2013 23:43, Michael Hudson-Doyle <michael.hudson@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.hudson@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.hudson@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"
From c01bc2acde08f21f23465dfd0d4d0e88adc6e214 Mon Sep 17 00:00:00 2001 From: Michael Hudson-Doyle <michael.hudson@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