summaryrefslogtreecommitdiffstats
path: root/Documentation/kbuild
diff options
context:
space:
mode:
authorMasahiro Yamada2018-05-28 11:21:55 +0200
committerMasahiro Yamada2018-05-28 20:31:19 +0200
commit915f64901eb3f1e4e126f58c0d2f82f5ec1d1223 (patch)
treeff55db36fc7f90bcc51af0070bc65ac947737c4d /Documentation/kbuild
parentkconfig: add 'filename' and 'lineno' built-in variables (diff)
downloadkernel-qcow2-linux-915f64901eb3f1e4e126f58c0d2f82f5ec1d1223.tar.gz
kernel-qcow2-linux-915f64901eb3f1e4e126f58c0d2f82f5ec1d1223.tar.xz
kernel-qcow2-linux-915f64901eb3f1e4e126f58c0d2f82f5ec1d1223.zip
kconfig: error out if a recursive variable references itself
When using a recursively expanded variable, it is a common mistake to make circular reference. For example, Make terminates the following code: X = $(X) Y := $(X) Let's detect the circular expansion in Kconfig, too. On the other hand, a function that recurses itself is a commonly-used programming technique. So, Make does not check recursion in the reference with 'call'. For example, the following code continues running eternally: X = $(call X) Y := $(X) Kconfig allows circular expansion if one or more arguments are given, but terminates when the same function is recursively invoked 1000 times, assuming it is a programming mistake. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'Documentation/kbuild')
0 files changed, 0 insertions, 0 deletions