| #ifndef _LINUX_SECTIONS_H |
| #define _LINUX_SECTIONS_H |
| |
| #define SECTION_RODATA .rodata |
| #define SECTION_DATA .data |
| #define SECTION_TEXT .text |
| #define SECTION_INIT .init.text |
| #define SECTION_INIT_DATA .init.data |
| #define SECTION_INIT_RODATA .init.rodata |
| #define SECTION_INIT_CALL .initcall |
| |
| #ifndef __ASSEMBLY__ |
| |
| /* |
| * Without this you end up with the section macro |
| * as part of the name |
| */ |
| #define __SECTION_TBL(section, name, level) \ |
| #section ".tbl." #name "." #level |
| |
| #define SECTION_TBL(section, name, level) \ |
| __SECTION_TBL(section, name, level) |
| |
| #endif |
| |
| /* For use on linker scripts and helpers */ |
| #define ___SECTION_TBL(section, name) \ |
| section##.tbl.##name |
| |
| /* glob to capture all linker table uses for this section */ |
| #define SECTION_TBL_ALL(section) \ |
| ___SECTION_TBL(section,*) |
| |
| #endif /* _LINUX_SECTIONS_H */ |