|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH v3 01/23] include/uk: introduce __weak_alias macro
Signed-off-by: Yuri Volchkov <yuri.volchkov@xxxxxxxxx>
---
include/uk/essentials.h | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/include/uk/essentials.h b/include/uk/essentials.h
index 3c16e308..47e04f7c 100644
--- a/include/uk/essentials.h
+++ b/include/uk/essentials.h
@@ -76,6 +76,16 @@ extern "C" {
#ifndef __align
#define __align(bytes) __attribute__((aligned(bytes)))
#endif
+/* NOTE: weak aliasing does not work well with link-time optimization
+ * currently. Hopefully this will be fixed in gcc 9. The problem is,
+ * if a weak symbol is referenced in the library, gcc resolves calls
+ * to that weak symbol during the first round of linking. Even if a
+ * strong symbol is provided in the other library.
+ */
+#ifndef __weak_alias
+#define __weak_alias(old, new) \
+ extern __typeof(old) new __attribute__((weak, alias(#old)))
+#endif
/**
* Mark a function as constructor
--
2.19.2
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |