Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SuperH/sh4 architecture unsupported #166

Open
jameshilliard opened this issue Apr 19, 2020 · 10 comments · May be fixed by #398 or #401
Open

SuperH/sh4 architecture unsupported #166

jameshilliard opened this issue Apr 19, 2020 · 10 comments · May be fixed by #398 or #401

Comments

@jameshilliard
Copy link

I'm seeing this error when building greenlet using buildroot's ci here.

greenlet needs to be ported to this platform, or teached how to detect your compiler properly.

If supporting this architecture is not possible I can flag greenlet as incompatible but it would be ideal to add support.

@jamadden
Copy link
Contributor

PRs are welcome!

@noloader
Copy link

noloader commented Dec 1, 2022

Debian is having an issue, too. See Debian Bug 1025176.

Unfortunately, the missing support is blocking users from installing GDB on SH-4.

@jamadden, maybe you can take a look at the SH4 Software Manual and see if you can cobble something together for testing? I can test it for you (or tell you how to setup a test rig).

@glaubitz
Copy link

I would be interested in porting greenlet to sh4 if someone is willing to assist me.

I am Debian's sh4 (a variant of SuperH) maintainer as well as an upstream kernel maintainer for the SuperH architecture.

@jamadden
Copy link
Contributor

Essentially all that should need done is implementing slp_switch() in a new platform-specific header in src/greenlet/platform/, and adding the selection criteria to src/greenlet/slp_platformselect.h. The platform-specific header will also have to define STACK_MAGIC; for how it is used see src/greenlet/greenlet_slp_switch.hpp.

@glaubitz
Copy link

If I understand correctly, the task of slp_switch() is to save and restore a thread environment?

@jamadden
Copy link
Contributor

jamadden commented Nov 16, 2023 via email

@pietro pietro linked a pull request Mar 7, 2024 that will close this issue
@pietro
Copy link

pietro commented Mar 7, 2024

@glaubitz can you test the code at #398 ?

@glaubitz
Copy link

glaubitz commented Mar 7, 2024

@glaubitz can you test the code at #398 ?

I'll test it today and let you know.

There is currently a large transition going on in Debian which why you probably couldn't install Python in QEMU.

@glaubitz
Copy link

glaubitz commented Mar 7, 2024

It builds fine in qemu-user, but for running the testsuite, I need to run it on real hardware.

My SH7785LCR development board is currently busy rebuilding the Perl interpreter for Debian's time64_t transition, but I will test it right after that as soon as possible.

glaubitz pushed a commit to glaubitz/greenlet that referenced this issue Mar 18, 2024
@glaubitz glaubitz linked a pull request Mar 18, 2024 that will close this issue
@glaubitz
Copy link

See: #401

pietro pushed a commit to pietro/greenlet that referenced this issue Mar 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants