diff --git a/core/arch/arm/include/kernel/linker.h b/core/arch/arm/include/kernel/linker.h index 6864e229d62..0639240446c 100644 --- a/core/arch/arm/include/kernel/linker.h +++ b/core/arch/arm/include/kernel/linker.h @@ -45,6 +45,8 @@ */ extern const uint8_t __exidx_start[]; extern const uint8_t __exidx_end[]; +extern const uint8_t __extab_start[]; +extern const uint8_t __extab_end[]; extern const struct pseudo_ta_head __start_ta_head_section; extern const struct pseudo_ta_head __stop_ta_head_section; diff --git a/core/arch/arm/kernel/generic_boot.c b/core/arch/arm/kernel/generic_boot.c index 6a65fa8ce4f..5d97fe67778 100644 --- a/core/arch/arm/kernel/generic_boot.c +++ b/core/arch/arm/kernel/generic_boot.c @@ -346,6 +346,8 @@ static void init_asan(void) asan_tag_access(&__ctor_list, &__ctor_end); asan_tag_access(__rodata_start, __rodata_end); asan_tag_access(__nozi_start, __nozi_end); + asan_tag_access(__exidx_start, __exidx_end); + asan_tag_access(__extab_start, __extab_end); init_run_constructors(); diff --git a/core/arch/arm/kernel/link_dummy.ld b/core/arch/arm/kernel/link_dummy.ld index 4aca773e287..04db03debca 100644 --- a/core/arch/arm/kernel/link_dummy.ld +++ b/core/arch/arm/kernel/link_dummy.ld @@ -47,6 +47,8 @@ __end_phys_nsec_ddr_section = .; __end_phys_sdp_mem_section = .; __exidx_end = .; __exidx_start = .; +__extab_end = .; +__extab_start = .; __heap1_end = .; __heap1_start = .; __heap2_end = .;