diff options
author | Nico Huber <nico.h@gmx.de> | 2020-04-06 23:02:12 +0200 |
---|---|---|
committer | Angel Pons <th3fanbus@gmail.com> | 2020-04-10 00:10:58 +0000 |
commit | db2c8dfecb5086ceb78c59f2108d51ca3129d9c1 (patch) | |
tree | 1c060641630d5d88032c3a5140f366d6318d71f3 | |
parent | 17419ff948ad73cbb8d5c98b488eabb18c9ccb1b (diff) |
assert.h: Simplify dead_code()
It turns out the linker's error message already includes the line
number of the dead_code() invocation. If we don't include the line
number in the identifier for our undefined reference, we don't need
individual identifiers at all and can work with a single, global
declaration.
Change-Id: Ib63868ce3114c3f839867a3bfb1b03bdb6facf16
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/40240
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
-rw-r--r-- | src/include/assert.h | 11 | ||||
-rw-r--r-- | src/security/vboot/misc.h | 4 |
2 files changed, 5 insertions, 10 deletions
diff --git a/src/include/assert.h b/src/include/assert.h index 492629dd30..7252ab61e2 100644 --- a/src/include/assert.h +++ b/src/include/assert.h @@ -52,15 +52,10 @@ * The error message when this hits will look like this: * * ramstage/lib/bootmode.o: In function `display_init_required': - * bootmode.c:42: undefined reference to `dead_code_assertion_failed_at_line_42' + * bootmode.c:42: undefined reference to `_dead_code_assertion_failed' */ -#define __dead_code(tag, line) do { \ - extern void dead_code_assertion_failed##tag##_at_line_##line(void) \ - __attribute__((noreturn)); \ - dead_code_assertion_failed##tag##_at_line_##line(); \ -} while (0) -#define _dead_code(tag, line) __dead_code(tag, line) -#define dead_code(tag) _dead_code(tag, __LINE__) +extern void _dead_code_assertion_failed(void) __attribute__((noreturn)); +#define dead_code() _dead_code_assertion_failed() /* This can be used in the context of an expression of type 'type'. */ #define dead_code_t(type) ({ \ diff --git a/src/security/vboot/misc.h b/src/security/vboot/misc.h index 22cc75052c..fd422b2ff7 100644 --- a/src/security/vboot/misc.h +++ b/src/security/vboot/misc.h @@ -53,7 +53,7 @@ static inline int verification_should_run(void) else if (CONFIG(VBOOT_STARTS_IN_BOOTBLOCK)) return ENV_BOOTBLOCK; else - dead_code(_in_vboot_misc_h); + dead_code(); } static inline int verstage_should_load(void) @@ -82,7 +82,7 @@ static inline int vboot_logic_executed(void) /* Post-RAM stages are "after the romstage" */ return !ENV_ROMSTAGE_OR_BEFORE; } else { - dead_code(_in_vboot_misc_h); + dead_code(); } } |