diff --git a/App/lib/core/BuildPipeline.vp b/App/lib/core/BuildPipeline.vp index 6acee94..dc0667b 100644 --- a/App/lib/core/BuildPipeline.vp +++ b/App/lib/core/BuildPipeline.vp @@ -512,11 +512,25 @@ def _llc_task_worker(arg: t.CPtr) -> t.CPtr: task: LlcTask | t.CPtr = (LlcTask | t.CPtr)(arg) if task is None: return t.CPtr(0) + #region debug-point LLC0 + stdio.printf("[LLC-DBG] worker 开始 sha1=%s cmd=%s\n", + (task.ModuleSha1 if task.ModuleSha1 is not None else "?"), + (task.LlcCmd if task.LlcCmd is not None else "?")) + #endregion if task.OptCmd is not None: - if stdlib.system(task.OptCmd) != 0: + opt_rc: int = stdlib.system(task.OptCmd) + #region debug-point LLC1 + stdio.printf("[LLC-DBG] opt rc=%d\n", opt_rc) + #endregion + if opt_rc != 0: task.Result = 1 return t.CPtr(0) - if stdlib.system(task.LlcCmd) != 0: + llc_rc: int = stdlib.system(task.LlcCmd) + #region debug-point LLC2 + stdio.printf("[LLC-DBG] llc rc=%d sha1=%s\n", llc_rc, + (task.ModuleSha1 if task.ModuleSha1 is not None else "?")) + #endregion + if llc_rc != 0: task.Result = 1 else: task.Result = 0 @@ -569,6 +583,10 @@ def run_llc_parallel(tasks: bytes, task_count: int, max_threads: int) -> int: tsk2: LlcTask | t.CPtr = (LlcTask | t.CPtr)(t.CVoid( t.CUInt64T(tasks) + t.CSizeT(batch_start + j) * slot_size, t.CPtr)) if tsk2 is not None and tsk2.Result != 0: + #region debug-point LLC3 + stdio.printf("[LLC-DBG] 失败槽 Result=%d sha1=%s\n", tsk2.Result, + (tsk2.ModuleSha1 if tsk2.ModuleSha1 is not None else "?")) + #endregion fb: str = VLogger.fmt_buf() if fb is not None: viperlib.snprintf(fb, 1024, "llc 编译失败: %s (cmd=%s)",