#ifndef SECTIONS_H
#define SECTIONS_H

#include "compiler.h"

#define __text_hot	___section(".text.hot","ax")
#define __rodata_hot	___section(".rodata.hot","a")
#define __data_hot	___section(".data.hot","aw")
#define __rwtext	___section(".rwtext","awx")
#define __sdata		___section(".sdata","aw")
#define __string_hot	___section(".rodata.hot.str","aMS")
#define __sbss		___section(".sbss.hot","aw",@nobits)
#define __bss_hot	___section(".bss.hot","aw",@nobits)
#define __esplink_head	___section(".dram.esplink.head","aw",@nobits)
#define __esplink	___section(".dram.bss.esplink","aw",@nobits)
#define __dram_text	___section(".dram.text","ax")
#define __dram_rodata	___section(".dram.rodata","a")
#define __dram_string	___section(".dram.rodata.str","aMS")
#define __dram_data	___section(".dram.data","aw")
#define __dram_bss	___section(".dram.bss","aw",@nobits)
#define __dram_noinit	___section(".dram.noinit","aw",@nobits)

#ifndef __ASSEMBLY__

#define hotstr(x) ({ static __string_hot const char _str[] = (x); _str; })

#endif /* __ASSEMBLY__ */

#endif /* SECTIONS_H */
