Problem
The final linkedit step (mvslink) currently defaults to max_rc=4, which
means a link that completes with RC=4 (warnings) is treated as a success.
This masks real linker warnings (e.g. IEW0241 doubly-defined symbols) that
should be investigated.
The NCAL link step inside asm-step.jcl correctly uses max_rc=4 — RC=4 is
expected there because unresolved externals are normal in NCAL mode.
The final link (make link) produces the finished load module and should be
held to RC=0. Any warning (RC=4) from the final link indicates a real problem.
Fix
Change the default max_rc for mvslink (final link) from 4 to 0.
The NCAL link inside the ASM step template is separate and unaffected.
Optional
Allow max_rc to be overridden per [[link.module]] in project.toml for
cases where a specific module is known to produce unavoidable warnings.
Problem
The final linkedit step (
mvslink) currently defaults tomax_rc=4, whichmeans a link that completes with RC=4 (warnings) is treated as a success.
This masks real linker warnings (e.g. IEW0241 doubly-defined symbols) that
should be investigated.
The NCAL link step inside
asm-step.jclcorrectly usesmax_rc=4— RC=4 isexpected there because unresolved externals are normal in NCAL mode.
The final link (
make link) produces the finished load module and should beheld to RC=0. Any warning (RC=4) from the final link indicates a real problem.
Fix
Change the default
max_rcformvslink(final link) from4to0.The NCAL link inside the ASM step template is separate and unaffected.
Optional
Allow
max_rcto be overridden per[[link.module]]inproject.tomlforcases where a specific module is known to produce unavoidable warnings.