Skip to content

Strip debug sections from the shipped Linux binaries - #12

Merged
IAmJSD merged 1 commit into
mainfrom
t3code/191a6310
Aug 24, 2026
Merged

Strip debug sections from the shipped Linux binaries#12
IAmJSD merged 1 commit into
mainfrom
t3code/191a6310

Conversation

@IAmJSD

@IAmJSD IAmJSD commented Aug 24, 2026

Copy link
Copy Markdown
Member

Summary

  • The release profile compiles with debug = 1 so local release builds get readable backtraces, and ELF is the one binary format that embeds the resulting DWARF in the executable itself — the Linux release artifacts were shipping it (macOS/Windows put it in dSYM/PDB side files that are never packaged).
  • Run strip --strip-debug on target/release/schist and target/release/schist-mcp in the Linux packaging step, before appimage.sh and the dist/ copies, so the AppImage payload and both loose binaries ship without debug sections.
  • --strip-debug leaves the symbol table intact, so shipped binaries still symbolicate panics by function name, and debug = 1 keeps working for local builds.

Testing

  • Verified cargo's freshness check tolerates the strip: appimage.sh re-runs cargo build --release afterwards, and a local test confirmed that build is a no-op that leaves the stripped output untouched.
  • Workflow YAML parses cleanly.

🤖 Generated with Claude Code

The release profile compiles with debug = 1 for readable backtraces, and
ELF embeds that DWARF straight into the executable, so the Linux
artifacts were shipping it. Strip it at packaging time -- before
appimage.sh and the dist/ copies -- so neither the AppImage payload nor
the loose binaries carry it, while local release builds keep their line
tables. Symbols stay; only debug sections go.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@IAmJSD
IAmJSD merged commit 0c4a215 into main Aug 24, 2026
3 checks passed
@IAmJSD
IAmJSD deleted the t3code/191a6310 branch August 24, 2026 19:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant