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

Scope libatomic allowance to MIPS on Python 3.13 #411

Merged
merged 1 commit into from
Dec 7, 2024
Merged

Conversation

zanieb
Copy link
Member

@zanieb zanieb commented Dec 6, 2024

Addressing the initial feedback in #410

Copy link
Collaborator

@indygreg indygreg left a comment

Choose a reason for hiding this comment

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

Thank you.

A proper solution here might be to statically link libatomic. But that can be done separately.

@zanieb
Copy link
Member Author

zanieb commented Dec 6, 2024

Thanks for giving it a look

A proper solution here might be to statically link libatomic. But that can be done separately.

Agreed. I've started looking into that, but after engaging upstream (python/cpython#127708 (comment)) I'm starting to wonder about the value of the MIPS distributions?

@zanieb zanieb marked this pull request as ready for review December 6, 2024 22:18
@indygreg
Copy link
Collaborator

indygreg commented Dec 7, 2024

Let's merge this since it fixes the PYTHON.json metadata advertisement for libatomic.so on Linux (which is wrong). We can discuss MIPS elsewhere.

@indygreg
Copy link
Collaborator

indygreg commented Dec 7, 2024

Also, extension-modules.yml has the reference to libatomic regarding OpenSSL I was thinking ok:

_hashlib:
  sources:
    - _hashopenssl.c
  includes-deps:
    - include
  links:
    - crypto
  links-conditional:
    # Clang built OpenSSL 3.x depends on libatomic. We force linking against
    # a static library so there isn't a runtime dependency.
    - name: ':libatomic.a'
      targets:
        - i686-unknown-linux-gnu
        - mips-unknown-linux-gnu
        - mipsel-unknown-linux-gnu
        - x86_64.*-unknown-linux-gnu

We could change the build-cpython.sh script to statically link libatomic.a.

@zanieb
Copy link
Member Author

zanieb commented Dec 7, 2024

Yeah I was looking at that implementation to guide how to hide the symbol and force it to statically link 👍

@zanieb zanieb merged commit b0070c6 into main Dec 7, 2024
316 of 317 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants