• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

HarryR / nt365 / 26459187565
44%

Build:
DEFAULT BRANCH: main
Ran 26 May 2026 03:55PM UTC
Jobs 1
Files 570
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

26 May 2026 03:50PM UTC coverage: 40.85% (+0.8%) from 40.012%
26459187565

push

github

HarryR
crt: build CRTDLL / libcntpr / libc / libcmt / INT64 from source

Imports CRT32 + CRT32NT + FP32 + FP32NT + CRTLIB from NT 3.5 PRIVATE/
plus eight long-long ASM helpers (LL{DIV,MUL,REM,SHL,SHR} + ULL{DIV,
REM,SHR}) from MSVC 2.2's CRTSRC/HELPER/I386.  PUBLIC/SDK/LIB/I386
now ships CRTDLL.{DLL,LIB}, LIBCNTPR.LIB, LIBC.LIB, LIBCMT.LIB,
EXSUP.LIB, INT64.LIB built from in-tree source rather than the
prebuilt blobs that landed with the original repo import.  NT 3.5's
dev-host orchestration scripts (BUILDCRT.CMD / BUILDALL.CMD /
GHOST*.CMD / etc.) are dropped — build.lua drives the chain now.

Three non-obvious fixes were load-bearing for the chain landing green:

  * Variant share.  Stock NT 3.5 kept four sibling trees (crt32st,
    crt32, crt32dll, crt32nt) so each variant owned its own obj/.
    Our single-tree remap silently re-archived the FIRST variant's
    .obj into every subsequent libc<suffix>.lib (CRTDLL.LIB link
    failed with ~40 unresolved externals on _environ_dll /
    _initterm / _HUGE_dll).  build_crt_variant now drops a
    .crt-variant stamp per subdir and wipes obj/ on mismatch.

  * ML debug info.  386_ADBGFLAGS=/Zi sits behind !IFDEF NTLEGO in
    I386MK.INC, and NTLEGO is unconditionally !UNDEFed whenever
    NTDEBUG is set (MAKEFILE.DEF:755).  Under our NTDEBUG=ntsdnodbg
    --syms path every .asm landed .text-only — no .debug$S, so
    splitsym extracted nothing and ASM execution coverage couldn't
    be attributed.  run_nmake now forces 386_ADBGFLAGS=/Zi on the
    nmake command line for --syms builds; command-line wins.

  * dbg2dwf S_OBJNAME.  NT 3.5's linker abbreviates per-module
    sstModule.ModName to relative form (`obj/i386/llmul.obj`); the
    absolute build path lives in S_OBJNAME (CV4 rectyp 0x0009, not
    the CV5+ 0x1101 that windows.h advertises).  Without it, ASM
    CUs landed with DW_AT_comp_dir=`i386` because ml records source
    paths verbatim from its command line.  dbg2dwf now reads
    S_OBJNAME and retroa... (continued)

46916 of 114850 relevant lines covered (40.85%)

1845.22 hits per line

Coverage Regressions

Lines Coverage ∆ File
31
79.37
1.83% src/NT/PRIVATE/NTOS/SE/TOKEN.C
18
81.13
0.94% src/NT/PRIVATE/NTOS/MM/ADDRSUP.C
4
74.77
2.8% src/NT/PRIVATE/NTOS/KE/THREDSUP.C
4
77.42
-12.9% src/NT/PRIVATE/NTOS/KE/TIMEROBJ.C
2
64.29
-7.14% src/NT/PRIVATE/NTOS/KE/TIMERSUP.C
1
84.62
32.31% src/NT/PRIVATE/NTOS/CONFIG/CMCONTRL.C
Jobs
ID Job ID Ran Files Coverage
1 26459187565.1 26 May 2026 03:55PM UTC 570
40.85
GitHub Action Run
Source Files on build 26459187565
  • Tree
  • List 570
  • Changed 52
  • Source Changed 1
  • Coverage Changed 52
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26459187565
  • 549fa6e0 on github
  • Prev Build on main (#26442405546)
  • Next Build on main (#26492732040)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc