From: Pragnesh Patel Date: Sun, 17 Jan 2021 12:41:24 +0000 (+0530) Subject: trace: select TIMER_EARLY to avoid infinite recursion X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=a80f85138c9457141c799c022b5c924252031512;p=u-boot.git trace: select TIMER_EARLY to avoid infinite recursion When tracing functions is enabled this adds calls to __cyg_profile_func_enter() and __cyg_profile_func_exit() to the traced functions. __cyg_profile_func_enter() and __cyg_profile_func_exit() invoke timer_get_us() to record the entry and exit time. initr_dm() will make gd->dm_root = NULL and gd->timer = NULL, so timer_get_us() -> get_ticks() -> dm_timer_init() will lead to an indefinite recursion. So select TIMER_EARLY when tracing got enabled. Signed-off-by: Pragnesh Patel Reviewed-by: Simon Glass Reviewed-by: Rick Chen --- diff --git a/lib/Kconfig b/lib/Kconfig index a704568443..9b9177f2aa 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -210,6 +210,7 @@ config BITREVERSE config TRACE bool "Support for tracing of function calls and timing" imply CMD_TRACE + select TIMER_EARLY help Enables function tracing within U-Boot. This allows recording of call traces including timing information. The command can write data to