Skip to content

symbols

include/linker/symbols.h View source View on GitHub

defines linker sections for commonly accessed regions, .text, .bss, .rodata, etc…

extern uint64_t __stext, __etext
source
extern uint64_t __srodata, __erodata
source
extern uint64_t __sdata, __edata
source
extern uint64_t __sbss, __ebss
source
extern uint64_t __slimine_requests, __elimine_requests
source
extern uint64_t __kernel_virt_end
source
#define LINKER_SECTION_ATTRIBUTE(n)
source
Expansion
#define LINKER_SECTION_ATTRIBUTE(n) cc_section(".kernel_" #n) cc_used
#define LINKER_SECTION_OBJECT(type, section)
source
Expansion
#define LINKER_SECTION_OBJECT(type, section) \
    LINKER_SECTION_ATTRIBUTE(section) type
#define LINKER_SECTION_EXTERN(type, name)
source
Expansion
#define LINKER_SECTION_EXTERN(type, name) \
    extern type __skernel_##name[]; \
    extern type __ekernel_##name[];
#define linker_section_for_each_object(obj, name)
source
Expansion
#define linker_section_for_each_object(obj, name) \
    for (obj = __skernel_##name; obj < __ekernel_##name; obj++)