Skip to content

beta/3.14.0 regressed PortaPy native_api.py into constant-zero stubs #36

Description

@deltathedumb

Regression

Compiling PortaPy's unchanged src/portapy/native_api.py from deltathedumb/portapy produced materially different assembly across two CI runs.

Known-good compiler tree:

  • 376cf9422c28123673a1dedd7dd66b845f3c5ed1
  • portapy_abi_version() emits mov rax, 1
  • Linux and Windows external C conformance hosts pass

Current beta/3.14.0 behavior observed after the branch moved:

  • the same PortaPy source SHA 5ff01e067207957d2f05bcc4655fd2882d66963f0b8f883f40768bb82d8d33bc compiles public/native helper functions into constant-zero stubs
  • example generated body:
portapy_abi_version:
    push rbp
    mov rbp, rsp
    mov rax, 0
    jmp .Lret_portapy_abi_version_25
  • the resulting shared library links, but the external host exits because ABI version is 0
  • generated library size dropped from roughly 142 KB to 74 KB for identical source

PortaPy is temporarily pinning the known-good compiler SHA for reproducible builds. Please add src/portapy/native_api.py as a compiler regression target and restore full function-body emission on beta/3.14.0.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions