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>
This commit is contained in:
parent
17419ff948
commit
db2c8dfecb
|
@ -52,15 +52,10 @@
|
||||||
* The error message when this hits will look like this:
|
* The error message when this hits will look like this:
|
||||||
*
|
*
|
||||||
* ramstage/lib/bootmode.o: In function `display_init_required':
|
* 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(void) __attribute__((noreturn));
|
||||||
extern void dead_code_assertion_failed##tag##_at_line_##line(void) \
|
#define dead_code() _dead_code_assertion_failed()
|
||||||
__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__)
|
|
||||||
|
|
||||||
/* This can be used in the context of an expression of type 'type'. */
|
/* This can be used in the context of an expression of type 'type'. */
|
||||||
#define dead_code_t(type) ({ \
|
#define dead_code_t(type) ({ \
|
||||||
|
|
|
@ -53,7 +53,7 @@ static inline int verification_should_run(void)
|
||||||
else if (CONFIG(VBOOT_STARTS_IN_BOOTBLOCK))
|
else if (CONFIG(VBOOT_STARTS_IN_BOOTBLOCK))
|
||||||
return ENV_BOOTBLOCK;
|
return ENV_BOOTBLOCK;
|
||||||
else
|
else
|
||||||
dead_code(_in_vboot_misc_h);
|
dead_code();
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int verstage_should_load(void)
|
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" */
|
/* Post-RAM stages are "after the romstage" */
|
||||||
return !ENV_ROMSTAGE_OR_BEFORE;
|
return !ENV_ROMSTAGE_OR_BEFORE;
|
||||||
} else {
|
} else {
|
||||||
dead_code(_in_vboot_misc_h);
|
dead_code();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue