7#ifndef ZEPHYR_INCLUDE_LINKER_UTILS_H_
8#define ZEPHYR_INCLUDE_LINKER_UTILS_H_
26#if defined(CONFIG_LINKER_USE_PINNED_SECTION)
27 extern const char lnkr_pinned_rodata_start[];
28 extern const char lnkr_pinned_rodata_end[];
30 if (((
const char *)addr >= (
const char *)lnkr_pinned_rodata_start) &&
31 ((
const char *)addr < (
const char *)lnkr_pinned_rodata_end)) {
36#if defined(CONFIG_ARM) || defined(CONFIG_ARC) || defined(CONFIG_X86) || \
37 defined(CONFIG_ARM64) || defined(CONFIG_NIOS2) || \
38 defined(CONFIG_RISCV) || defined(CONFIG_SPARC) || \
39 defined(CONFIG_MIPS) || defined(CONFIG_XTENSA)
40 extern char __rodata_region_start[];
41 extern char __rodata_region_end[];
42 #define RO_START __rodata_region_start
43 #define RO_END __rodata_region_end
49 return (((
const char *)addr >= (
const char *)
RO_START) &&
50 ((
const char *)addr < (
const char *)
RO_END));
static bool linker_is_in_rodata(const void *addr)
Check if address is in read only section.
Definition: utils.h:24