Open iains opened 4 years ago
We now have configuration support for Darwin20 / macOS 11 and aarch64 Darwin in the GCC-11 tree. A long way still to go, but ...
summ-aarch64-darwin20-branch-on-r11-6561-xc12-3.txt
NOTE: the results for x86_64-darwin20 using Rosetta2 (on A12Z DTK).
first results from an actual M1 box;
summ-aarch64-darwin20-branch-on-r11-7747.txt
(since the machine is shared, I'm going to omit the rosetta2 testing for now)
bit of a gap here (for various reasons). This is rebased onto GCC12 master.
(the 11.1 version is here : https://github.com/iains/gcc-11-branch/tree/gcc-11-1rc2-apple-si)
(with mdynamic-no-pic fix) summ-aarch64-darwin20-branch-on-r12-5555-b.txt
Test results for master-wip-apple-si
at 1cd4f4450ffbf734baf3e427f2d6e1d2e83e9c0e on aarch64-apple-darwin21.1.0
summary.txt
Test results for
master-wip-apple-si
at 1cd4f44 on aarch64-apple-darwin21.1.0 summary.txt
thanks for running these! The results for libstdc++ look rather odd. I guess you don't have an Ada bootstrap compiler ?
you don't have an Ada bootstrap compiler
No.
The results for libstdc++ look rather odd.
Rerunning, I think some weird error happened the first time. Parallel make check sometimes gives me trouble :(
=== libstdc++ tests ===
Running target unix
FAIL: 18_support/nested_exception/rethrow_if_nested.cc execution test
FAIL: experimental/simd/standard_abi_usable.cc -O2 -Wno-psabi (test for excess errors)
FAIL: experimental/simd/standard_abi_usable_2.cc -O2 -Wno-psabi (test for excess errors)
=== libstdc++ Summary ===
# of expected passes 14038
# of unexpected failures 3
# of expected failures 95
# of unsupported tests 785
The rethrow_if_nested.cc
one is new. Reduces to this:
meau /tmp/irun $ cat rethrow_if_nested.cc
#include <exception>
struct derived : std::nested_exception { };
int main(void)
{
try
{
throw 42;
}
catch (...)
{
derived d;
try
{
std::rethrow_if_nested(d);
}
catch (const int& i)
{
;
}
}
}
meau /tmp/irun $ ./bin/g++ -std=c++11 rethrow_if_nested.cc -g && ./a.out
libc++abi: terminating
zsh: abort ./a.out
and the backtrace:
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
* frame #0: 0x00000001a3a219b8 libsystem_kernel.dylib`__pthread_kill + 8
frame #1: 0x00000001a3a5515c libsystem_pthread.dylib`pthread_kill + 288
frame #2: 0x00000001a3992314 libsystem_c.dylib`abort + 164
frame #3: 0x00000001a3a11b50 libc++abi.dylib`abort_message + 132
frame #4: 0x00000001a3a02e4c libc++abi.dylib`demangling_terminate_handler() + 52
frame #5: 0x00000001a3a10ee4 libc++abi.dylib`std::__terminate(void (*)()) + 20
frame #6: 0x00000001a3a10e6c libc++abi.dylib`std::terminate() + 44
frame #7: 0x00000001a39a42a4 libc++.1.dylib`std::nested_exception::rethrow_nested() const + 44
frame #8: 0x0000000100003bcc a.out`_ZSt24__rethrow_if_nested_implI7derivedENSt9enable_ifIXsrSt6__and_IJSt14is_polymorphicIT_ESt5__or_IJSt6__not_ISt10is_base_ofISt16nested_exceptionS4_EESt14is_convertibleIPS4_PS9_EEEEE5valueEvE4typeEPKS4_(__ptr=0x000000016fdff608) at nested_exception.h:146:26
frame #9: 0x0000000100003b84 a.out`void std::rethrow_if_nested<derived>(__ex=0x000000016fdff608) at nested_exception.h:160:36
frame #10: 0x0000000100003b1c a.out`main at rethrow_if_nested.cc:16:29
frame #11: 0x00000001000150f4 dyld`start + 520
new == a new test that fails ? or a regression? (and do we know if it fails on aarch64-linux, or just on darwin?)
Old test, fails with for master-wip-apple-si at 1cd4f44 on aarch64-apple-darwin21.1.0, didn't fail for your runs before, and does not fail on aarch64-linux as far as I can see in the latest gcc-testresults posts).
OK, although my tests were run on Darwin20.4 - I guess we should see if this is still failing on latest sources (unfortunately, gcc304 is still off-line).
We can silence a bunch of tests that have to do with section anchors:
diff --git a/gcc/testsuite/gcc.dg/pr26427.c b/gcc/testsuite/gcc.dg/pr26427.c
index add13ca209e..2c09f28195d 100644
--- a/gcc/testsuite/gcc.dg/pr26427.c
+++ b/gcc/testsuite/gcc.dg/pr26427.c
@@ -1,4 +1,4 @@
-/* { dg-warning "this target does not support" "" {target *86*-*-darwin* } 0 } */
+/* { dg-warning "this target does not support" "" {target *86*-*-darwin* aarch64-*-darwin* } 0 } */
/* { dg-do run { target { *-*-darwin* } } } */
/* { dg-options { -fsection-anchors -O } } */
/* PR target/26427 */
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 039125c866a..942cac35b5f 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -8391,7 +8391,7 @@ proc check_effective_target_section_anchors { } {
return [check_cached_effective_target section_anchors {
expr { [istarget powerpc*-*-*]
|| [istarget arm*-*-*]
- || [istarget aarch64*-*-*] }}]
+ || ([istarget aarch64*-*-*] && ![istarget aarch64*-*-darwin*]) }}]
}
# Return 1 if the target supports atomic operations on "int_128" values.
This checks the static chain register, which is different on darwin:
diff --git a/gcc/testsuite/gcc.dg/cwsc1.c b/gcc/testsuite/gcc.dg/cwsc1.c
index e793e26116a..7d8b472bdf6 100644
--- a/gcc/testsuite/gcc.dg/cwsc1.c
+++ b/gcc/testsuite/gcc.dg/cwsc1.c
@@ -6,7 +6,11 @@
#elif defined(__i386__)
# define CHAIN "%ecx"
#elif defined(__aarch64__)
-# define CHAIN "x18"
+# if defined(__APPLE__)
+# define CHAIN "x16"
+# else
+# define CHAIN "x18"
+# endif
#elif defined(__alpha__)
# define CHAIN "$1"
#elif defined(__arm__)
if you have these patches on a branch, you might as well pull-RQ them - that way they are less likely to get mangled in cut & paste (if you don't have them on a branch, then cut & paste will do ;) )
I'll post test results onto this "issue"
(it's not really appropriate to post them to gcc-testresults yet, since this is 'out of tree')
summ-aarch64-darwin20-branch-on-r11-4586.txt