Debian Bug report logs - #697406
python-greenlet FTBFS on armel in testing

version graph

Package: python-greenlet; Maintainer for python-greenlet is Laszlo Boszormenyi (GCS) <>; Source for python-greenlet is src:python-greenlet.

Reported by: peter green <>

Date: Fri, 4 Jan 2013 21:42:02 UTC

Severity: serious

Found in version python-greenlet/0.3.1-2

Fixed in versions python-greenlet/0.4.0-1, python-greenlet/0.3.1-2.2

Done: Javi Merino <>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox

Report forwarded to,, Laszlo Boszormenyi (GCS) <>:
Bug#697406; Package python-greenlet. (Fri, 04 Jan 2013 21:42:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to peter green <>:
New Bug report received and forwarded. Copy sent to, Laszlo Boszormenyi (GCS) <>. (Fri, 04 Jan 2013 21:42:05 GMT) Full text and rfc822 format available.

Message #5 received at (full text, mbox):

From: peter green <>
To: Debian Bug Tracking System <>
Subject: python-greenlet FTBFS on armel in testing
Date: Fri, 04 Jan 2013 21:39:52 +0000
Package: python-greenlet
Version: 0.3.1-2
Severity: serious

Building python-greenlet in testing fails.

gcc -pthread -fno-strict-aliasing -g -Wall -Wstrict-prototypes -fPIC 
-I/usr/include/python2.6_d -c greenlet.c -o 
In file included from slp_platformselect.h:22:0,
                from greenlet.c:314:
platform/switch_arm32_gcc.h: In function 'slp_switch':
platform/switch_arm32_gcc.h:48:1: error: fp cannot be used in asm here
error: command 'gcc' failed with exit status 1

