Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[OpenMP][test] Define print_possible_return_address on SPARC #138523

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

rorth
Copy link
Collaborator

@rorth rorth commented May 5, 2025

Parts of the openmp testsuite currently don't build on SPARC due to the lack of a print_possible_return_addresses definition.

This patch provides one. With it, the vast majority of tests PASS on Solaris/sparcv9 and, with an additional patch, on Linux/sparc64.

The current definition was obtained empirically and will need additional explanation/justification.

Tested on sparcv9-sun-solaris2.11, sparc64-unknown-linux-gnu, amd64-pc-solaris2.11, and x86_64-pc-linux-gnu.

Parts of the `openmp` testsuite currently don't build on SPARC due to the
lack of a `print_possible_return_addresses` definition.

This patch provides one.  With it, the vast majority of tests `PASS` on
Solaris/sparcv9 and, with an additional patch, on Linux/sparc64.

The current definition was obtained empirically and will need additional
explanation/justification.

Tested on `sparcv9-sun-solaris2.11`, `sparc64-unknown-linux-gnu`,
`amd64-pc-solaris2.11`, and `x86_64-pc-linux-gnu`.
@llvmbot llvmbot added the openmp:libomp OpenMP host runtime label May 5, 2025
// FIXME: Need to distinguish between 32 and 64-bit SPARC?
// On SPARC the NOP instruction is 4 bytes long.
// FIXME: Explain. Can use __builtin_frob_return_addr?
#define print_possible_return_addresses(addr) \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmmm, I don't know much about how OpenMP works so, what is being passed in addr here?
Some sort of register dump struct?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
openmp:libomp OpenMP host runtime
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants