Skip to content

Free threaded Python.h is incompatible with -masm=intel #145010

@colesbury

Description

@colesbury

Bug report

The _Py_ThreadId function uses a mix of inline assembly and intrinsics depending on the platform. We currently use AT&T assembly syntax, which is the default on GCC and Clang. If an extension module builds with -masm=intel, then #include <Python.h> will fail with syntax errors.

GCC and Clang support multiple assembler dialects in inline assembly, so we can provide implementations for both AT&T and Intel syntax.

I think this is probably only relevant for x86/x86-64.

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.13bugs and security fixes3.14bugs and security fixes3.15new features, bugs and security fixestopic-C-APItopic-free-threadingtype-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions