[3.13] gh-132026: Ensure _MIPS_SIM has defined _ABI identifiers for comparison (GH-133092)
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. (cherry picked from commit 6985e2e6dea67630cf13fc02b7ca727af383207b) Co-authored-by: Valters Jansons <sigv@users.noreply.github.com>
M
Miss Islington (bot) committed
507b4fa7a4d7c68ff514de4f30f6e49d7fc9cfc8
Parent: 85882ca
Committed by GitHub <noreply@github.com>
on 4/28/2025, 5:15:45 PM