aboutsummaryrefslogtreecommitdiff
path: root/libsanitizer
AgeCommit message (Collapse)AuthorFilesLines
2014-03-07Handle backtrace_qsortRainer Orth4-1/+19
* libbacktrace/Makefile.am (libsanitizer_libbacktrace_la_SOURCES): Add ../../libbacktrace/sort.c. * libbacktrace/Makefile.in: Regenerate. * libbacktrace/backtrace-rename.h (backtrace_qsort): Define. From-SVN: r208401
2014-03-03configure.tgt: Unsupported for little endian PowerPC for now.Bill Schmidt2-0/+7
2014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * configure.tgt: Unsupported for little endian PowerPC for now. From-SVN: r208290
2014-02-04re PR sanitizer/60055 (Invalid binding of __tsan_default_options)Jakub Jelinek3-1/+8
PR sanitizer/60055 * tsan/tsan_flags.cc (__tsan_default_options): Add SANITIZER_INTERFACE_ATTRIBUTE. Backport from upstream r200747. * tsan/tsan_rtl.cc (__tsan::OnFinalize): Likewise. From-SVN: r207459
2014-02-04re PR sanitizer/60038 (AddressSanitizer CHECK failed ... "((*tls_addr + ↵Jakub Jelinek2-9/+49
*tls_size)) <= ((*stk_addr + *stk_size))" on CentOS 5.10) PR sanitizer/60038 * sanitizer_common/sanitizer_linux_libcdep.cc: Include sanitizer_atomic.h and unistd.h. (kThreadDescriptorSize): Made static, remove initializer and const, change type to atomic_uintptr_t. (ThreadDescriptorSize): Use confstr(_CS_GNU_LIBC_VERSION, ...) to query glibc version, compute kThreadDescriptorSize depending on glibc version minor number. (GetThreadStackAndTls): Use ThreadDescriptorSize() instead of kThreadDescriptorSize directly. From-SVN: r207452
2014-01-23re PR sanitizer/57316 (build failure in libsanitizer)Yury Gribov5-7/+84
2014-01-23 Yury Gribov <y.gribov@samsung.com> Jakub Jelinek <jakub@redhat.com> PR sanitizer/57316 * configure.ac: Check for missing syscalls. * Makefile.am: Likewise. * configure: Regenerate. * Makefile.in: Regenerate. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r206966
2014-01-09* sanitizer_common/sanitizer_symbolizer_libbacktrace.hJakub Jelinek13-11/+180
(LibbacktraceSymbolizer::Demangle): New declaration. * sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc (POSIXSymbolizer::Demangle): Use libbacktrace_symbolizer_'s Demangle method if possible. * sanitizer_common/sanitizer_symbolizer_libbacktrace.cc: Include "demangle.h" if SANITIZE_CP_DEMANGLE is defined. (struct CplusV3DemangleData): New type. (CplusV3DemangleCallback, CplusV3Demangle): New functions. (SymbolizeCodePCInfoCallback, SymbolizeCodeCallback, SymbolizeDataCallback): Use CplusV3Demangle. * sanitizer_common/Makefile.am (AM_CXXFLAGS): Add -DSANITIZE_CP_DEMANGLE and -I $(top_srcdir)/../include. * libbacktrace/backtrace-rename.h (cplus_demangle_builtin_types, cplus_demangle_fill_ctor, cplus_demangle_fill_dtor, cplus_demangle_fill_extended_operator, cplus_demangle_fill_name, cplus_demangle_init_info, cplus_demangle_mangled_name, cplus_demangle_operators, cplus_demangle_print, cplus_demangle_print_callback, cplus_demangle_type, cplus_demangle_v3, cplus_demangle_v3_callback, is_gnu_v3_mangled_ctor, is_gnu_v3_mangled_dtor, java_demangle_v3, java_demangle_v3_callback): Define. (__asan_internal_memcmp, __asan_internal_strncmp): New prototypes. (memcmp, strncmp): Redefine. * libbacktrace/Makefile.am (libsanitizer_libbacktrace_la_SOURCES): Add ../../libiberty/cp-demangle.c. * libbacktrace/bridge.cc (__asan_internal_memcmp, __asan_internal_strncmp): New functions. * sanitizer_common/Makefile.in: Regenerated. * libbacktrace/Makefile.in: Regenerated. * configure: Regenerated. * configure.ac: Regenerated. * config.h.in: Regenerated. From-SVN: r206477
2014-01-09Makefile.am (AM_CPPFLAGS): Add -isystem $(top_srcdir)/include/system.Jakub Jelinek8-4/+52
* sanitizer_common/Makefile.am (AM_CPPFLAGS): Add -isystem $(top_srcdir)/include/system. * sanitizer_common/Makefile.in: Regenerated. * include/system/linux/aio_abi.h: New header. * include/system/linux/mroute.h: New header. * include/system/linux/mroute6.h: New header. * include/system/linux/perf_event.h: New header. * include/system/linux/types.h: New header. From-SVN: r206476
2014-01-09re PR sanitizer/59136 (llvm-symbolizer shouldn't be started always)Jakub Jelinek24-1034/+4644
PR sanitizer/59136 libsanitizer/ * sanitizer_common/Makefile.am (AM_CXXFLAGS): If LIBBACKTRACE_SUPPORTED add -DSANITIZER_LIBBACKTRACE and -I/-include flags. * lsan/Makefile.am (liblsan_la_LIBADD): Add libsanitizer_libbacktrace.la if LIBBACKTRACE_SUPPORTED. * tsan/Makefile.am (libtsan_la_LIBADD): Likewise. * ubsan/Makefile.am (libubsan_la_LIBADD): Likewise. * asan/Makefile.am (libasan_la_LIBADD): Likewise. * Makefile.am (SUBDIRS): If LIBBACKTRACE_SUPPORTED add libbacktrace. * README.gcc: Document that also lsan and ubsan are maintained in compiler-rt upstream. * libbacktrace/Makefile.am: New file. * libbacktrace/backtrace-rename.h: New file. * libbacktrace/backtrace-supported.h.in: New file. * libbacktrace/bridge.cc: New file. * configure.ac: Add tests needed for libbacktrace build within libsanitizer. * sanitizer_common/Makefile.in: Regenerated. * lsan/Makefile.in: Regenerated. * tsan/Makefile.in: Regenerated. * ubsan/Makefile.in: Regenerated. * libbacktrace/Makefile.in: Generated. * config.h.in: Regenerated. * configure: Regenerated. * Makefile.in: Regenerated. * interception/Makefile.in: Regenerated. * asan/Makefile.in: Regenerated. * aclocal.m4: Regenerated. testsuite/ * c-c++-common/asan/strip-path-prefix-1.c: Allow also the filename:line instead of (modulename+offset) form with stripped initial / from the filename. From-SVN: r206475
2013-12-19libsanitizer: fix build on Mac 10.6Kostya Serebryany2-0/+11
From-SVN: r206113
2013-12-06Use int64 on time and clock for x32H.J. Lu2-0/+22
* sanitizer_common/sanitizer_platform_limits_posix.h (__sanitizer_shmid_ds): Use u64 on time fields for x32. (__sanitizer_clock_t): Use long long for x32. From-SVN: r205737
2013-12-06Include <sys/stat.h> if __x86_64__ is definedH.J. Lu2-1/+11
* sanitizer_common/sanitizer_platform_limits_linux.cc: Include <sys/stat.h>, instead of <asm/stat.h>, if __x86_64__ is defined. (struct___old_kernel_stat_sz): Don't check if __x86_64__ is defined. From-SVN: r205736
2013-12-05Add -lm to link_sanitizer_commonH.J. Lu3-2/+7
* configure.ac (link_sanitizer_common): Add -lm. * configure: Regenerated. From-SVN: r205710
2013-12-05Add forgotten file.Jakub Jelinek1-0/+36
From-SVN: r205701
2013-12-05libsanitizer merge from upstream r196489Kostya Serebryany18-116/+329
From-SVN: r205700
2013-12-05re PR sanitizer/59368 (libsanitizer spec file installed in the wrong place)Yury Gribov3-0/+10
2013-12-05 Yury Gribov <y.gribov@samsung.com> PR sanitizer/59368 * Makefile.am (gcc_version): Added gcc_version. * Makefile.in: Regenerate. From-SVN: r205698
2013-12-05libsanitizer merge from upstream r196090Kostya Serebryany128-1638/+4530
From-SVN: r205695
2013-11-29re PR sanitizer/59063 (ASAN: segfault in __interceptor_clock_gettime)Jakub Jelinek16-23/+258
gcc/ 2013-11-29 Jakub Jelinek <jakub@redhat.com> Yury Gribov <y.gribov@samsung.com> PR sanitizer/59063 * config/gnu-user.h: Removed old code for setting up sanitizer libs. * gcc.c: Using libsanitizer spec instead of explicit libs. gcc/testsuite/ 2013-11-29 Jakub Jelinek <jakub@redhat.com> Yury Gribov <y.gribov@samsung.com> PR sanitizer/59063 * c-c++-common/asan/pr59063-1.c: New test. * c-c++-common/asan/pr59063-2.c: Likewise. * lib/asan-dg.exp: Add path to libsanitizer.spec to cflags. * lib/ubsan-dg.exp: Likewise. libsanitizer/ 2013-11-29 Jakub Jelinek <jakub@redhat.com> Yury Gribov <y.gribov@samsung.com> PR sanitizer/59063 * libsanitizer.spec.in: Add spec file to hold link flags for various sanitizer libs. * configure.ac: Check whether clock_* routines come from librt. * asan/Makefile.am (libasan_la_LDFLAGS): Libs now come from configure.ac. * tsan/Makefile.am (libtsan_la_LDFLAGS): Likewise. * ubsan/Makefile.am (libubsan_la_LDFLAGS): Likewise. * lsan/Makefile.am (liblsan_la_LDFLAGS): Likewise. * asan/Makefile.in: Regenerate. * interception/Makefile.in: Regenerate. * lsan/Makefile.in: Regenerate. * sanitizer_common/Makefile.in: Regenerate. * tsan/Makefile.in: Regenerate. * ubsan/Makefile.in: Regenerate. * Makefile.in: Regenerate. * configure: Regenerate. Co-Authored-By: Yury Gribov <y.gribov@samsung.com> From-SVN: r205524
2013-11-28re PR sanitizer/59106 (Failure to link against static libasan)Jakub Jelinek3-2/+16
2013-11-28 Jakub Jelinek <jakub@redhat.com> Yury Gribov <y.gribov@samsung.com> PR sanitizer/59106 * ubsan/Makefile.am (AM_CXXFLAGS): Disable -frtti for files that don't need it. * ubsan/Makefile.in: Regenerated. Co-Authored-By: Yury Gribov <y.gribov@samsung.com> From-SVN: r205482
2013-11-22re PR sanitizer/59061 (Port leaksanitizer)Jakub Jelinek6-19/+149
PR sanitizer/59061 * common.opt (static-liblsan): Add. * config/gnu-user.h (STATIC_LIBLSAN_LIBS, STATIC_LIBUBSAN_LIBS): Define. * flag-types.h (enum sanitize_code): Add SANITIZE_LEAK. Renumber SANITIZE_SHIFT, SANITIZE_DIVIDE, SANITIZE_UNREACHABLE, SANITIZE_VLA, SANITIZE_RETURN. * opts.c (common_handle_option): Handle -fsanitize=leak. * gcc.c (ADD_STATIC_LIBLSAN_LIBS, LIBLSAN_SPEC): Define. (LIBUBSAN_SPEC): Don't test LIBUBSAN_EARLY_SPEC. (LIBUBSAN_EARLY_SPEC): Remove. (SANITIZER_EARLY_SPEC): Don't do anything for libubsan. (SANITIZER_SPEC): Add -fsanitize=leak handling. (sanitize_spec_function): Handle %sanitize(leak). * doc/invoke.texi (-static-liblsan, -fsanitize=leak): Document. * c-c++-common/asan/no-redundant-instrumentation-7.c: Fix cleanup-tree-dump directive. * configure.tgt: Set LSAN_SUPPORTED=yes for x86_64-linux. * configure.ac (LSAN_SUPPORTED): New AM_CONDITIONAL. * configure: Regenerated. * lsan/Makefile.am (toolexeclib_LTLIBRARIES, lsan_files, liblsan_la_SOURCES, liblsan_la_LIBADD, liblsan_la_LDFLAGS): Add. * lsan/Makefile.in: Regenerated. From-SVN: r205290
2013-11-22sanitizer_linux.cc (__sanitizer): Grab one change from upstream to fix build.Mike Stump2-3/+8
* sanitizer_common/sanitizer_linux.cc (__sanitizer): Grab one change from upstream to fix build. From-SVN: r205285
2013-11-18re PR sanitizer/59106 (Failure to link against static libasan)Yury Gribov11-10/+24
libsanitizer: 2013-11-18 Yury Gribov <y.gribov@samsung.com> PR sanitizer/59106 * asan/Makefile.am (AM_CXXFLAGS): Add -fno-rtti. * interception/Makefile.am (AM_CXXFLAGS): Likewise. * lsan/Makefile.am (AM_CXXFLAGS): Likewise. * sanitizer_common/Makefile.am (AM_CXXFLAGS): Likewise. * tsan/Makefile.am (AM_CXXFLAGS): Likewise. * asan/Makefile.in: Regenerate. * interception/Makefile.in: Regenerate. * tsan/Makefile.in: Regenerate. * lsan/Makefile.in: Regenerate. * sanitizer_common/Makefile.in: Regenerate. gcc/testsuite: 2013-11-18 Yury Gribov <y.gribov@samsung.com> PR sanitizer/59106 * c-c++-common/asan/pr59106.c: New test. From-SVN: r204934
2013-11-15fix PR sanitizer/58994Kostya Serebryany2-6/+18
From-SVN: r204838
2013-11-13re PR sanitizer/59009 (libsanitizer merge from upstream r191666 breaks ↵Peter Bergner2-0/+8
bootstrap on powerpc64-linux and aarch64-linux) PR sanitizer/59009 * sanitizer_common/sanitizer_platform_limits_posix.cc: Temporarily ifdef out more source. From-SVN: r204757
2013-11-13sanitizer_platform_limits_linux.cc: Temporarily ifdef out almost the whole ↵Jakub Jelinek3-0/+12
source. * sanitizer_common/sanitizer_platform_limits_linux.cc: Temporarily ifdef out almost the whole source. * sanitizer_common/sanitizer_common_syscalls.inc: Likewise. From-SVN: r204726
2013-11-06Check __x86_64__ for FPU stateH.J. Lu2-1/+8
PR sanitizer/59018 * sanitizer_common/sanitizer_platform_limits_posix.cc (struct_user_fpxregs_struct_sz): Initialize to 0 if __x86_64__ is defined. From-SVN: r204483
2013-11-06Use 64-bit system types for x86-64H.J. Lu3-4/+20
PR sanitizer/59018 * sanitizer_common/sanitizer_platform_limits_linux.cc (struct_kernel_stat64_sz): Initialize to 0 if __x86_64__ is defined. * sanitizer_common/sanitizer_platform_limits_posix.h (__sanitizer_dirent): Use 64-bit d_ino/d_off if __x86_64__ is defined. (__sanitizer___kernel_uid_t): Typedef as unsigned if __x86_64__ is defined. (__sanitizer___kernel_gid_t): Likewise. (__sanitizer___kernel_off_t): Typedef as long long if __x86_64__ is defined. From-SVN: r204482
2013-11-06Fix internal_clone for x32H.J. Lu2-8/+15
PR sanitizer/59018 * sanitizer_common/sanitizer_linux.cc (internal_clone): Allocate 2 64-bit integers to save and restore fn and arg. Properly load newtls/child_tidptr into r8/r10. From-SVN: r204481
2013-11-06Cast pointers to uptr for 64-bit syscallsH.J. Lu2-19/+29
PR sanitizer/59018 * sanitizer_common/sanitizer_linux.cc (internal_mmap, internal_munmap, internal_open, internal_read, internal_write, internal_stat, internal_lstat, internal_fstat, internal_readlink, internal_unlink, internal_execve, NanoTime, BlockingMutex::Lock, BlockingMutex::Unlock, internal_ptrace, internal_getdents, internal_sigaltstack): Cast pointers to uptr for 64-bit syscalls. From-SVN: r204480
2013-11-04libsanitizer merge from upstream r191666Kostya Serebryany163-4837/+21106
This may break gcc-asan on Mac, will follow up separately. From-SVN: r204368
2013-10-23Fix up ChangeLog entries (name, e-mail, formatting, otherwise).Gerald Pfeifer1-4/+4
From-SVN: r203992
2013-09-20libtool.m4 (_LT_ENABLE_LOCK <ld -m flags>): Remove non-canonical ppc host match.Alan Modra2-5/+15
* libtool.m4 (_LT_ENABLE_LOCK <ld -m flags>): Remove non-canonical ppc host match. Support little-endian powerpc linux hosts. Regenerate configure throughout. From-SVN: r202773
2013-09-01darwin.h (LINK_COMMAND_SPEC_A): Revise sanitizer specs to include ↵Iain Sandoe3-4/+16
sanitize(undefined). gcc: * config/darwin.h (LINK_COMMAND_SPEC_A): Revise sanitizer specs to include sanitize(undefined). libsanitizer: * ubsan/Makefile.am (libubsan_la_LIBADD): Revise to omit libinterception.la for Darwin. * ubsan/Makefile.in: Regenerate. From-SVN: r202144
2013-08-30Merge ubsan into trunk.Marek Polacek22-21/+2252
From-SVN: r202113
2013-06-03sanitizer_linux.cc (MemoryMappingLayout::Next): Cherry pick upstream r182922.Christophe Lyon2-1/+8
2013-06-03 Christophe Lyon <christophe.lyon@linaro.org> * sanitizer_common/sanitizer_linux.cc (MemoryMappingLayout::Next): Cherry pick upstream r182922. From-SVN: r199606
2013-05-07arm.c (arm_asan_shadow_offset): New function.Christophe Lyon2-0/+6
2013-05-06 Christophe Lyon <christophe.lyon@linaro.org> gcc/ * config/arm/arm.c (arm_asan_shadow_offset): New function. (TARGET_ASAN_SHADOW_OFFSET): Define. * config/arm/linux-eabi.h (ASAN_CC1_SPEC): Define. (LINUX_OR_ANDROID_CC): Add ASAN_CC1_SPEC. libsanitizer/ * configure.tgt: Add ARM pattern. testsuite/ * lib/target-supports.exp (check_effective_target_hw): New function. * c-c++-common/asan/clone-test-1.c: Call check_effective_target_hw. * c-c++-common/asan/rlimit-mmap-test-1.c: Likewise. * c-c++-common/asan/heap-overflow-1.c: Update regexps to accept possible decorations. * c-c++-common/asan/null-deref-1.c: Likewise. * c-c++-common/asan/stack-overflow-1.c: Likewise. * c-c++-common/asan/strncpy-overflow-1.c: Likewise. * c-c++-common/asan/use-after-free-1.c: Likewise. * g++.dg/asan/deep-thread-stack-1.C: Likewise. * g++.dg/asan/large-func-test-1.C: Likewise. From-SVN: r198683
2013-03-22Fix up ChangeLog entry date.Jakub Jelinek1-1/+1
From-SVN: r196965
2013-03-22re PR other/43620 ([4.3 Release Blocker] Uploading to gnu.org will fail due ↵Jakub Jelinek7-379/+38
to automake security issue) PR other/43620 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist. * Makefile.in: Regenerated. * asan/Makefile.in: Regenerated. * interception/Makefile.in: Regenerated. * sanitizer_common/Makefile.in: Regenerated. * tsan/Makefile.in: Regenerated. From-SVN: r196964
2013-02-28asan_mapping.h (kMidMemEnd): Increase to 0x4fffffffffULL.Jakub Jelinek3-7/+13
* asan/asan_mapping.h (kMidMemEnd): Increase to 0x4fffffffffULL. * asan/asan_rtl.cc (__asan_init): Increase kMidMemEnd to 0x4fffffffffULL. From-SVN: r196355
2013-02-22re PR sanitizer/56393 (SIGSEGV when -fsanitize=address and dynamic lib with ↵Jakub Jelinek5-26/+84
global objects) PR sanitizer/56393 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Link in libasan_preinit.o if not linking a shared library. * lib/asan-dg.exp (asan_link_flags): Add -B${gccpath}/libsanitizer/asan/ to flags. * asan/Makefile.am (nodist_toolexeclib_HEADERS): Set to libasan_preinit.o. (libasan_preinit.o): Depend on asan_preinit.o. * asan/Makefile.in: Regenerated. * asan/asan_preinit.cc: New file, synced from upstream. * asan/asan_rtl.cc: Remove preinit stuff, synced from upstream. From-SVN: r196222
2013-02-21Makefile.am (libasan_la_SOURCES): Remove deprecated ↵Jack Howarth4-23/+10
dynamic/asan_interceptors_dynamic.cc. * asan/Makefile.am (libasan_la_SOURCES): Remove deprecated dynamic/asan_interceptors_dynamic.cc. * asan/Makefile.in: Regenerated. * merge.sh: Remove merge of deprecated lib/asan/dynamic. From-SVN: r196211
2013-02-21asan_rtl.cc (__asan_preinit): Don't add if PIC macro is defined.Jakub Jelinek2-2/+7
* asan/asan_rtl.cc (__asan_preinit): Don't add if PIC macro is defined. Add used attribute. From-SVN: r196205
2013-02-21libsanitizer merge from upstream r175733Kostya Serebryany38-224/+760
From-SVN: r196201
2013-02-14OFF_T: Merged from upstream r175140H.J. Lu2-4/+10
PR bootstrap/56327 * interception/interception.h (OFF_T): Merged from upstream r175140. From-SVN: r196054
2013-02-13i386.c (ix86_asan_shadow_offset): Revert last change.Jakub Jelinek2-5/+5
* config/i386/i386.c (ix86_asan_shadow_offset): Revert last change. * asan/asan_mapping.h (SHADOW_OFFSET): Set to (1ULL << 44) on x86-64. From-SVN: r196017
2013-02-13libsanitizer merge from upstream r175049Kostya Serebryany83-1023/+2124
From-SVN: r196009
2013-02-11configure.tgt: Disable build on darwin9 and earlier.Jack Howarth2-1/+5
2013-02-11 Jack Howarth <howarth@bromo.med.uc.edu> * configure.tgt: Disable build on darwin9 and earlier. From-SVN: r195958
2013-01-23libsanitizer merge from upstream r173241Kostya Serebryany56-1059/+1559
From-SVN: r195404
2013-01-16Makefile.am (AM_CXXFLAGS): Remove -Wno-c99-extensions.Jakub Jelinek7-9/+16
* sanitizer_common/Makefile.am (AM_CXXFLAGS): Remove -Wno-c99-extensions. * interception/Makefile.am (AM_CXXFLAGS): Likewise. * asan/Makefile.am (AM_CXXFLAGS): Likewise. * sanitizer_common/Makefile.in: Regenerated. * interception/Makefile.in: Regenerated. * asan/Makefile.in: Regenerated. From-SVN: r195229
2013-01-10re PR sanitizer/55488 (Implement cold calls in tsan run-time)Wei Mi4-5/+51
2013-01-10 Wei Mi <wmi@google.com> libsanitizer/ PR sanitizer/55488 * tsan/Makefile.am: Add tsan_rtl_amd64.S. * tsan/Makefile.in: Regenerated. * tsan/tsan_rtl.h: Enable HACKY_CALL. From-SVN: r195092
2013-01-10libsanitizer mege from upstream r171973Kostya Serebryany89-864/+4166
From-SVN: r195083