boostorg / boostorg/context

We need some help to finally fix Darwin ppc64 assembler so that not just build succeeds but also tests pass

Open
#211 39 comments 0 reactions 0 assignees View on GitHub
Dominant language
Assembly
Stars
370
Forks
186
Avg merge
24d 6h
Merged PRs (30d)
1

Description

In a couple of recent PRs I have made some fixes to Darwin PPC assembler here (nothing big, just fixing which was actually breaking the build), which fixed _building_ of `context` and made it _somewhat_ functional (in a sense that certain dependencies that require `context` now build successfully, `folly` and friends being the case).
However, tests do not pass: https://github.com/macports/macports-ports/pull/16407#issuecomment-1304974991

From earlier PRs by @kernigh and @DaoWen for PPC ELF it looks like the issue is quite non-trivial and requires a thorough understanding of both what Boost is doing and the _magic code_ :)
Unfortunately, my knowledge of PPC assembler is rather limited and does not suffice here. I am not going to drop the case, since we really want this fixed properly, but any advice or help will be greatly appreciated.

_This has been broken apparently forever – can we fix it now?_ :)

(Considering a recent case with Boost shared pointer (https://github.com/boostorg/smart_ptr/issues/105), I cannot be entirely sure that it is assembler which is to blame and not again some wrong alignment, but probably it is assembler, given that it was also broken for *BSD.)

P. S. For the record, alternative version of PPC code for `context` from the following repo also fails, at least with Fibonacci test: https://github.com/twlostow/libcontext

P. P. S. @iains I am aware you are very busy atm, so please feel free to completely ignore the issue. But still tagging you as the person who understands Darwin magic code best.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.