lib: Add ASan support to ramstage on x86 arch
This patch adds address sanitizer module to the library and reserves a linker section representing the shadow region for ramstage. Also, it adds an instruction to initialize shadow region on x86 architecture when ramstage is loaded. Change-Id: Ica06bd2be78fcfc79fa888721ed920d4e8248f3b Signed-off-by: Harshit Sharma <harshitsharmajs@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/42496 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
3b9cc859ff
commit
9c88fb8df0
@ -51,7 +51,7 @@
|
||||
_etext = .;
|
||||
} : to_load
|
||||
|
||||
#if ENV_RAMSTAGE && CONFIG(COVERAGE)
|
||||
#if ENV_RAMSTAGE && (CONFIG(COVERAGE) || CONFIG(ASAN_IN_RAMSTAGE))
|
||||
.ctors . : {
|
||||
. = ALIGN(0x100);
|
||||
__CTOR_LIST__ = .;
|
||||
@ -126,6 +126,11 @@
|
||||
}
|
||||
#endif
|
||||
|
||||
#if ENV_RAMSTAGE && CONFIG(ASAN_IN_RAMSTAGE)
|
||||
_shadow_size = (_eheap - _data) >> 3;
|
||||
REGION(asan_shadow, ., _shadow_size, ARCH_POINTER_ALIGN_SIZE)
|
||||
#endif
|
||||
|
||||
_eprogram = .;
|
||||
|
||||
/* Discard the sections we don't need/want */
|
||||
|
Reference in New Issue
Block a user