Have the sanitizers trap rather than abort.

abort() seems friendlier, but in practice it puts a couple of irrelevant
libc.so frames on the top of the stack trace and clobbers all the
registers that might have helped remotely debug a sanitizer failure.
Let's switch to trapping directly in the sanitized code instead.

Bug: http://b/298741930
Test: treehugger
Change-Id: I4fca63cb42bfba16a934c1fa88b08697faf3be41
This commit is contained in:
Elliott Hughes 2023-10-06 22:34:36 +00:00
parent b89b3f6108
commit 40f0c5cad3

View file

@ -404,7 +404,6 @@ ifneq ($(my_sanitize),)
my_ldflags += -fsanitize=$(fsanitize_arg) my_ldflags += -fsanitize=$(fsanitize_arg)
else else
my_cflags += -fsanitize-trap=all my_cflags += -fsanitize-trap=all
my_cflags += -ftrap-function=abort
ifneq ($(filter address thread,$(my_sanitize)),) ifneq ($(filter address thread,$(my_sanitize)),)
my_cflags += -fno-sanitize-trap=address,thread my_cflags += -fno-sanitize-trap=address,thread
my_shared_libraries += libdl my_shared_libraries += libdl