]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
gh-132026: Ensure _MIPS_SIM has defined _ABI identifiers for comparison (GH-132027)
authorValters Jansons <sigv@users.noreply.github.com>
Sun, 27 Apr 2025 21:56:00 +0000 (00:56 +0300)
committerGitHub <noreply@github.com>
Sun, 27 Apr 2025 21:56:00 +0000 (21:56 +0000)
commit6985e2e6dea67630cf13fc02b7ca727af383207b
tree149448047dbe18b7b0c75bb124d50ebc55e505fc
parent20be6ba61ac8a0a5d6242701c4186579cfa653f0
gh-132026: Ensure _MIPS_SIM has defined _ABI identifiers for comparison (GH-132027)

When built on a MIPS architecture, `_MIPS_SIM` is used to determine
architecture specifics. The value is expected to match either
`_ABIO32`, `_ABIN32` or `_ABI64`.

In `gcc` config/mips/mips.h these values are defined as compiler
`builtin_define` inside of a switch/case. That means, mips64el and
mips64 architectures know about `_ABI64` but don't know about `_ABIO32`
and `_ABIN32`. In turn, when CPython tries to use them in comparison,
they may be undefined identifiers.

In default compiler behavior, the undefined identifier will be
evaluated as zero, and it will not match `_MIPS_SIM`. However, the
issues pop up when `-Wundef` (or, even worse, `-Werror=undef`) compiler
flag is enabled. Then suddenly it's visible as a warning or error.
Misc/NEWS.d/next/Build/2025-04-02-21-08-36.gh-issue-132026.ptnR7T.rst [new file with mode: 0644]
Misc/platform_triplet.c