Patch #554716: Use __va_copy where available.
diff --git a/Objects/abstract.c b/Objects/abstract.c
index 1f9b603..fc73a9f 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -1793,8 +1793,12 @@
 #ifdef VA_LIST_IS_ARRAY
 	memcpy(countva, va, sizeof(va_list));
 #else
+#ifdef __va_copy
+	__va_copy(countva, va);
+#else
 	countva = va;
 #endif
+#endif
 
 	while (((PyObject *)va_arg(countva, PyObject *)) != NULL)
 		++n;