From 83e6fca8bee9576c52ed1150dfefcdfe18e7594e Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Wed, 1 Nov 2023 05:00:43 +0100 Subject: [PATCH] Add UndefinedBehaviorSanitizer support --- Makefile | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Makefile b/Makefile index 9f84859..cafd3fd 100644 --- a/Makefile +++ b/Makefile @@ -50,6 +50,8 @@ prefix=/usr/local #CONFIG_ASAN=y # use memory sanitizer #CONFIG_MSAN=y +# use UB sanitizer +#CONFIG_UBSAN=y # include the code for BigInt/BigFloat/BigDecimal and math mode CONFIG_BIGNUM=y @@ -133,6 +135,10 @@ ifdef CONFIG_MSAN CFLAGS+=-fsanitize=memory -fno-omit-frame-pointer LDFLAGS+=-fsanitize=memory -fno-omit-frame-pointer endif +ifdef CONFIG_UBSAN +CFLAGS+=-fsanitize=undefined -fno-omit-frame-pointer +LDFLAGS+=-fsanitize=undefined -fno-omit-frame-pointer +endif ifdef CONFIG_WIN32 LDEXPORT= else @@ -163,6 +169,7 @@ endif ifeq ($(CROSS_PREFIX),) ifndef CONFIG_ASAN ifndef CONFIG_MSAN +ifndef CONFIG_UBSAN PROGS+=examples/hello examples/hello_module examples/test_fib ifndef CONFIG_DARWIN PROGS+=examples/fib.so examples/point.so @@ -170,6 +177,7 @@ endif endif endif endif +endif all: $(OBJDIR) $(OBJDIR)/quickjs.check.o $(OBJDIR)/qjs.check.o $(PROGS)