lib: Add ASan support to romstage on x86 arch
This patch adds ASan support to romstage on x86 architecture. A Kconfig option is added to enable ASan in romstage. Compiler flags are updated. A memory space representing the shadow region is reserved in linker section. And a function call to asan_init() is added to initialize shadow region when romstage loads. Change-Id: I67ebfb5e8d602e865b1f5c874860861ae4e54381 Signed-off-by: Harshit Sharma <harshitsharmajs@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/43604 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
This commit is contained in:
committed by
Patrick Georgi
parent
9c88fb8df0
commit
a6ebe08333
@@ -49,6 +49,10 @@ debug_spinloop:
|
||||
#if CONFIG(IDT_IN_EVERY_STAGE)
|
||||
call exception_init
|
||||
#endif
|
||||
|
||||
#if CONFIG(ASAN_IN_ROMSTAGE)
|
||||
call asan_init
|
||||
#endif
|
||||
call car_stage_entry
|
||||
|
||||
/* Expect to never return. */
|
||||
|
@@ -72,8 +72,12 @@
|
||||
*(.sbss.*)
|
||||
. = ALIGN(ARCH_POINTER_ALIGN_SIZE);
|
||||
_ebss = .;
|
||||
_car_unallocated_start = .;
|
||||
|
||||
#if ENV_ROMSTAGE && CONFIG(ASAN_IN_ROMSTAGE)
|
||||
_shadow_size = (_ebss - _car_region_start) >> 3;
|
||||
REGION(asan_shadow, ., _shadow_size, ARCH_POINTER_ALIGN_SIZE)
|
||||
#endif
|
||||
_car_unallocated_start = .;
|
||||
_car_region_end = . + CONFIG_DCACHE_RAM_SIZE - (. - _car_region_start);
|
||||
}
|
||||
. = _car_region_end;
|
||||
|
Reference in New Issue
Block a user