Skip to content

chore: carry symbol-table build fixes to develop (#151, #152)#154

Merged
dvcdsys merged 2 commits into
developfrom
chore/develop-sync-symtab
Jul 19, 2026
Merged

chore: carry symbol-table build fixes to develop (#151, #152)#154
dvcdsys merged 2 commits into
developfrom
chore/develop-sync-symtab

Conversation

@dvcdsys

@dvcdsys dvcdsys commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Cherry-picks the two symbol-table build changes from main (#151, #152) onto
develop — replaces #153, whose direct main→develop merge conflicted because
the branches share content via cherry-picks, not merge history.

After this, git diff develop main is empty. Merging also triggers
prerelease-cli.yml, so the floating cli/develop build will be the first
artifact produced with the symbol table kept.

🤖 Generated with Claude Code

dvcdsys and others added 2 commits July 19, 2026 20:53
…ep -w)

Stripped binaries (-s) force govulncheck -mode=binary into module-level
fallback: it cannot see which packages are actually linked, so it flags
every advisory on every required module — including GO-2026-5932
(x/crypto/openpgp), a package this binary does not contain at all.

With the symbol table present govulncheck does real symbol-level
analysis. Verified locally on the current cli/ tree:

  -s -w : 13.5 MB, binary scan reports "affected by 1 vulnerability"
  -w    : 15.0 MB, binary scan reports 0 (openpgp correctly unreachable)
  none  : 20.0 MB, binary scan reports 0

-w (DWARF stripping) stays, so the size cost is ~+11%, not +48%.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
(cherry picked from commit 07618f1)
…p -w)

Companion to #151, which does the same for the CLI. Both server images still
build with `-ldflags "-s -w"`, so the shipped cix-server binary has no symbol
table and any binary-mode vulnerability scan of the published image degrades to
module-level reporting — flagging advisories for packages that are not linked
at all. Measured on this binary, the same false positive #151 removes from the
CLI is present here:

  -s -w :  24.0 MB,    143 symbols  -> "affected by 1 vulnerability from 1 module"
  -w    :  25.7 MB, 26 377 symbols  -> "No vulnerabilities found"

Cost is +6.8% on the binary (~1.7 MB) inside images of ~172 MB (CPU) and
~1.5 GB (CUDA), so it is noise at the image level. `-w` still drops DWARF.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
(cherry picked from commit 65bd2dc)
@dvcdsys
dvcdsys merged commit 7a5401a into develop Jul 19, 2026
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