[U-Boot] [RESEND PATCH v3] Add assert() for debug assertions
Wolfgang Denk
wd at denx.de
Sat Oct 22 00:20:26 CEST 2011
Dear Simon Glass,
In message <1315434680-21641-1-git-send-email-sjg at chromium.org> you wrote:
> assert() is like BUG_ON() but compiles to nothing unless DEBUG is defined.
> This is useful when a condition is an error but a board reset is unlikely
> to fix it, so it is better to soldier on in hope. Assertion failures should
> be caught during development/test.
>
> It turns out that assert() is defined separately in a few places in U-Boot
> with various meanings. This patch cleans up some of these.
>
> Build errors exposed by this change (and defining DEBUG) are also fixed in
> this patch.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
...
> --- a/lib/vsprintf.c
> +++ b/lib/vsprintf.c
> @@ -730,3 +730,11 @@ void panic(const char *fmt, ...)
> while (1)
> ;
> }
> +
> +void __assert_fail(const char *assertion, const char *file, unsigned line,
> + const char *function)
> +{
> + /* This will not return */
> + panic("%s:%u: %s: Assertion `%s' failed.", file, line, function,
> + assertion);
> +}
Can you please #ifdef it so it doesn't get added for the non-debug
case, too?
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The human mind ordinarily operates at only ten percent of its
capacity. The rest is overhead for the operating system.
More information about the U-Boot
mailing list