add portable *SAN bot
This would have caught my bug:
==11454==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffd28d75191
at pc 0x0000005365f2 bp 0x7ffd28d6eb70 sp 0x7ffd28d6eb68
WRITE of size 4 at 0x7ffd28d75191 thread T0
#0 0x5365f1 (/home/mtklein/skcms/out/clang.xsan-portable/tests+0x5365f1)
#1 0x524b5d (/home/mtklein/skcms/out/clang.xsan-portable/tests+0x524b5d)
#2 0x51e3fd (/home/mtklein/skcms/out/clang.xsan-portable/tests+0x51e3fd)
#3 0x53c886 (/home/mtklein/skcms/out/clang.xsan-portable/tests+0x53c886)
#4 0x7f8d92d16b16 (/lib/x86_64-linux-gnu/libc.so.6+0x22b16)
#5 0x41d3d9 (/home/mtklein/skcms/out/clang.xsan-portable/tests+0x41d3d9)
Address 0x7ffd28d75191 is located in stack of thread T0 at offset 22641 in frame
#0 0x53947f (/home/mtklein/skcms/out/clang.xsan-portable/tests+0x53947f)
I need to dig a little deeper into unsigned integer overflow
in half<->float math before we can turn on -fsanitize=integer.
Change-Id: Id85fd3f2616df02556d8f04141476a3efe74d158
Reviewed-on: https://skia-review.googlesource.com/144482
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
diff --git a/build.ninja b/build.ninja
index ddc17ea..770c94c 100644
--- a/build.ninja
+++ b/build.ninja
@@ -10,6 +10,7 @@
subninja build/clang.portable
subninja build/clang.tiny
subninja build/clang.xsan
+subninja build/clang.xsan-portable
subninja build/gcc
subninja build/gcc.avx512
diff --git a/build/clang.xsan-portable b/build/clang.xsan-portable
new file mode 100644
index 0000000..f0ccef7
--- /dev/null
+++ b/build/clang.xsan-portable
@@ -0,0 +1,6 @@
+mode = .xsan-portable
+extra_cflags = -fsanitize=address,undefined -fno-sanitize-recover=all -DSKCMS_PORTABLE
+extra_ldflags = -fsanitize=address,undefined
+include build/clang
+
+# TODO: add -fsanitize=integer