diff options
-rw-r--r-- | include/linux/tables.h | 17 |
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) |