Re: Enable building of libatomic on AArch64

2013-10-17 Thread Michael Hudson-Doyle
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

2013-10-17 Thread Michael Hudson-Doyle
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

2013-10-17 Thread Marcus Shawcroft
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

2013-10-07 Thread Marcus Shawcroft
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

2013-10-04 Thread Andrew Pinski
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

2013-10-03 Thread Michael Hudson-Doyle
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