aboutsummaryrefslogtreecommitdiff
path: root/libsanitizer
AgeCommit message (Collapse)AuthorFilesLines
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
2013-01-07Remove "-I" from LIBSTDCXX_RAW_CXX_LDFLAGSH.J. Lu6-9/+26
config/ * libstdc++-raw-cxx.m4 (GCC_LIBSTDCXX_RAW_CXX_FLAGS): Remove "-I" from LIBSTDCXX_RAW_CXX_LDFLAGS. libjava/ * Makefile.am (lib_gnu_awt_xlib_la_LDFLAGS): Replace LIBSTDCXX_RAW_CXX_LDLAGS with LIBSTDCXX_RAW_CXX_LDFLAGS. * Makefile.in: Regenerated. libsanitizer/ * asan/Makefile.am (libasan_la_LIBADD): Replace LIBSTDCXX_RAW_CXX_LDLAGS with LIBSTDCXX_RAW_CXX_LDFLAGS. * tsan/Makefile.am (libtsan_la_LIBADD): Likewise. * Makefile.in: Regenerated. * configure: Likewise. * asan/Makefile.in: Likewise. * interception/Makefile.in: Likewise. * sanitizer_common/Makefile.in: Likewise. * tsan/Makefile.in: Likewise. From-SVN: r194989
2012-12-12Restore AM_MAKEFLAGS in libsanitizerH.J. Lu11-0/+397
* Makefile.am (AM_MAKEFLAGS): Restored. * asan/Makefile.am: Likewise. * interception/Makefile.am: Likewise. * sanitizer_common/Makefile.am: Likewise. * tsan/Makefile.am: Likewise. * Makefile.in: Regenerated. * asan/Makefile.in: Likewise. * interception/Makefile.in: Likewise. * sanitizer_common/Makefile.in: Likewise. * tsan/Makefile.in: Likewise. From-SVN: r194452
2012-12-12Restore MAKEOVERRIDES in libsanitizerH.J. Lu11-0/+28
* Makefile.am (MAKEOVERRIDES): Restored. * asan/Makefile.am: Likewise. * interception/Makefile.am: Likewise. * sanitizer_common/Makefile.am: Likewise. * tsan/Makefile.am: Likewise. * Makefile.in: Regenerated. * asan/Makefile.in: Likewise. * interception/Makefile.in: Likewise. * sanitizer_common/Makefile.in: Likewise. * tsan/Makefile.in: Likewise. From-SVN: r194450
2012-12-12Use libstdc++-raw-cxx.m4 in libjavaH.J. Lu9-14/+35
config/ * libstdc++-raw-cxx.m4 (GCC_LIBSTDCXX_RAW_CXX_FLAGS): Also AC_SUBST LIBSTDCXX_RAW_CXX_LDFLAGS. libjava/ * Makefile.am (lib_gnu_awt_xlib_la_CPPFLAGS): Use $(LIBSTDCXX_RAW_CXX_CXXLAGS). (lib_gnu_awt_xlib_la_LDFLAGS): Use $(LIBSTDCXX_RAW_CXX_LDLAGS). * configure.ac (GCC_LIBSTDCXX_RAW_CXX_FLAGS): New. * aclocal.m4: Regenerated. * Makefile.in:Likewise. * configure: Likewise. libsanitizer/ * asan/Makefile.am (libasan_la_LIBADD): Use $(LIBSTDCXX_RAW_CXX_LDLAGS). * tsan/Makefile.am (libtsan_la_LIBADD): Likewise. * Makefile.in: Regenerated. * configure: Likewise. * asan/Makefile.in: Likewise. * interception/Makefile.in: Likewise. * sanitizer_common/Makefile.in: Likewise. * tsan/Makefile.in: Likewise. From-SVN: r194448
2012-12-12Remove AM_MAKEFLAGS/MAKEOVERRIDES from libsanitizerH.J. Lu11-400/+14
* Makefile.am (AM_MAKEFLAGS): Removed. (MAKEOVERRIDES): Likewise. * asan/Makefile.am: Likewise. * interception/Makefile.am: Likewise. * sanitizer_common/Makefile.am: Likewise. * tsan/Makefile.am: Likewise. * Makefile.in: Regenerated. * asan/Makefile.in: Likewise. * interception/Makefile.in: Likewise. * sanitizer_common/Makefile.in: Likewise. * tsan/Makefile.in: Likewise. From-SVN: r194447
2012-12-11Add libstdc++-raw-cxx.m4 and use it in libsanitizerH.J. Lu14-34/+101
config/ PR sanitizer/55533 * libstdc++-raw-cxx.m4: New file. libsanitizer/ PR sanitizer/55533 * Makefile.am (AM_MAKEFLAGS): Remove CC and CXX. * configure.ac (GCC_LIBSTDCXX_RAW_CXX_FLAGS): New. * asan/Makefile.am (AM_CXXFLAGS): Add $(LIBSTDCXX_RAW_CXX_CXXFLAGS). (AM_MAKEFLAGS): Remove CC and CXX. * interception/Makefile.am: Likewise. * sanitizer_common/Makefile.am: Likewise. * tsan/Makefile.am: Likewise. * Makefile.in: Regenerated. * aclocal.m4: Likewise. * configure: Likewise. * asan/Makefile.in: Likewise. * interception/Makefile.in: Likewise. * sanitizer_common/Makefile.in: Likewise. * tsan/Makefile.in: Likewise. From-SVN: r194424
2012-12-06configure.tgt: Enable build on powerpc*-linux.Peter Bergner2-0/+6
libsanitizer/ * configure.tgt: Enable build on powerpc*-linux. gcc/ * config/rs6000/sysv4.h (TARGET_ASAN_SHADOW_OFFSET): Define. * config/rs6000/rs6000.c (rs6000_asan_shadow_offset): New function. * config/rs6000/rs6000.h (FRAME_GROWS_DOWNWARD): Disable if using ASAN. From-SVN: r194273
2012-12-06Fix PR55599/sanitizer by disabling static libasan on darwinJack Howarth3-2/+8
From-SVN: r194257
2012-12-06[libsanitizer] merge from upstream r169392Kostya Serebryany7-19/+36
From-SVN: r194255
2012-12-05[libsanitizer] merge from upstream r169371Kostya Serebryany44-344/+863
From-SVN: r194221
2012-12-04Fix up two ChangeLog entries.Jakub Jelinek1-2/+2
From-SVN: r194132
2012-12-04[libsanitizer] Fix PR55521 by switching libsanitizer from mach_override to ↵Kostya Serebryany16-1192/+206
mac interpose functions on darwin From-SVN: r194120
2012-11-29Don't use -I for libstdc++-v3 header filesH.J. Lu14-80/+49
* Makefile.am (AM_MAKEFLAGS): Restore CC and CXX. * configure.ac (ACX_NONCANONICAL_TARGET): Removed. * asan/Makefile.am (AM_CXXFLAGS): Remove -I for libstdc++-v3 header files. (AM_MAKEFLAGS): Restore CC and CXX. * interception/Makefile.am: Likewise. * sanitizer_common/Makefile.am: Likewise. * tsan/Makefile.am: Likewise. * Makefile.in: Regenerated. * aclocal.m4: Likewise. * configure: Likewise. * asan/Makefile.in: Likewise. * interception/Makefile.in: Likewise. * sanitizer_common/Makefile.in: Likewise. * tsan/Makefile.in: Likewise. From-SVN: r193951
2012-11-29Use explicit -I for libstdc++-v3 header filesH.J. Lu14-31/+98
* Makefile.am (AM_MAKEFLAGS): Remove CC and CXX. * configure.ac (ACX_NONCANONICAL_TARGET): New. * asan/Makefile.am (AM_CXXFLAGS): Add -I for libstdc++-v3 header files. (AM_MAKEFLAGS): Remove CC and CXX. * interception/Makefile.am: Likewise. * sanitizer_common/Makefile.am: Likewise. * tsan/Makefile.am: Likewise. * Makefile.in: Regenerated. * aclocal.m4: Likewise. * configure: Likewise. * asan/Makefile.in: Likewise. * interception/Makefile.in: Likewise. * sanitizer_common/Makefile.in: Likewise. * tsan/Makefile.in: Likewise. From-SVN: r193949
2012-11-27[libsanitizer] merge from upstream r168699Kostya Serebryany26-158/+415
From-SVN: r193849
2012-11-24[libsanitizer] add mach_override and enable libsanitizer on darwinJack Howarth9-7/+1210
From-SVN: r193781