James Clarke
942136a43d
re PR sanitizer/78992 (Incorrect sigaction definition on 32-bit sparc)
...
PR sanitizer/78992
* sanitizer_common/sanitizer_platform_limits_posix.h
(struct __sanitizer_sigaction): Cherry-pick upstream r291561.
From-SVN: r244275
2017-01-10 16:22:56 +01:00
Maxim Ostapenko
d61ed91ece
re PR sanitizer/78532 (libsanitizer fails to build on sparc64-linux-gnu)
...
PR sanitizer/78532
* sanitizer_common/sanitizer_platform_limits_posix.h
(__sanitizer_sigaction): Adjust for sparc targets and various Glibc
versions.
From-SVN: r243014
2016-11-30 14:31:07 +02:00
Rainer Orth
97448adf21
Fix libsanitizer build on OS X 10.1[01], macOS 10.12 (PR sanitizer/78267)
...
fixincludes:
PR sanitizer/78267
* inclhack.def (darwin_availabilityinternal, darwin_os_trace_1)
(darwin_os_trace_2, darwin_os_trace_3): New fixes.
(hpux_stdint_least_fast): Remove spurious _EOFix_.
* fixincl.x: Regenerate.
* tests/bases/AvailabilityInternal.h: New file.
* tests/bases/os/trace.h: New file.
2016-11-20 Jack Howarth <howarth.at.gcc@gmail.com>
libsanitizer:
PR sanitizer/78267
* sanitizer_common/sanitizer_mac.cc: Include <os/trace.h> only if
compiler supports blocks extension.
From-SVN: r242633
2016-11-20 10:49:47 +00:00
Maxim Ostapenko
789306de0f
sanitizer_stacktrace.cc (GetCanonicFrame): Assume we compiled code with GCC when extracting the caller PC for ARM if...
...
libsanitizer/
* sanitizer_common/sanitizer_stacktrace.cc (GetCanonicFrame): Assume we
compiled code with GCC when extracting the caller PC for ARM if no
valid frame pointer is available.
From-SVN: r241980
2016-11-09 00:07:50 +02:00
Maxim Ostapenko
fe7913f688
re PR sanitizer/63958 (bootstrap failure in the sanitizer libs on sparc-linux-gnu)
...
PR sanitizer/63958
Reapply:
2014-10-14 David S. Miller <davem@davemloft.net>
* sanitizer_common/sanitizer_platform_limits_linux.cc (time_t):
Define at __kernel_time_t, as needed for sparc.
(struct __old_kernel_stat): Don't check if __sparc__ is defined.
* libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
(__sanitizer): Define struct___old_kernel_stat_sz,
struct_kernel_stat_sz, and struct_kernel_stat64_sz for sparc.
(__sanitizer_ipc_perm): Adjust for sparc targets.
(__sanitizer_shmid_ds): Likewsie.
(__sanitizer_sigaction): Likewise.
(IOC_SIZE): Likewsie.
From-SVN: r241978
2016-11-09 00:06:02 +02:00
Maxim Ostapenko
1018981977
All source files: Merge from upstream 285547.
...
libsanitizer/
* All source files: Merge from upstream 285547.
* configure.tgt (SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS): New
variable.
* configure.ac (SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS): Handle it.
* asan/Makefile.am (asan_files): Add new files.
* asan/Makefile.in: Regenerate.
* ubsan/Makefile.in: Likewise.
* lsan/Makefile.in: Likewise.
* tsan/Makefile.am (tsan_files): Add new files.
* tsan/Makefile.in: Regenerate.
* sanitizer_common/Makefile.am (sanitizer_common_files): Add new files.
(EXTRA_libsanitizer_common_la_SOURCES): Define.
(libsanitizer_common_la_LIBADD): Likewise.
(libsanitizer_common_la_DEPENDENCIES): Likewise.
* sanitizer_common/Makefile.in: Regenerate.
* interception/Makefile.in: Likewise.
* libbacktace/Makefile.in: Likewise.
* Makefile.in: Likewise.
* configure: Likewise.
* merge.sh: Handle builtins/assembly.h merging.
* builtins/assembly.h: New file.
* asan/libtool-version: Bump the libasan SONAME.
From-SVN: r241977
2016-11-09 00:04:09 +02:00
Alan Modra
aa00995cd7
Revert 2015-11-09 sanitizer/obstack configury
...
The 2015-11-23 sanitizer merge from upstream lost the changes from
f6528435 to sanitizer_common/sanitizer_common_interceptors.inc, which
made use of _OBSTACK_SIZE_T. So the configury changes to define
_OBSTACK_SIZE_T don't do anything. This wasn't such a bad thing
anyway.. The configure test wrongly adds -I${srcdir}/../include,
effectively resulting in a test of libiberty/obstack rather than libc
obstack support, and it's the latter that asan and tsan need to work
with.
So, remove the useless configure test. Upstream santizer project has
been made aware of the problem if glibc obstack support is ever
updated. Bootsrapped etc. x86_64-linux and committed as obvious.
Revert 2015-11-09 Alan Modra <amodra@gmail.com>
* configure.ac: Don't substitute OBSTACK_DEFS.
* asan/Makefile.am: Remove OBSTACK_DEFS from DEFS.
* tsan/Makefile.am: Likewise.
* configure: Regenerate.
* Makefile.in: Regenerate.
* asan/Makefile.in: Regenerate.
* interception/Makefile.in: Regenerate.
* libbacktrace/Makefile.in: Regenerate.
* lsan/Makefile.in: Regenerate.
* sanitizer_common/Makefile.in: Regenerate.
* tsan/Makefile.in: Regenerate.
* ubsan/Makefile.in: Regenerate.
From-SVN: r238701
2016-07-25 10:43:36 +09:30
Max Ostapenko
55aea9f56c
libsanitizer merge from upstream r253555.
...
libsanitizer/
2015-11-23 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
* All source files: Merge from upstream r253555.
* configure.tgt: Enable LSan on aarch64-*-linux* targets. Add new
dependences for TSan for aarch64-*-linux* targets.
* tsan/Makefile.am: Add new source files.
* configure: Regenerate.
* tsan/Makefile.in: Likewise.
From-SVN: r230739
2015-11-23 11:07:18 +02:00
Alan Modra
62c0f0a637
Update libsanitizer obstack interceptors
...
New obstack uses sensible types, size_t instead of int for length
params. Since libsanitizer does not use prototypes from obstack.h to
call the real functions, it's necessary to update the libsanitizer
function declarations emitted by the INTERCEPTOR macro.
* sanitizer_common/sanitizer_common_interceptors.inc: Update size
params for _obstack_begin_1, _obstack_begin, _obstack_newchunk
interceptors.
* configure.ac: Substitute OBSTACK_DEFS.
* asan/Makefile.am: Add OBSTACK_DEFS to DEFS.
* tsan/Makefile.am: Likewise.
* configure: Regenerate.
* Makefile.in: Regenerate.
* asan/Makefile.in: Regenerate.
* interception/Makefile.in: Regenerate.
* libbacktrace/Makefile.in: Regenerate.
* lsan/Makefile.in: Regenerate.
* sanitizer_common/Makefile.in: Regenerate.
* tsan/Makefile.in: Regenerate.
* ubsan/Makefile.in: Regenerate.
From-SVN: r229986
2015-11-09 14:53:25 +10:30
Max Ostapenko
21d6106320
sanitizer_stacktrace.cc (GetCanonicFrame): Assume we compiled code with GCC when extracting the caller PC for ARM if...
...
libsanitizer/
* sanitizer_common/sanitizer_stacktrace.cc (GetCanonicFrame): Assume we
compiled code with GCC when extracting the caller PC for ARM if no
valid frame pointer is available.
From-SVN: r229115
2015-10-21 10:51:03 +03:00
Max Ostapenko
0d57d3e06b
re PR sanitizer/63958 (bootstrap failure in the sanitizer libs on sparc-linux-gnu)
...
libsanitizer/
PR sanitizer/63958
Reapply:
2014-10-14 David S. Miller <davem@davemloft.net>
* sanitizer_common/sanitizer_platform_limits_linux.cc (time_t):
Define at __kernel_time_t, as needed for sparc.
(struct __old_kernel_stat): Don't check if __sparc__ is defined.
* libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
(__sanitizer): Define struct___old_kernel_stat_sz,
struct_kernel_stat_sz, and struct_kernel_stat64_sz for sparc.
(__sanitizer_ipc_perm): Adjust for sparc targets.
(__sanitizer_shmid_ds): Likewsie.
(__sanitizer_sigaction): Likewise.
(IOC_SIZE): Likewsie.
From-SVN: r229113
2015-10-21 10:44:35 +03:00
Max Ostapenko
696d846a56
libsanitizer merge from upstream r250806.
...
libsanitizer/
2015-10-20 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
* All source files: Merge from upstream r250806.
* configure.ac (link_sanitizer_common): Add -lrt flag.
* configure.tgt: Enable TSAN and LSAN for aarch64-linux targets.
Set CXX_ABI_NEEDED=true for darwin.
* asan/Makefile.am (asan_files): Add new files.
(DEFS): Add DCAN_SANITIZE_UB=0 and remove unused and legacy
DASAN_FLEXIBLE_MAPPING_AND_OFFSET=0.
* asan/Makefile.in: Regenerate.
* ubsan/Makefile.am (ubsan_files): Add new files.
(DEFS): Add DCAN_SANITIZE_UB=1.
(libubsan_la_LIBADD): Add -lc++abi if CXX_ABI_NEEDED is true.
* ubsan/Makefile.in: Regenerate.
* tsan/Makefile.am (tsan_files): Add new files.
(DEFS): Add DCAN_SANITIZE_UB=0.
* tsan/Makefile.in: Regenerate.
* sanitizer_common/Makefile.am (sanitizer_common_files): Add new files.
* sanitizer_common/Makefile.in: Regenerate.
* asan/libtool-version: Bump the libasan SONAME.
From-SVN: r229111
2015-10-21 10:32:45 +03:00
Markus Trippelsdorf
97d8f80175
Use fast unwinder for PowerPC
...
2015-07-29 Markus Trippelsdorf <markus@trippelsdorf.de>
PR sanitizer/63927
* sanitizer_common/sanitizer_stacktrace.h: Use fast unwinder
for PowerPC.
From-SVN: r226338
2015-07-29 06:32:09 +00:00
Bill Schmidt
3d61d87585
re PR sanitizer/63927 (AddressSanitizer painfully slow on ppc64)
...
2015-07-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR sanitizer/63927
* sanitizer_common/sanitizer_stacktrace.cc
(BufferedStackTrace::FastUnwindStack): Fix code for PowerPC to
find the link register at an offset of 16 from the base of the
caller's stack frame.
From-SVN: r226335
2015-07-29 03:33:10 +00:00
Michael Haubenwallner
f3915b4249
libsanitizer: Bump to automake 1.11.6
...
2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* asan/Makefile.in: Likewise.
* configure: Likewise.
* interception/Makefile.in: Likewise.
* libbacktrace/Makefile.in: Likewise.
* lsan/Makefile.in: Likewise.
* sanitizer_common/Makefile.in: Likewise.
* tsan/Makefile.in: Likewise.
* ubsan/Makefile.in: Likewise.
From-SVN: r223140
2015-05-13 11:11:58 +00:00
Yury Gribov
d041a6fcae
re PR sanitizer/64839 (libsanitizer shouldn't require <rpc/xdr.h>)
...
2015-04-13 Yury Gribov <y.gribov@samsung.com>
PR sanitizer/64839
libsanitizer/
* sanitizer_common/sanitizer_platform.h: Cherry pick
upstream r234470.
* sanitizer_common/sanitizer_platform_limits_posix.cc: Ditto.
* configure.ac (RPC_DEFS): Check for precense of RPC headers.
* sanitizer_common/Makefile.am (DEFS): Pass info to compiler.
* Makefile.in: Regenerate.
* asan/Makefile.in: Regenerate.
* config.h.in: Regenerate.
* configure: Regenerate.
* interception/Makefile.in: Regenerate.
* libbacktrace/Makefile.in: Regenerate.
* lsan/Makefile.in: Regenerate.
* sanitizer_common/Makefile.in: Regenerate.
* tsan/Makefile.in: Regenerate.
* ubsan/Makefile.in: Regenerate.
From-SVN: r222043
2015-04-13 08:59:55 +00:00
Christophe Lyon
d886f7cc33
re PR sanitizer/59009 (libsanitizer merge from upstream r191666 breaks bootstrap on powerpc64-linux and aarch64-linux)
...
2015-03-23 Christophe Lyon <christophe.lyon@linaro.org>
PR sanitizer/59009
* sanitizer_common/sanitizer_platform_limits_posix.cc: Cherry pick
upstream r230324.
* sanitizer_common/sanitizer_platform.h: Likewise.
* sanitizer_common/sanitizer_common_syscalls.inc: Likewise.
From-SVN: r221593
2015-03-23 14:43:22 +01:00
Jakub Jelinek
ee876e5915
re PR sanitizer/63958 (bootstrap failure in the sanitizer libs on sparc-linux-gnu)
...
PR sanitizer/63958
Reapply:
2014-10-14 David S. Miller <davem@davemloft.net>
* sanitizer_common/sanitizer_platform_limits_linux.cc (time_t):
Define at __kernel_time_t, as needed for sparc.
(struct __old_kernel_stat): Don't check if __sparc__ is defined.
* libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
(__sanitizer): Define struct___old_kernel_stat_sz,
struct_kernel_stat_sz, and struct_kernel_stat64_sz for sparc.
(__sanitizer_ipc_perm): Adjust for sparc targets.
(__sanitizer_shmid_ds): Likewsie.
(__sanitizer_sigaction): Likewise.
(IOC_SIZE): Likewsie.
From-SVN: r221283
2015-03-09 19:25:28 +01:00
Venkataramanan Kumar
b0edd457a1
Conditionally include target specific files while building TSAN 2015-01-25...
...
Conditionally include target specific files while building TSAN
2015-01-25 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
* configure.ac (TSAN_TARGET_DEPENDENT_OBJECTS): Define.
* configure: Regenerate.
* tsan/Makefile.am (EXTRA_libtsan_la_SOURCES): Define.
(libtsan_la_DEPENDENCIES): Likewise.
* Makefile.in: Regenerate.
* asan/Makefile.in: Regenerate.
* interception/Makefile.in: Regenerate.
* libbacktrace/Makefile.in: Regenerate.
* lsan/Makefile.in: Regenerate.
* sanitizer_common/Makefile.in: Regenerate.
* tsan/Makefile.in: Regenerate.
* ubsan/Makefile.in: Regenerate.
From-SVN: r220034
2015-01-23 11:53:04 +00:00
Jakub Jelinek
8b08ef255b
re PR sanitizer/64435 (Bootstrap failure in libsanitizer on AArch64 with Linux kernel <= 3.15)
...
PR sanitizer/64435
* sanitizer_common/sanitizer_platform_limits_posix.h: Cherry pick
upstream r226637.
* sanitizer_common/sanitizer_platform_limits_posix.cc: Likewise.
* sanitizer_common/sanitizer_posix.cc: Cherry pick upstream r226639.
From-SVN: r219968
2015-01-21 22:21:27 +01:00
Jakub Jelinek
9deaf59d1b
re PR sanitizer/64435 (Bootstrap failure in libsanitizer on AArch64 with Linux kernel <= 3.15)
...
PR sanitizer/64435
* sanitizer_common/sanitizer_platform_limits_posix.cc: Cherry pick
upstream r223925.
From-SVN: r219833
2015-01-19 09:39:27 +01:00
Jakub Jelinek
b6a8baccac
sanitizer_deadlock_detector.h: Cherry pick upstream r224518 and r224519.
...
* sanitizer_common/sanitizer_deadlock_detector.h: Cherry pick
upstream r224518 and r224519.
* tsan/tsan_rtl_thread.cc: Cherry pick upstream r224702 and
r224834.
From-SVN: r219545
2015-01-13 18:01:30 +01:00
Jakub Jelinek
f2798565b4
sanitizer_symbolizer_libbacktrace.cc, [...]: Cherry pick upstream r224308.
...
* sanitizer_common/sanitizer_symbolizer_libbacktrace.cc,
sanitizer_common/sanitizer_symbolizer_libbacktrace.h,
sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc: Cherry pick
upstream r224308.
From-SVN: r218778
2014-12-16 12:35:34 +01:00
Jakub Jelinek
7697b16f45
re PR sanitizer/64013 (libsanitizer fails to build)
...
PR sanitizer/64013
* sanitizer_common/sanitizer_linux.cc (FileExists): Cherry pick
upstream r222532.
From-SVN: r217921
2014-11-21 15:03:37 +01:00
Uros Bizjak
7f201a67fb
Makefile.am (AM_CXXFLAGS): Use -std=gnu++11.
...
* sanitizer_common/Makefile.am (AM_CXXFLAGS): Use -std=gnu++11.
* asan/Makefile.am (AM_CXXFLAGS): Ditto.
* lsan/Makefile.am (AM_CXXFLAGS): Ditto.
* interception/Makefile.am (AM_CXXFLAGS): Ditto.
* tsan/Makefile.am (AM_CXXFLAGS): Ditto.
* libbacktrace/Makefile.am (AM_CXXFLAGS): Ditto.
* ubsan/Makefile.am (AM_CXXFLAGS): Ditto.
* sanitizer_common/Makefile.in: Regenerate.
* asan/Makefile.in: Ditto.
* lsan/Makefile.in: Ditto.
* interception/Makefile.in: Ditto.
* tsan/Makefile.in: Ditto.
* libbacktrace/Makefile.in: Ditto.
* ubsan/Makefile.in: Ditto.
From-SVN: r217562
2014-11-14 15:23:51 +01:00
Kostya Serebryany
c5be964a42
libsanitizer merge from upstream r221802
...
From-SVN: r217518
2014-11-13 20:41:38 +00:00
David S. Miller
c84733360b
Fix sanitizer build on sparc.
...
* sanitizer_common/sanitizer_platform_limits_linux.cc (time_t):
Define at __kernel_time_t, as needed for sparc.
(struct __old_kernel_stat): Don't check if __sparc__ is defined.
* libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
(__sanitizer): Define struct___old_kernel_stat_sz,
struct_kernel_stat_sz, and struct_kernel_stat64_sz for sparc.
(__sanitizer_ipc_perm): Adjust for sparc targets.
(__sanitizer_shmid_ds): Likewsie.
(__sanitizer_sigaction): Likewsie.
(IOC_SIZE): Likewsie.
From-SVN: r216224
2014-10-14 14:20:46 -07:00
Kostya Serebryany
866e32ad33
[libsanitizer merge from upstream r218156]
...
From-SVN: r215527
2014-09-23 17:59:53 +00:00
Paolo Carlini
0d807c8050
sanitizer_common_interceptors.inc: Cherry pick upstream r211008.
...
2014-06-23 Paolo Carlini <paolo.carlini@oracle.com>
* sanitizer_common/sanitizer_common_interceptors.inc:
Cherry pick upstream r211008.
From-SVN: r211912
2014-06-23 19:03:07 +00:00
Jakub Jelinek
ecd5543ffa
sanitizer_stacktrace.cc: Cherry pick upstream r209879.
...
* sanitizer_common/sanitizer_stacktrace.cc: Cherry pick upstream
r209879.
* sanitizer_common/sanitizer_common.h: Likewise.
* asan/asan_mapping.h: Likewise.
* asan/asan_linux.cc: Likewise.
* tsan/tsan_mman.cc: Cherry pick upstream r209744.
* sanitizer_common/sanitizer_allocator.h: Likewise.
From-SVN: r211080
2014-05-30 15:48:22 +02:00
Kostya Serebryany
dee5ea7a0b
libsanitizer merge from upstream r209283
...
From-SVN: r210743
2014-05-22 07:09:21 +00:00
Jakub Jelinek
5ab39ec3b0
re PR sanitizer/60038 (AddressSanitizer CHECK failed ... "((*tls_addr + *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-02-04 08:37:44 +01:00
Jakub Jelinek
b5f58ba331
* sanitizer_common/sanitizer_symbolizer_libbacktrace.h
...
(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-09 19:16:40 +01:00
Jakub Jelinek
2613419a70
Makefile.am (AM_CPPFLAGS): Add -isystem $(top_srcdir)/include/system.
...
* 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-09 19:15:41 +01:00
Jakub Jelinek
c915a58145
re PR sanitizer/59136 (llvm-symbolizer shouldn't be started always)
...
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
2014-01-09 19:13:39 +01:00
Kostya Serebryany
409f3b4663
libsanitizer: fix build on Mac 10.6
...
From-SVN: r206113
2013-12-19 12:54:11 +00:00
H.J. Lu
079db27b09
Use int64 on time and clock for x32
...
* 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-06 03:48:24 -08:00
H.J. Lu
7efb96c077
Include <sys/stat.h> if __x86_64__ is defined
...
* 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-06 03:44:55 -08:00
Jakub Jelinek
46db94aa6a
Add forgotten file.
...
From-SVN: r205701
2013-12-05 12:06:10 +01:00
Kostya Serebryany
c4c16f7456
libsanitizer merge from upstream r196489
...
From-SVN: r205700
2013-12-05 10:28:59 +00:00
Kostya Serebryany
df77f0e4ec
libsanitizer merge from upstream r196090
...
From-SVN: r205695
2013-12-05 09:18:38 +00:00
Jakub Jelinek
35814b0346
re PR sanitizer/59063 (ASAN: segfault in __interceptor_clock_gettime)
...
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-29 12:30:36 +00:00
Mike Stump
486294d4ed
sanitizer_linux.cc (__sanitizer): Grab one change from upstream to fix build.
...
* sanitizer_common/sanitizer_linux.cc (__sanitizer): Grab one
change from upstream to fix build.
From-SVN: r205285
2013-11-22 20:33:06 +00:00
Yury Gribov
2621c86043
re PR sanitizer/59106 (Failure to link against static libasan)
...
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-18 08:03:16 +00:00
Peter Bergner
c3d77f3add
re PR sanitizer/59009 (libsanitizer merge from upstream r191666 breaks 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-13 16:34:33 -06:00
Jakub Jelinek
d00106f4f0
sanitizer_platform_limits_linux.cc: Temporarily ifdef out almost the whole 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-13 00:42:55 +01:00
H.J. Lu
e276866fd7
Check __x86_64__ for FPU state
...
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-06 13:52:29 -08:00
H.J. Lu
f5c36cfc4b
Use 64-bit system types for x86-64
...
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-06 13:51:41 -08:00
H.J. Lu
e45de14ec7
Fix internal_clone for x32
...
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-06 13:50:42 -08:00
H.J. Lu
38693e39b6
Cast pointers to uptr for 64-bit syscalls
...
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-06 13:49:36 -08:00
Kostya Serebryany
ef1b3fda32
libsanitizer merge from upstream r191666
...
This may break gcc-asan on Mac, will follow up separately.
From-SVN: r204368
2013-11-04 21:33:31 +00:00
Marek Polacek
de5a5fa139
Merge ubsan into trunk.
...
From-SVN: r202113
2013-08-30 16:12:58 +00:00
Christophe Lyon
634cfa2ba8
sanitizer_linux.cc (MemoryMappingLayout::Next): Cherry pick upstream r182922.
...
2013-06-03 Christophe Lyon <christophe.lyon@linaro.org>
* sanitizer_common/sanitizer_linux.cc (MemoryMappingLayout::Next):
Cherry pick upstream r182922.
From-SVN: r199606
2013-06-03 15:04:35 +02:00
Jakub Jelinek
1868beeeca
re PR other/43620 ([4.3 Release Blocker] Uploading to gnu.org will fail due 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-03-22 15:14:42 +01:00
Kostya Serebryany
7df59255e1
libsanitizer merge from upstream r175733
...
From-SVN: r196201
2013-02-21 10:57:10 +00:00
Kostya Serebryany
b4ab7d34f5
libsanitizer merge from upstream r175049
...
From-SVN: r196009
2013-02-13 10:46:01 +00:00
Kostya Serebryany
2660d12d0a
libsanitizer merge from upstream r173241
...
From-SVN: r195404
2013-01-23 11:41:33 +00:00
Jakub Jelinek
19006c45f5
Makefile.am (AM_CXXFLAGS): Remove -Wno-c99-extensions.
...
* 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-16 08:34:49 +01:00
Kostya Serebryany
e9772e16b3
libsanitizer mege from upstream r171973
...
From-SVN: r195083
2013-01-10 12:44:08 +00:00
H.J. Lu
b488a2c757
Restore AM_MAKEFLAGS in libsanitizer
...
* 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-12 07:41:36 -08:00
H.J. Lu
e8adb21b9a
Restore MAKEOVERRIDES in libsanitizer
...
* 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-12 06:36:27 -08:00
H.J. Lu
e1e953d9d5
Use libstdc++-raw-cxx.m4 in libjava
...
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-12 05:40:15 -08:00
H.J. Lu
a62d3903d9
Remove AM_MAKEFLAGS/MAKEOVERRIDES from libsanitizer
...
* 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-12 05:36:47 -08:00
H.J. Lu
d10a2df271
Add libstdc++-raw-cxx.m4 and use it in libsanitizer
...
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-11 13:32:11 -08:00
Kostya Serebryany
a040845458
[libsanitizer] merge from upstream r169371
...
From-SVN: r194221
2012-12-05 13:19:55 +00:00
H.J. Lu
a23ed040bb
Don't use -I for libstdc++-v3 header files
...
* 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-29 11:15:43 -08:00
H.J. Lu
2ed685b8fb
Use explicit -I for libstdc++-v3 header files
...
* 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-29 11:01:17 -08:00
Kostya Serebryany
4ba5ca4650
[libsanitizer] merge from upstream r168699
...
From-SVN: r193849
2012-11-27 14:01:46 +00:00
Kostya Serebryany
e297eb600d
[libsanitizer] merge from upstream r168514
...
From-SVN: r193756
2012-11-23 14:46:25 +00:00
Konstantin Serebryany
b014e124e4
Fix sanitizer build on sparc64.
...
* sanitizer_common/sanitizer_linux.cc
(SANITIZER_LINUX_USES_64BIT_SYSCALLS): Define.
(internal_mmap): Use it.
(internal_filesize): Likewise.
From-SVN: r193676
2012-11-20 12:54:49 -08:00
Tom Tromey
2b723e217a
configure.ac: Invoke AM_MAINTAINER_MODE.
...
* configure.ac: Invoke AM_MAINTAINER_MODE.
* aclocal.m4, configure, Makefile.in, asan/Makefile.in,
interception/Makefile.in, sanitizer_common/Makefile.in: Rebuild.
From-SVN: r193561
2012-11-16 15:19:15 +00:00
H.J. Lu
d1caed1484
Define/use hardware pointer type for stack unwind
...
PR other/55333
* include/sanitizer/common_interface_defs.h (uhwptr): New type
for hardware pointer.
* sanitizer_common/sanitizer_stacktrace.cc (StackTrace::FastUnwindStack):
Replace uptr with uhwptr for stack unwind.
From-SVN: r193557
2012-11-16 04:02:29 -08:00
H.J. Lu
f64bcb29f5
Properly set MULTISUBDIR and gcc_version
...
* configure.ac: Properly set MULTISUBDIR.
* asan/Makefile.am (gcc_version): New.
* interception/Makefile.am (gcc_version): Likewise.
* sanitizer_common/Makefile.am (gcc_version): Likewise.
* configure: Regenerated.
* asan/Makefile.in: Likewise.
* interception/Makefile.in: Likewise.
* sanitizer_common/Makefile.in: Likewise.
From-SVN: r193534
2012-11-15 08:00:47 -08:00
H.J. Lu
2a6346c406
Add support for multilib run-time libraries
...
PR other/55291
* configure.ac (--enable-version-specific-runtime-libs): New option.
(AC_CANONICAL_SYSTEM): New.
(AM_ENABLE_MULTILIB): Moved right after AM_INIT_AUTOMAKE.
(toolexecdir): Support multilib.
(toolexeclibdir): Likewise.
(multilib_arg): New.
* Makefile.in: Regenerated.
* aclocal.m4: Likewise.
* configure: Likewise.
* asan/Makefile.in: Likewise.
* interception/Makefile.in: Likewise.
* sanitizer_common/Makefile.in: Likewise.
From-SVN: r193516
2012-11-14 16:03:37 -08:00
H.J. Lu
4a56a7be3d
Check __x86_64__ instead of __WORDSIZE
...
PR other/55292
Backport from upstream revision 167883
* sanitizer_common/sanitizer_linux.cc (internal_mmap): Check
__x86_64__ instead of __WORDSIZE.
(internal_filesize): Likwise.
From-SVN: r193500
2012-11-14 05:45:56 -08:00
H.J. Lu
a2479b3dd0
Update configure.ac for GCC tree and remove unused files
...
PR other/55304
* acinclude.m4: New file.
* Makefile.am (ACLOCAL_AMFLAGS): New.
* configure.ac (AC_PREREQ): Set to 2.64.
(AC_CONFIG_AUX_DIR): Set to "..".
* Makefile.in: Regenerated.
* aclocal.m4: Likewise.
* configure: Likewise.
* asan/Makefile.in: Likewise.
* interception/Makefile.in: Likewise.
* sanitizer_common/Makefile.in: Likewise.
* config.guess: Removed.
* config.sub: Likewise.
* depcomp: Likewise.
* install-sh: Likewise.
* ltmain.sh: Likewise.
* missing: Likewise.
From-SVN: r193491
2012-11-13 16:02:12 -08:00
Wei Mi
f35db108b9
Import the asan runtime library into GCC tree
...
This patch imports the runtime library in the GCC tree, ensures that
-lasan is passed to the linker when -faddress-sanitizer is used and
sets up the build system accordingly.
ChangeLog:
* configure.ac: Add libsanitizer to target_libraries.
* Makefile.def: Ditto.
* configure: Regenerate.
* Makefile.in: Regenerate.
* libsanitizer: New directory for asan runtime. Contains an empty
tsan directory.
gcc/ChangeLog:
* gcc.c (LINK_COMMAND_SPEC): Add -laddress-sanitizer to link
command if -faddress-sanitizer is on.
libsanitizer:
Initial checkin: migrate asan runtime from llvm.
From-SVN: r193441
2012-11-12 16:53:47 +01:00