Nico Huber has uploaded this change for review.

View Change

assert.h: Add a tag parameter to dead_code()

When dead_code() is used in inline functions in a header file, the
generated function names (based on the line number) may collide with
a dead_code() in the code file. Now that we are hit by such a case,
we need a quick solution: Add a tag argument for all invocations in
header files.

Change-Id: I0c548ce998cf8e28ae9f76b5c0ea5630b4e91ae2
Signed-off-by: Nico Huber <nico.h@gmx.de>
---
M src/include/assert.h
M src/security/vboot/misc.h
2 files changed, 7 insertions(+), 7 deletions(-)

git pull ssh://review.coreboot.org:29418/coreboot refs/changes/40/40140/1
diff --git a/src/include/assert.h b/src/include/assert.h
index 990cee1..fbaf11a 100644
--- a/src/include/assert.h
+++ b/src/include/assert.h
@@ -65,13 +65,13 @@
* ramstage/lib/bootmode.o: In function `display_init_required':
* bootmode.c:42: undefined reference to `dead_code_assertion_failed_at_line_42'
*/
-#define __dead_code(line) do { \
- extern void dead_code_assertion_failed_at_line_##line(void) \
+#define __dead_code(tag, line) do { \
+ extern void dead_code_assertion_failed##tag##_at_line_##line(void) \
__attribute__((noreturn)); \
- dead_code_assertion_failed_at_line_##line(); \
+ dead_code_assertion_failed##tag##_at_line_##line(); \
} while (0)
-#define _dead_code(line) __dead_code(line)
-#define dead_code() _dead_code(__LINE__)
+#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'. */
#define dead_code_t(type) ({ \
diff --git a/src/security/vboot/misc.h b/src/security/vboot/misc.h
index fd422b2..22cc750 100644
--- a/src/security/vboot/misc.h
+++ b/src/security/vboot/misc.h
@@ -53,7 +53,7 @@
else if (CONFIG(VBOOT_STARTS_IN_BOOTBLOCK))
return ENV_BOOTBLOCK;
else
- dead_code();
+ dead_code(_in_vboot_misc_h);
}

static inline int verstage_should_load(void)
@@ -82,7 +82,7 @@
/* Post-RAM stages are "after the romstage" */
return !ENV_ROMSTAGE_OR_BEFORE;
} else {
- dead_code();
+ dead_code(_in_vboot_misc_h);
}
}


To view, visit change 40140. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I0c548ce998cf8e28ae9f76b5c0ea5630b4e91ae2
Gerrit-Change-Number: 40140
Gerrit-PatchSet: 1
Gerrit-Owner: Nico Huber <nico.h@gmx.de>
Gerrit-MessageType: newchange