gcc/ * doc/invoke.texi: Document the options. * flag-types.h (enum sanitize_code): Add SANITIZE_POINTER_COMPARE and SANITIZE_POINTER_SUBTRACT. * ipa-inline.c (sanitize_attrs_match_for_inline_p): Add handling of SANITIZE_POINTER_COMPARE and SANITIZE_POINTER_SUBTRACT. * opts.c: Define new sanitizer options. * sanitizer.def (BUILT_IN_ASAN_POINTER_COMPARE): Likewise. (BUILT_IN_ASAN_POINTER_SUBTRACT): Likewise. gcc/c/ * c-typeck.c (pointer_diff): Add new argument and instrument pointer subtraction. (build_binary_op): Similar for pointer comparison. gcc/cp/ * typeck.c (pointer_diff): Add new argument and instrument pointer subtraction. (cp_build_binary_op): Create compound expression if doing an instrumentation. gcc/testsuite/ * c-c++-common/asan/pointer-compare-1.c: New test. * c-c++-common/asan/pointer-compare-2.c: New test. * c-c++-common/asan/pointer-subtract-1.c: New test. * c-c++-common/asan/pointer-subtract-2.c: New test. * c-c++-common/asan/pointer-subtract-3.c: New test. * c-c++-common/asan/pointer-subtract-4.c: New test. libsanitizer/ * asan/asan_descriptions.cc: Cherry-pick upstream r319668. * asan/asan_descriptions.h: Likewise. * asan/asan_report.cc: Likewise. * asan/asan_thread.cc: Likewise. * asan/asan_thread.h: Likewise. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r255404
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
aggressive-opts.c | Loading commit data... | |
alloca_big_alignment.c | Loading commit data... | |
alloca_detect_custom_size.c | Loading commit data... | |
alloca_instruments_all_paddings.c | Loading commit data... | |
alloca_loop_unpoisoning.c | Loading commit data... | |
alloca_overflow_partial.c | Loading commit data... | |
alloca_overflow_right.c | Loading commit data... | |
alloca_safe_access.c | Loading commit data... | |
alloca_underflow_left.c | Loading commit data... | |
asan-interface-1.c | Loading commit data... | |
attrib-1.c | Loading commit data... | |
bitfield-1.c | Loading commit data... | |
bitfield-2.c | Loading commit data... | |
bitfield-3.c | Loading commit data... | |
bitfield-4.c | Loading commit data... | |
bitfield-5.c | Loading commit data... | |
clone-test-1.c | Loading commit data... | |
force-inline-opt0-1.c | Loading commit data... | |
global-overflow-1.c | Loading commit data... | |
halt_on_error-1.c | Loading commit data... | |
halt_on_error-2.c | Loading commit data... | |
heap-overflow-1.c | Loading commit data... | |
inc.c | Loading commit data... | |
instrument-with-calls-1.c | Loading commit data... | |
instrument-with-calls-2.c | Loading commit data... | |
instrument-with-calls-3.c | Loading commit data... | |
kasan-alloca-1.c | Loading commit data... | |
kasan-alloca-2.c | Loading commit data... | |
kasan-recover-1.c | Loading commit data... | |
kasan-recover-2.c | Loading commit data... | |
memcmp-1.c | Loading commit data... | |
memcmp-2.c | Loading commit data... | |
misalign-1.c | Loading commit data... | |
misalign-2.c | Loading commit data... | |
no-asan-check-glob.c | Loading commit data... | |
no-asan-globals.c | Loading commit data... | |
no-asan-stack.c | Loading commit data... | |
no-instrument-reads.c | Loading commit data... | |
no-instrument-writes.c | Loading commit data... | |
no-redundant-instrumentation-1.c | Loading commit data... | |
no-redundant-instrumentation-10.c | Loading commit data... | |
no-redundant-instrumentation-11.c | Loading commit data... | |
no-redundant-instrumentation-12.c | Loading commit data... | |
no-redundant-instrumentation-13.c | Loading commit data... | |
no-redundant-instrumentation-14.c | Loading commit data... | |
no-redundant-instrumentation-15.c | Loading commit data... | |
no-redundant-instrumentation-3.c | Loading commit data... | |
no-redundant-instrumentation-4.c | Loading commit data... | |
no-redundant-instrumentation-5.c | Loading commit data... | |
no-redundant-instrumentation-6.c | Loading commit data... | |
no-redundant-instrumentation-7.c | Loading commit data... | |
no-redundant-instrumentation-8.c | Loading commit data... | |
no-redundant-odr-indicators-1.c | Loading commit data... | |
no-use-after-return.c | Loading commit data... | |
null-deref-1.c | Loading commit data... | |
pointer-compare-1.c | Loading commit data... | |
pointer-compare-2.c | Loading commit data... | |
pointer-subtract-1.c | Loading commit data... | |
pointer-subtract-2.c | Loading commit data... | |
pointer-subtract-3.c | Loading commit data... | |
pointer-subtract-4.c | Loading commit data... | |
pr56330.c | Loading commit data... | |
pr59029.c | Loading commit data... | |
pr59063-1.c | Loading commit data... | |
pr59063-2.c | Loading commit data... | |
pr61530.c | Loading commit data... | |
pr62089.c | Loading commit data... | |
pr62140-1.c | Loading commit data... | |
pr62140-2.c | Loading commit data... | |
pr63316.c | Loading commit data... | |
pr63638.c | Loading commit data... | |
pr63888.c | Loading commit data... | |
pr64820.c | Loading commit data... | |
pr70541.c | Loading commit data... | |
pr70712.c | Loading commit data... | |
pr71480.c | Loading commit data... | |
pr79944.c | Loading commit data... | |
pr80308.c | Loading commit data... | |
pr81697.c | Loading commit data... | |
red-align-1.c | Loading commit data... | |
red-align-2.c | Loading commit data... | |
rlimit-mmap-test-1.c | Loading commit data... | |
sanitize-all-1.c | Loading commit data... | |
sanity-check-pure-c-1.c | Loading commit data... | |
shadow-offset-1.c | Loading commit data... | |
sleep-before-dying-1.c | Loading commit data... | |
stack-overflow-1.c | Loading commit data... | |
strip-path-prefix-1.c | Loading commit data... | |
strlen-overflow-1.c | Loading commit data... | |
strncpy-overflow-1.c | Loading commit data... | |
swapcontext-test-1.c | Loading commit data... | |
use-after-free-1.c | Loading commit data... | |
use-after-return-1.c | Loading commit data... | |
user-section-1.c | Loading commit data... | |
user-section-2.c | Loading commit data... | |
user-section-3.c | Loading commit data... |