On Wed, Nov 30, 2022 at 8:26 PM Jeffrey Walton <noloa...@gmail.com> wrote:
>
> On Wed, Nov 30, 2022 at 5:14 PM László Böszörményi (GCS) <g...@debian.org> 
> wrote:
> > ...
> >  You may locally hack the build of boost1.74 not to require Python
> > (and drop its related binary packages). Of course, best would be to
> > port python-greenlet to sh4 or just fix its build - can you give a
> > helping hand to its upstream?
> > At least this is what I see without access to any sh4 machine. As we
> > know each other, I may check it for you if I can access that machine.
> > But I think you are much more skilled in these things.
>
> Yes, sure. Let me take a look at python-greenlet on SH4.

Ok, so I had a look at this last night. I don't think I am going to be
able to help with improving Greenlet. For Greenlet, I think the best
course of action is to ping the Greenlet developers and ask them for
help with SH4.

The #error is triggered because there's no switch_sh4_linux.h in [1].
The file provides a function called slp_switch(), and it is inline
ASM. Based on other arch files, it looks like the function does some
sort of manual switching on app-managed lightweight threads. So the
function uses inline ASM to save/restore registers and move the stack
pointer around (if I am parsing things correctly).

Unfortunately, I think that's a bit outside my comfort zone. I don't
know Greenlet, and I don't know SH4 ASM. For completeness, here is the
SH4 software manual: [2].

If the Greenlet developers decline to port to SH4, then I think the
next step is to remove the Greenlet dependency on SH4. Maybe there's a
configure option in GDB, Boost or Python that can ultimately sidestep
the dependency on SH4. I think the first team to engage is the GDB
team. They may have a suggestion to shed the Boost dependency.

[1] 
https://github.com/python-greenlet/greenlet/tree/master/src/greenlet/platform
[2] https://www.renesas.com/us/en/document/mas/sh-4-software-manual

Reply via email to