C166: section not found after updating to 7.57 or newer
Information in this knowledgebase article applies to:
In our build script we compile a module in a sub directory and the input file to the compiler also does contain the path:
C166 t/t.c ...
In the linker configuration the code of this module gets located via a SECTION directive:
This worked well up to the toolchain version 7.56. But after updating to 7.57, the following error is generated during linking:
*** ERROR L110: CANNOT FIND SECTION OR REGBANK SECTION: ?PR?T_T CLASS: FCODE
Why does the new toolchain not work any more?
From version 7.56 to 7.57 there was a change in the path handling
of the compiler. Previously, only Windows-style path separators '\'
were detected. As in the build script, Unix-style separators '/' are
used, the whole file parameter including the path was used as section
name for the code. Just none C characters were replaced with an
In the SECTION directive, change the selector to just contain the module name, without path:
and linking will work again.
Last Reviewed: Friday, August 16, 2019
of your data.