BL51 User's Guide

RECURSIONS Linker Directive

Abbreviation

RC

Arguments

RECURSIONS (number)

Default

RECURSIONS (10)

µVision

Options — BL51 Misc — Misc Controls.

Description

The RECURSIONS directive specifies the number of recursions that are allowed before the linker aborts the linkage. When too many recursions are detected, the following error is generated:

FATAL ERROR L232: APPLICATION CONTAINS TOO MANY RECURSIONS.

When the linker encounters a recursive function call during overlay analysis, that function is removed from the call tree and overlay analysis must be restarted. This slows the performance of the linker and causes longer link times.

For very complex, recursive applications the RECURSIONS directive may be used to increase the number of acceptable recursions. However, this may significantly increase the execution time of the linker.

If your application contains many tables of function pointers you may wish to rely on the linker to generate a map file to review for overlay analysis. In some cases, you may may receive FATAL ERROR L232 before you have corrected the call tree (using the OVERLAY directive). In such situations, the RECURSIONS directive may be used to ensure program linkage.

See Also

OVERLAY

Example
BL51 MYPROG.OBJ,A.OBJ,B.OBJ RECURSIONS (100)