From e39e653574d4fc2ed8b490505bf3e4a8baf7f38b9c9f90c0ff4c48d2aa182b90 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Mon, 5 Aug 2013 14:03:54 +0000 Subject: [PATCH 1/3] Accepting request 183765 from Cloud:OpenStack:Master OBS-URL: https://build.opensuse.org/request/show/183765 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-greenlet?expand=0&rev=11 --- python-greenlet-aarch64-support.diff | 88 ---------------------------- python-greenlet.spec | 13 ++-- 2 files changed, 7 insertions(+), 94 deletions(-) delete mode 100644 python-greenlet-aarch64-support.diff diff --git a/python-greenlet-aarch64-support.diff b/python-greenlet-aarch64-support.diff deleted file mode 100644 index d789100..0000000 --- a/python-greenlet-aarch64-support.diff +++ /dev/null @@ -1,88 +0,0 @@ ---- ./slp_platformselect.h.mm 2012-05-12 22:56:32.000000000 +0000 -+++ ./slp_platformselect.h 2013-04-08 11:28:47.000000000 +0000 -@@ -32,4 +32,6 @@ - #include "platform/switch_arm32_gcc.h" /* gcc using arm32 */ - #elif defined(__GNUC__) && defined(__mips__) && defined(__linux__) - #include "platform/switch_mips_unix.h" /* Linux/MIPS */ -+#elif defined(__GNUC__) && defined(__aarch64__) -+#include "platform/switch_aarch64_gcc.h" /* Aarch64 ABI */ - #endif ---- ./platform/switch_aarch64_gcc.h.mm 2013-04-13 21:40:23.000000000 +0000 -+++ ./platform/switch_aarch64_gcc.h 2013-04-13 21:41:39.000000000 +0000 -@@ -0,0 +1,76 @@ -+/* -+ * this is the internal transfer function. -+ * -+ * HISTORY -+ * 13-Apr-13 Add support for strange GCC caller-save decisions -+ * 08-Apr-13 File creation. Michael Matz -+ * -+ * NOTES -+ * -+ * Simply save all callee saved registers -+ * -+ */ -+ -+#define STACK_REFPLUS 1 -+ -+#ifdef SLP_EVAL -+#define STACK_MAGIC 0 -+#define REGS_TO_SAVE "r19", "r20", "r21", "r22", "r23", "r24", "r25", "r26", \ -+ "r27", "r28", "r30" /* aka lr */, \ -+ "v8", "v9", "v10", "v11", \ -+ "v12", "v13", "v14", "v15" -+ -+/* See below for the purpose of this function. */ -+__attribute__((noinline, noclone)) int fancy_return_zero(void); -+__attribute__((noinline, noclone)) int -+fancy_return_zero(void) -+{ -+ return 0; -+} -+ -+static int -+slp_switch(void) -+{ -+ int err = 0; -+ void *fp; -+ register long *stackref, stsizediff; -+ __asm__ volatile ("" : : : REGS_TO_SAVE); -+ __asm__ volatile ("str x29, %0" : "=m"(fp) : : ); -+ __asm__ ("mov %0, sp" : "=r" (stackref)); -+ { -+ SLP_SAVE_STATE(stackref, stsizediff); -+ __asm__ volatile ( -+ "add sp,sp,%0\n" -+ "add x29,x29,%0\n" -+ : -+ : "r" (stsizediff) -+ ); -+ SLP_RESTORE_STATE(); -+ /* SLP_SAVE_STATE macro contains some return statements -+ (of -1 and 1). It falls through only when -+ the return value of slp_save_state() is zero, which -+ is placed in x0. -+ In that case we (slp_switch) also want to return zero -+ (also in x0 of course). -+ Now, some GCC versions (seen with 4.8) think it's a -+ good idea to save/restore x0 around the call to -+ slp_restore_state(), instead of simply zeroing it -+ at the return below. But slp_restore_state -+ writes random values to the stack slot used for this -+ save/restore (from when it once was saved above in -+ SLP_SAVE_STATE, when it was still uninitialized), so -+ "restoring" that precious zero actually makes us -+ return random values. There are some ways to make -+ GCC not use that zero value in the normal return path -+ (e.g. making err volatile, but that costs a little -+ stack space), and the simplest is to call a function -+ that returns an unknown value (which happens to be zero), -+ so the saved/restored value is unused. */ -+ err = fancy_return_zero(); -+ } -+ __asm__ volatile ("ldr x29, %0" : : "m" (fp) :); -+ __asm__ volatile ("" : : : REGS_TO_SAVE); -+ return err; -+} -+ -+#endif diff --git a/python-greenlet.spec b/python-greenlet.spec index f017c60..2e4629d 100644 --- a/python-greenlet.spec +++ b/python-greenlet.spec @@ -1,35 +1,36 @@ # # spec file for package python-greenlet # +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2010 B1 Systems GmbH, Vohburg, Germany. -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "O2en Source License" is a +# case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# + # Please submit bugfixes or comments via http://bugs.opensuse.org/ # + Name: python-greenlet Version: 0.4.1 Release: 0 -URL: http://pypi.python.org/pypi/greenlet +Url: http://pypi.python.org/pypi/greenlet Summary: Lightweight in-process concurrent programming License: MIT Group: Development/Libraries/Python Source0: http://pypi.python.org/packages/source/g/greenlet/greenlet-%{version}.zip BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: gcc-c++ +BuildRequires: python-Sphinx BuildRequires: python-devel BuildRequires: python-distribute BuildRequires: unzip -BuildRequires: gcc-c++ -BuildRequires: python-Sphinx %if 0%{?suse_version} && 0%{?suse_version} <= 1110 %{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %endif From b5e6010974182d8764871a1360c38a356f7460a8e9503e4ec7fa0e0e0e3f89e9 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Tue, 6 Aug 2013 12:31:32 +0000 Subject: [PATCH 2/3] - Drop python-greenlet-aarch64-support.diff OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-greenlet?expand=0&rev=12 --- python-greenlet.changes | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/python-greenlet.changes b/python-greenlet.changes index fc6e4a9..3f41df5 100644 --- a/python-greenlet.changes +++ b/python-greenlet.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Aug 6 12:34:48 UTC 2013 - speilicke@suse.com + +- Drop python-greenlet-aarch64-support.diff + ------------------------------------------------------------------- Mon Jun 10 12:35:26 UTC 2013 - dmueller@suse.com From 7004e96ef348d680d319e392f01f1560e352963bb78add3b5525b74aefc17bc3 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Thu, 8 Aug 2013 11:20:41 +0000 Subject: [PATCH 3/3] Accepting request 186373 from home:k0da:ppc - run tests we optflags. Stuff got compiled in %check again. OBS-URL: https://build.opensuse.org/request/show/186373 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-greenlet?expand=0&rev=13 --- python-greenlet.changes | 5 +++++ python-greenlet.spec | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/python-greenlet.changes b/python-greenlet.changes index 3f41df5..31b27ac 100644 --- a/python-greenlet.changes +++ b/python-greenlet.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Aug 8 10:54:47 UTC 2013 - dvaleev@suse.com + +- run tests we optflags. Stuff got compiled in %check again. + ------------------------------------------------------------------- Tue Aug 6 12:34:48 UTC 2013 - speilicke@suse.com diff --git a/python-greenlet.spec b/python-greenlet.spec index 2e4629d..33f073c 100644 --- a/python-greenlet.spec +++ b/python-greenlet.spec @@ -63,7 +63,7 @@ cd doc && make html python setup.py install --prefix=%{_prefix} --root=%{buildroot} %check -python setup.py test +CFLAGS="%{optflags}" python setup.py test %files %defattr(-,root,root)