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

Use ppc64le coroutines on powerpc64-freebsd* #10595

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

pkubaj
Copy link
Contributor

@pkubaj pkubaj commented Apr 22, 2024

Only one ractor-related test fails, but it also fails with ucontext.

This comment has been minimized.

@pkubaj pkubaj changed the title Use ppc64le coroutines on powerpc64le-freebsd* Use ppc64le coroutines on powerpc64-freebsd* Apr 24, 2024
Only one ractor-related test fails, but it also fails with ucontext.
There is nothing endianness-related in ppc64le and all the tests pass on both ucontext and ppc64le coroutines on powerpc64-freebsd14.0
@barracuda156
Copy link
Contributor

@pkubaj Will it actually work on Big-endian FreeBSD? (I have no idea which version of ABI FreeBSD uses on either.)

@pkubaj
Copy link
Contributor Author

pkubaj commented Apr 24, 2024

FreeBSD uses ELFv2 ABI on both powerpc64 and powerpc64le. On powerpc64 all the tests pass on both ucontext and ppc64le. On powerpc64le both ucontext and ppc64le fail at one ractor test.

@pkubaj
Copy link
Contributor Author

pkubaj commented Apr 24, 2024

Also look at e.g. Chimera Linux, which also forces ppc64le coroutines on ppc64: https://github.com/chimera-linux/cports/blob/master/main/ruby/template.py#L47

They also use ELFv2.

@barracuda156
Copy link
Contributor

@pkubaj I cannot verify, but I trust you here.

What is the status of ppc (32-bit)? If ABI is the same, then offsets and insns can be set via macros in the same file. (Or which ABI does it use, SysV?)

P. S. On a side note, does FreeBSD use IEEE or IBM long double?

@pkubaj
Copy link
Contributor Author

pkubaj commented Apr 24, 2024

32-bit ABI is not the same. We use SysV ABI.

FreeBSD uses 64-bit long double.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants