[PATCH] Revert "time: add weak annotation to timer_read_counter declaration"

Tom Rini trini at konsulko.com
Fri Jan 13 01:16:59 CET 2023


On Thu, Jan 05, 2023 at 01:08:47AM +0100, Harald Seiler wrote:

> This reverts commit 65ba7add0d609bbd035b8d42fafdaf428ac24751.
> 
> A weak extern is a nasty sight to behold: If the symbol is never
> defined, on ARM, the linker will replace the function call with a NOP.
> This behavior isn't well documented but there are at least some hints
> to it [1].
> 
> When timer_read_counter() is not defined, this obviously does the wrong
> thing here and it does so silently.  The consequence is that a board
> without timer_read_counter() will sleep for random amounts and generally
> have erratic get_ticks() values.
> 
> Drop the __weak annotation of the extern so a linker error is raised
> when timer_read_counter() is not defined.  This is okay, the original
> reason for the reverted change - breaking the sandbox build - no longer
> applies.
> 
> Final sidenote:  This was the only weak extern in the entire tree at
> this time as far as I can tell.  I guess we should avoid introduction of
> them again as they are obviously a very big footgun.
> 
> [1]: https://stackoverflow.com/questions/31203402/gcc-behavior-for-unresolved-weak-functions
> 
> Fixes: 65ba7add0d60 ("time: add weak annotation to timer_read_counter declaration")
> Reported-by: Serge Bazanski <q3k at q3k.org>
> Signed-off-by: Harald Seiler <hws at denx.de>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20230112/328b1e93/attachment.sig>


More information about the U-Boot mailing list