← board

Re-pin stable for C stdio/socket PAL bridge

Problem

The pinned Track B compiler (stable_linux_amd64/default/pinned, currently stable v81) self-hosts cleanly, but it cannot run the new crtl PAL-bridge regressions as pinned gates yet.

File stdio:

stable_linux_amd64/default/pinned \
  -Ilib/crtl/include -Ilib/crtl/src \
  test/cfile_stdio_b87.c /tmp/cfile_stdio_b87_pinned
/tmp/cfile_stdio_b87_pinned

The compile succeeds, but the executable fails at load time:

symbol lookup error: /tmp/cfile_stdio_b87_pinned: undefined symbol: __pxx_write

Sockets show the same pin lag:

stable_linux_amd64/default/pinned \
  -Ilib/crtl/include -Ilib/crtl/src \
  test/csocket_loopback_b88.c /tmp/csocket_loopback_b88_pinned
/tmp/csocket_loopback_b88_pinned

The compile succeeds, but the executable fails at load time:

symbol lookup error: /tmp/csocket_loopback_b88_pinned: undefined symbol: __pxx_socket

This is not a crtl body failure. A compiler generated from the current source by the pinned compiler resolves the Pascal-backed pxxcio bridge correctly:

stable_linux_amd64/default/pinned compiler/compiler.pas /tmp/pxx-sc-g1
/tmp/pxx-sc-g1 -Ilib/crtl/include -Ilib/crtl/src \
  test/cfile_stdio_b87.c /tmp/cfile_stdio_b87_g1
/tmp/cfile_stdio_b87_g1   # returns 42

make selfcheck is also green with pinned:

self-host fixedpoint OK (g2 == g3)
=== selfcheck OK ===

Acceptance

Log