aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/tables.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/include/linux/tables.h b/include/linux/tables.h
index b6e7051..2e671cb 100644
--- a/include/linux/tables.h
+++ b/include/linux/tables.h
@@ -8,8 +8,22 @@
#define SECTION_TBL(section, name, level) \
SECTION_TYPE(section, SECTION_TYPE_TABLES, name, level)
-#ifndef __ASSEMBLY__
+#ifdef __ASSEMBLER__
+#define push_section_tbl(section, name, level, flags) \
+ push_section_type(section, SECTION_TYPE_TABLES, name, level, flags)
+
+#define DECLARE_SECTION_TBL(section, name) \
+ push_section_tbl(section, name,,) ; \
+ .globl name ; \
+name: ; \
+ .popsection \
+ \
+ push_section_tbl(section, name, ~,) ; \
+ .popsection
+#else
+
+#ifndef __ASSEMBLY__
/*
* Linux linker tables
*
@@ -164,6 +178,7 @@ do { \
push_section(section, SECTION_TYPE_TABLES, name, level, flags)
#endif /* __ASSEMBLY__ */
+#endif /* __ASSEMBLER__ */
#define SECTION_TBL_ALL(section) \
SECTION_TYPE_ALL(section,SECTION_TYPE_TABLES)