diff options
Diffstat (limited to 'src/declfunc.lds.S')
-rw-r--r-- | src/declfunc.lds.S | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/declfunc.lds.S b/src/declfunc.lds.S new file mode 100644 index 00000000..9bb5c8ad --- /dev/null +++ b/src/declfunc.lds.S @@ -0,0 +1,26 @@ +// Linker script that defines symbols around sections. The DECL_X() +// macros need this linker script to place _start and _end symbols +// around the list of declared items. + +#define DECLWRAPPER(NAME) \ + .progmem.data. ## NAME : SUBALIGN(1) { \ + NAME ## _start = . ; \ + *( .progmem.data. ## NAME ##.pre* ) \ + *( .progmem.data. ## NAME ##* ) \ + *( .progmem.data. ## NAME ##.post* ) \ + NAME ## _end = . ; \ + } + +SECTIONS +{ + DECLWRAPPER(taskfuncs) + DECLWRAPPER(initfuncs) + DECLWRAPPER(shutdownfuncs) + + .compile_time_request.static_strings 0 (INFO) : { + *( .compile_time_request.static_strings ) + } + .compile_time_request.parsers 0 (INFO) : { + *( .compile_time_request.parsers ) + } +} |