From 9e70a8fa18dee0ff937256a4b81b8842f0b52262 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E7=94=B5=E8=8A=BD=E8=A1=A3?= Date: Fri, 17 Jul 2026 18:22:00 -0400 Subject: [PATCH] Silence the macOS __eh_frame linker note; wire kigi-bin into workspace lints macOS ld cannot encode >16MB of __eh_frame in its compact unwind table and says so on every debug link of the large binary. All profiles build with panic=abort, so Rust never unwinds and the note's exception-handling caveat does not apply. Allow rust.linker_messages at the workspace level with that rationale, and give kigi-bin the missing [lints] workspace = true (it was not inheriting workspace lints at all). Also drop the stale xAI authors field and Grok wording from the kigi-bin manifest. --- Cargo.toml | 7 +++++++ crates/codegen/kigi-bin/Cargo.toml | 14 ++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index b0f9762..cf335a1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -360,6 +360,13 @@ incremental = false [profile.bench] debug = true +[workspace.lints.rust] +# macOS ld cannot encode >16MB of __eh_frame in the compact unwind table and +# says so when linking the (large) debug binary. Every profile builds with +# panic = "abort", so Rust never unwinds and the "exception handling +# performance" caveat does not apply — the message is noise here. +linker_messages = "allow" + [workspace.lints.clippy] # prost 0.14 renders proto doc-comment bullet lists in a way that trips this # lint on generated code. Kept in sync with bazel/lint/linters.bzl. diff --git a/crates/codegen/kigi-bin/Cargo.toml b/crates/codegen/kigi-bin/Cargo.toml index 36ac287..ca137e9 100644 --- a/crates/codegen/kigi-bin/Cargo.toml +++ b/crates/codegen/kigi-bin/Cargo.toml @@ -3,18 +3,20 @@ name = "kigi-bin" version.workspace = true edition.workspace = true license = "Apache-2.0" -authors = ["xAI"] default-run = "kigi" -# Composition-root binary for the Grok Build TUI. The artifact is still named -# `kigi-tui`. This package exists so the binary can link both the pager -# library and the optional `kigi-pager-minimal` render mode: `minimal` -# depends on `kigi-tui`, so the pager library cannot depend back on it -# (cargo cycle). The binary installs the minimal-mode IoC hooks at startup. +# Composition-root binary for the Kigi TUI. This package exists so the binary +# can link both the pager library and the optional `kigi-pager-minimal` render +# mode: `minimal` depends on `kigi-tui`, so the pager library cannot depend +# back on it (cargo cycle). The binary installs the minimal-mode IoC hooks at +# startup. [[bin]] name = "kigi" path = "src/main.rs" +[lints] +workspace = true + [dependencies] # The pager library (all application logic + the public API main.rs drives). kigi-tui = { path = "../kigi-tui" }