According to the buildd logs this also affects the version in TPU, it 
does not appear to affect the version in unstable (I haven't tested that 
one locally, i'm just basing on buildd logs here).

The source file says

*   It is not possible to detect if fp is used or not, so the supplied
*   switch function needs to support it, so that you can remove it if
*   it does not apply to you.

Looking at the unstable version of the source file it seems the code has 
been adjusted quite significantly to avoid this issue and also to save 
FPU registers (which were previously not saved which I imagine could 
cause all sorts of fun).

--- /chroots/wheezy/python-greenlet-0.3.1/platform/switch_arm32_gcc.h   
2010-05-27 10:07:07.000000000 -0700
+++ /chroots/sid/python-greenlet-0.4.0/platform/switch_arm32_gcc.h      
2012-05-14 14:10:04.000000000 -0700
@@ -25,26 +25,51 @@

#ifdef SLP_EVAL
#define STACK_MAGIC 0
-#define REGS_TO_SAVE /*"r1", "r2", "r3", "r4",*/ "r5", "r6", "fp", 
"ip", "lr"
+#define REG_SP "sp"
+#define REG_SPSP "sp,sp"
+#ifdef __thumb__
+#define REG_FP "r7"
+#define REG_FPFP "r7,r7"
+#define REGS_TO_SAVE_GENERAL "r4", "r5", "r6", "r8", "r9", "r10", 
"r11", "lr"
+#define REG_FP "fp"
+#define REG_FPFP "fp,fp"
+#define REGS_TO_SAVE_GENERAL "r4", "r5", "r6", "r7", "r8", "r9", "lr"
+#if defined(__SOFTFP__)
+#elif defined(__VFP_FP__)
+#define REGS_TO_SAVE REGS_TO_SAVE_GENERAL, "d8", "d9", "d10", "d11", \
+                                           "d12", "d13", "d14", "d15"
+#elif defined(__MAVERICK__)
+#define REGS_TO_SAVE REGS_TO_SAVE_GENERAL, "mvf4", "mvf5", "mvf6", 
"mvf7", \
+                                           "mvf8", "mvf9", "mvf10", 
"mvf11", \
+                                           "mvf12", "mvf13", "mvf14", 
+#define REGS_TO_SAVE REGS_TO_SAVE_GENERAL, "f4", "f5", "f6", "f7"

static int
+        void *fp;
        register int *stackref, stsizediff;
        __asm__ volatile ("" : : : REGS_TO_SAVE);
-        __asm__ ("mov %0,sp" : "=g" (stackref));
+        __asm__ volatile ("mov r0," REG_FP "\n\tstr r0,%0" : "=m" (fp) 
: : "r0");
+        __asm__ ("mov %0," REG_SP : "=r" (stackref));
                SLP_SAVE_STATE(stackref, stsizediff);
                __asm__ volatile (
-                    "add sp,sp,%0\n"
-                    "add fp,fp,%0\n"
+                    "add " REG_SPSP ",%0\n"
+                    "add " REG_FPFP ",%0\n"
                    : "r" (stsizediff)
-                return 0;
+        __asm__ volatile ("ldr r0,%0\n\tmov " REG_FP ",r0" : : "m" (fp) 
: "r0");
        __asm__ volatile ("" : : : REGS_TO_SAVE);
+        return 0;


There is and issue on mips* which looks superficially similar ( ) but unlike 
with the arm case I don't see any difference in the code in question.

Thoughts on how to get this package fixed for wheezy? (I doubt the 
release team will let the new upstream version from sid into wheezy at 
this point)

Information forwarded to, Laszlo Boszormenyi (GCS) <>:
Bug#697406; Package python-greenlet. (Fri, 04 Jan 2013 23:36:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to peter green <>:
Extra info received and forwarded to list. Copy sent to Laszlo Boszormenyi (GCS) <>. (Fri, 04 Jan 2013 23:36:03 GMT) Full text and rfc822 format available.

Message #10 received at (full text, mbox):

From: peter green <>
Subject: Re: Bug#697406: Acknowledgement (python-greenlet FTBFS on armel in testing)
Date: Fri, 04 Jan 2013 23:32:47 +0000
Just to add I tried built the version of python-greenlet from TPU with 
the version of platform/switch_arm32_gcc.h from 0.4.0 and it seems to 
build ok on armel and raspbian (both of which it had failed on before). 
I have uploaded a package with this change to raspbian. It can be found 

Reply sent to Javi Merino <>:
You have taken responsibility. (Sat, 26 Jan 2013 16:36:14 GMT) Full text and rfc822 format available.

Notification sent to peter green <>:
Bug acknowledged by developer. (Sat, 26 Jan 2013 16:36:14 GMT) Full text and rfc822 format available.

Message #15 received at (full text, mbox):

From: Javi Merino <>
Subject: Bug#697406: fixed in python-greenlet 0.3.1-2.2
Date: Sat, 26 Jan 2013 16:33:36 +0000
Source: python-greenlet
Source-Version: 0.3.1-2.2

We believe that the bug you reported is fixed in the latest version of
python-greenlet, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
Javi Merino <> (supplier of updated python-greenlet package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing

Hash: SHA1

Format: 1.8
Date: Sat, 26 Jan 2013 14:40:01 +0000
Source: python-greenlet
Binary: python-greenlet-dbg python-greenlet-doc python-greenlet-dev python-greenlet
Architecture: source i386 all
Version: 0.3.1-2.2
Distribution: wheezy-proposed-updates
Urgency: low
Maintainer: Örjan Persson <>
Changed-By: Javi Merino <>
 python-greenlet - Lightweight in-process concurrent programming
 python-greenlet-dbg - Lightweight in-process concurrent programming - debugging symbols
 python-greenlet-dev - Lightweight in-process concurrent programming - development files
 python-greenlet-doc - Lightweight in-process concurrent programming - documentation
Closes: 697406
 python-greenlet (0.3.1-2.2) wheezy-proposed-updates; urgency=low
   * Non-maintainer upload.
   * Fix "python-greenlet FTBFS on armel in testing" by using
     platform/switch_arm32_gcc.h from 0.4.0 to avoid compile errors in
     armel (Closes: #697406) (Thanks to Peter Michael Green
 ca01c90d73832cf47c7fc027b11ef6315e4ce33e 1554 python-greenlet_0.3.1-2.2.dsc
 96a85d1bc9eb43dd4a1e17f2292356d577e4a2b1 4436 python-greenlet_0.3.1-2.2.debian.tar.gz
 ed01a3670a83c7f8352b438f3b49e1e64e6035de 59742 python-greenlet-dbg_0.3.1-2.2_i386.deb
 cde09d1e959b067fd0003883a683a616823e174a 10240 python-greenlet-doc_0.3.1-2.2_all.deb
 d84bbb7f6dab8dd33222b21479239b53eb226a67 2358 python-greenlet-dev_0.3.1-2.2_i386.deb
 0ca891b486dc2a8c4471fd5244e7fe55ed8a90ff 17534 python-greenlet_0.3.1-2.2_i386.deb
 593308c4415c343bcadba7fd447386318d650f350c52fb5b46b1abf585382406 1554 python-greenlet_0.3.1-2.2.dsc
 b35da2e835acbc79f870cbd42448f4720775fdc55fa714bc6a1f996c4ccb9b8e 4436 python-greenlet_0.3.1-2.2.debian.tar.gz
 583d71cda9d2686fa8f5b51519b4bb0a6967a382639c31076d5a769c393d75e5 59742 python-greenlet-dbg_0.3.1-2.2_i386.deb
 7d84c284a17cf7be4b04fc2d5b0883836ee1bb0c75d6ed00f7d1bb9a11a0fca4 10240 python-greenlet-doc_0.3.1-2.2_all.deb
 714ed89858fac2e15f659a1887270d45ef17266de600bc9ffcce9f71a31e0efd 2358 python-greenlet-dev_0.3.1-2.2_i386.deb
 4a0dc56541ae7a592c55439cb90be47ed79446574832df1f2e31cd00d528ee57 17534 python-greenlet_0.3.1-2.2_i386.deb
 fecd3672aa9bd6f181dd391500eca6a6 1554 python extra python-greenlet_0.3.1-2.2.dsc
 472655bf245f59f3fce0505e3692c4ac 4436 python extra python-greenlet_0.3.1-2.2.debian.tar.gz
 da1954eb82fa0f2e28f75b4b8fa5a7e4 59742 debug extra python-greenlet-dbg_0.3.1-2.2_i386.deb
 9953172df9e47fc3745f831a1032dc59 10240 doc extra python-greenlet-doc_0.3.1-2.2_all.deb
 163d0a7d3de5602a54de14ec8a893dbb 2358 python extra python-greenlet-dev_0.3.1-2.2_i386.deb
 c7a7c4c826fca69424757601e4794185 17534 python extra python-greenlet_0.3.1-2.2_i386.deb

Version: GnuPG v1.4.12 (GNU/Linux)


Marked as fixed in versions python-greenlet/0.4.0-1. Request was from Luca Falavigna <> to (Sun, 10 Feb 2013 22:18:08 GMT) Full text and rfc822 format available.

Bug archived. Request was from Debbugs Internal Request <> to (Mon, 11 Mar 2013 07:25:37 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.

Debian bug tracking system administrator <>. Last modified: Fri Apr 18 13:16:10 2014; Machine Name:

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.