0%

Debug-info separation (D5, D5a)

Goal

A split-debug linux binary is debuggable via build-id lookup and its shipped artifact excludes the debug symbols.

Implementation Sketch

Derived from compiler_repo/docs/ori_lang/proposals/approved/cache-lifecycle-proposal.md. Implement the work items below in order; each maps to a design bullet in the approved proposal.

Spec References

  • Approved proposal: compiler_repo/docs/ori_lang/proposals/approved/cache-lifecycle-proposal.md
  • Umbrella invariant T4: compiler_repo/docs/ori_lang/proposals/approved/toolchain-philosophy-proposal.md

Work Items

  • Default Linux debug info to split (.dwo/.debug located by build-id / .gnu_debuglink); add --debug-info=split|embedded placement flag, inert under --debug=0
  • Locate debug info via platform-native linkage only; the cache manifest is never the debugger’s discovery path
  • D5a: materialize the sidecar alongside its deliverable by the same mechanism, with its discovery path resolving against the deliverable’s location