gcc/libsanitizer/ChangeLog
Jakub Jelinek e47294194f re PR sanitizer/68824 (libtsan is missing the __interceptor___tls_get_addr symbol without bumping the soname)
PR sanitizer/68824
	* tsan/tsan_interceptors.cc (NEED_TLS_GET_ADDR, __tls_get_addr,
	InitializeInterceptors): Cherry pick upstream r258119.

From-SVN: r232555
2016-01-19 13:45:54 +01:00

1152 lines
38 KiB
Plaintext

2016-01-19 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/68824
* tsan/tsan_interceptors.cc (NEED_TLS_GET_ADDR, __tls_get_addr,
InitializeInterceptors): Cherry pick upstream r258119.
2016-01-14 Andreas Tobler <andreast@gcc.gnu.org>
* configure.ac: Replace the hard-coded -ldl requirement for
link_sanitizer_common with a configure time check for -ldl.
* configure: Regenerate.
2015-11-24 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
* include/system/linux/asm/ptrace.h: Move to ...
* include/system/asm/ptrace.h: ... this.
2015-11-24 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
* include/system/linux/asm/ptrace.h: New header.
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.
2015-11-09 Alan Modra <amodra@gmail.com>
* 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.
2015-10-22 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
PR bootstrap/68041
* configure.ac (link_sanitizer_common): Link against librt only if it
contains shm_open, required by sanitizers.
(CXX_ABI_NEEDED): Remove variable.
* configure: Regenerate.
* ubsan/Makefile.am (libubsan_la_LIBADD): Do not add -lc++abi anymore.
* ubsan/Makefile.in: Regenerate.
2015-10-21 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
* HOWTO_MERGE: New file.
2015-10-21 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
* 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.
2015-10-21 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
PR bootstrap/63888
Reapply:
2015-02-20 Jakub Jelinek <jakub@redhat.com>
* asan/asan_globals.cc (RegisterGlobal): Disable detect_odr_violation
support until it is rewritten upstream.
* c-c++-common/asan/pr63888.c: New test.
2015-10-21 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
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.
2015-10-21 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 USE_CXX_ABI_FLAG=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 USE_CXX_ABI_FLAG 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.
2015-09-09 Markus Trippelsdorf <markus@trippelsdorf.de>
PR sanitizer/67258
* ubsan/ubsan_type_hash.cc: Cherry pick upstream r244101.
2015-07-29 Markus Trippelsdorf <markus@trippelsdorf.de>
PR sanitizer/63927
* sanitizer_common/sanitizer_stacktrace.h: Use fast unwinder
for PowerPC.
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.
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.
2015-04-13 Yury Gribov <y.gribov@samsung.com>
PR sanitizer/64839
* 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.
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.
2015-03-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
* tsan/tsan_rtl_report.cc (ScopedReport::AddThread): Cherry pick
upstream 224508 and 224755.
2015-03-09 Jakub Jelinek <jakub@redhat.com>
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.
2015-02-27 Peter Bergner <bergner@vnet.ibm.com>
* configure.tgt: Enable build on powerpc*le-*-linux.
2015-02-23 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/63888
* asan/asan_globals.cc (RegisterGlobal): Disable detect_odr_violation
support until it is rewritten upstream.
2015-01-26 Matthias Klose <doko@ubuntu.com>
* configure.ac: Move AM_ENABLE_MULTILIB before AC_PROG_CC.
* configure: Regenerate.
2015-01-25 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
* configure.ac (TSAN_TARGET_DEPENDENT_OBJECTS): Undefine.
* configure: Regenerate.
* configure.tgt (TSAN_TARGET_DEPENDENT_OBJECTS): Define.
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.
2015-01-22 Jakub Jelinek <jakub@redhat.com>
* tsan/tsan_rtl.h: Cherry pick upstream r226829.
2015-01-21 Jakub Jelinek <jakub@redhat.com>
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.
2015-01-20 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/64632
* ubsan/ubsan_type_hash.cc: Cherry pick upstream r224972.
2015-01-19 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/64435
* sanitizer_common/sanitizer_platform_limits_posix.cc: Cherry pick
upstream r223925.
2015-01-13 Jakub Jelinek <jakub@redhat.com>
* sanitizer_common/sanitizer_deadlock_detector.h: Cherry pick
upstream r224518 and r224519.
* tsan/tsan_rtl_thread.cc: Cherry pick upstream r224702 and
r224834.
2014-12-16 Jakub Jelinek <jakub@redhat.com>
* sanitizer_common/sanitizer_symbolizer_libbacktrace.cc,
sanitizer_common/sanitizer_symbolizer_libbacktrace.h,
sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc: Cherry pick
upstream r224308.
2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
PR bootstrap/63784
* configure: Regenerated.
2014-11-21 Jakub Jelinek <jakub@redhat.com>
PR target/61137
* config/ia64/ia64.c (ia64_attribute_takes_identifier_p): New function.
(TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Redefine to it.
2014-11-14 Uros Bizjak <ubizjak@gmail.com>
* 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.
2014-11-13 Kostya Serebryany <kcc@google.com>
* All source files: Merge from upstream r221802.
* sanitizer_common/sanitizer_symbolizer_libbacktrace.cc
(LibbacktraceSymbolizer::SymbolizeData): Replace 'address'
with 'start' to follow the new interface.
* asan/Makefile.am (AM_CXXFLAGS): Added -std=c++11.
* interception/Makefile.am (AM_CXXFLAGS): Added -std=c++11.
* libbacktrace/Makefile.am (AM_CXXFLAGS): Added -std=c++11.
* lsan/Makefile.am (AM_CXXFLAGS): Added -std=c++11.
* sanitizer_common/Makefile.am (sanitizer_common_files): Added new
files.
(AM_CXXFLAGS): Added -std=c++11.
* tsan/Makefile.am (AM_CXXFLAGS): Added -std=c++11.
* ubsan/Makefile.am (AM_CXXFLAGS): Added -std=c++11.
* 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.
2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR target/63610
* configure: Regenerate.
2014-10-16 Martin Liska <mliska@suse.cz>
* asan/Makefile.am: IPA ICF pass is disabled.
* asan/Makefile.in: Likewise.
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): Likewsie.
(IOC_SIZE): Likewsie.
2014-10-14 Jakub Jelinek <jakub@redhat.com>
* ubsan/Makefile.am (DEFS): Add -DPIC.
* ubsan/Makefile.in: Regenerated.
2014-09-26 Christophe Lyon <christophe.lyon@linaro.org>
* configure.tgt: Enable build on aarch64*-linux.
2014-09-19 Kostya Serebryany <kcc@google.com>
* All source files: Merge from upstream r218156.
* asan/Makefile.am (asan_files): Added new files.
* asan/Makefile.in: Regenerate.
* ubsan/Makefile.am (ubsan_files): Added new files.
* ubsan/Makefile.in: Regenerate.
* tsan/Makefile.am (tsan_files): Added new files.
* tsan/Makefile.in: Regenerate.
* sanitizer_common/Makefile.am (sanitizer_common_files): Added new
files.
* sanitizer_common/Makefile.in: Regenerate.
* asan/libtool-version: Bump the libasan SONAME.
2014-09-10 Jakub Jelinek <jakub@redhat.com>
* ubsan/ubsan_handlers.cc, ubsan/ubsan_handlers.h: Cherry pick
upstream r215485, r217389, r217391 and r217400.
2014-06-23 Paolo Carlini <paolo.carlini@oracle.com>
* sanitizer_common/sanitizer_common_interceptors.inc:
Cherry pick upstream r211008.
2014-06-11 Richard Biener <rguenther@suse.de>
* asan/asan_linux.cc: Cherry pick upstream r210012.
2014-05-30 Jakub Jelinek <jakub@redhat.com>
* 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.
2014-05-23 Marek Polacek <polacek@redhat.com>
* ubsan/ubsan_value.cc (getFloatValue): Handle 96-bit
floating-point types.
2014-05-22 Kostya Serebryany <kcc@google.com>
* All source files: Merge from upstream r209283.
* asan/Makefile.am (asan_files): Added new files.
* asan/Makefile.in: Regenerate.
* tsan/Makefile.am (tsan_files): Added new files.
* tsan/Makefile.in: Regenerate.
* sanitizer_common/Makefile.am (sanitizer_common_files): Added new
files.
* sanitizer_common/Makefile.in: Regenerate.
2014-05-14 Yury Gribov <y.gribov@samsung.com>
PR sanitizer/61100
* Makefile.am (nodist_saninclude_HEADERS): Install
public headers.
* Makefile.in: Regenerate.
2014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* libbacktrace/Makefile.am (libsanitizer_libbacktrace_la_SOURCES):
Add ../../libbacktrace/sort.c.
* libbacktrace/Makefile.in: Regenerate.
* libbacktrace/backtrace-rename.h (backtrace_qsort): Define.
2014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* configure.tgt: Unsupported for little endian PowerPC for now.
2014-02-04 Jakub Jelinek <jakub@redhat.com>
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.
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.
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.
2014-01-09 Jakub Jelinek <jakub@redhat.com>
* 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.
* 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.
PR sanitizer/59136
* 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.
2013-12-19 Kostya Serebryany <kcc@google.com>
* sanitizer_common/sanitizer_platform_limits_posix.cc:
workaround for missing definition of EOWNERDEAD, backport
from upstream r196779.
2013-12-06 H.J. Lu <hongjiu.lu@intel.com>
* 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.
2013-12-06 H.J. Lu <hongjiu.lu@intel.com>
* 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.
2013-12-05 H.J. Lu <hongjiu.lu@intel.com>
* configure.ac (link_sanitizer_common): Add -lm.
* configure: Regenerated.
2013-12-05 Kostya Serebryany <kcc@google.com>
* All source files: Merge from upstream r196489.
* merge.sh: Add *.S to the list of merged files.
2013-12-05 Yury Gribov <y.gribov@samsung.com>
PR sanitizer/59368
* Makefile.am (gcc_version): Added gcc_version.
* Makefile.in: Regenerate.
2013-12-05 Kostya Serebryany <kcc@google.com>
* All source files: Merge from upstream r196090.
* tsan/Makefile.am (tsan_files): Added new files.
* tsan/Makefile.in: Regenerate.
* sanitizer_common/Makefile.am (sanitizer_common_files): Added new fles.
* sanitizer_common/Makefile.in: Regenerate.
* lsan/Makefile.am (lsan_files): Added new files.
* lsan/Makefile.in: Regenerate.
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.
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.
2013-11-22 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/59061
* 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.
2013-11-22 Mike Stump <mikestump@comcast.net>
* sanitizer_common/sanitizer_linux.cc (__sanitizer): Grab one
change from upstream to fix build.
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.
2013-11-15 Kostya Serebryany <kcc@google.com>
PR sanitizer/58994
Backport from upstream revision 194573
* asan/asan_interceptors.cc (COMMON_INTERCEPTOR_ENTER): Fall
back to the original functions in the common libsanitizer
interceptors and the __cxa_atexit() interceptor on Darwin.
2013-11-13 Peter Bergner <bergner@vnet.ibm.com>
PR sanitizer/59009
* sanitizer_common/sanitizer_platform_limits_posix.cc: Temporarily
ifdef out more source.
2013-11-12 Jakub Jelinek <jakub@redhat.com>
* sanitizer_common/sanitizer_platform_limits_linux.cc: Temporarily
ifdef out almost the whole source.
* sanitizer_common/sanitizer_common_syscalls.inc: Likewise.
2013-11-05 H.J. Lu <hongjiu.lu@intel.com>
PR sanitizer/59018
* sanitizer_common/sanitizer_platform_limits_posix.cc
(struct_user_fpxregs_struct_sz): Initialize to 0 if __x86_64__ is
defined.
2013-11-05 H.J. Lu <hongjiu.lu@intel.com>
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.
2013-11-05 H.J. Lu <hongjiu.lu@intel.com>
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.
2013-11-05 H.J. Lu <hongjiu.lu@intel.com>
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.
2013-11-04 Kostya Serebryany <kcc@google.com>
* All source files: Merge from upstream r191666.
* merge.sh: Added lsan.
* configure.ac (AC_CONFIG_FILES): Added lsan.
* Makefile.am (SUBDIRS): Added lsan.
* sanitizer_common/Makefile.am (sanitizer_common_files): Added new fles.
* asan/Makefile.am (asan_files): Added new files.
(libasan_la_LIBADD): Added a dependency on lsan.
* lsan/Makefile.am: New file.
* asan/Makefile.in: Regenerate.
* lsan/Makefile.in: Regenerate.
* Makefile.in: Regenerate.
* configure: Regenerate.
* sanitizer_common/Makefile.in: Regenerate.
2013-09-20 Alan Modra <amodra@gmail.com>
* configure: Regenerate.
2013-09-01 Iain Sandoe <iain@codesourcery.com>
* ubsan/Makefile.am (libubsan_la_LIBADD): Revise to omit
libinterception.la for Darwin.
* ubsan/Makefile.in: Regenerate.
2013-08-30 Jakub Jelinek <jakub@redhat.com>
* Makefile.am (SUBDIRS): Add ubsan.
* configure.ac (AC_CONFIG_FILES): Add ubsan/Makefile.
* merge.sh: Merge ubsan.
* sanitizer_common/sanitizer_report_decorator.h: Partial merge from trunk.
* sanitizer_common/sanitizer_printf.cc: Likewise.
* sanitizer_common/sanitizer_common.h: Likewise.
* ubsan: New directory. Import ubsan runtime from llvm.
2013-06-03 Christophe Lyon <christophe.lyon@linaro.org>
* sanitizer_common/sanitizer_linux.cc (MemoryMappingLayout::Next):
Cherry pick upstream r182922.
2013-05-07 Christophe Lyon <christophe.lyon@linaro.org>
* configure.tgt: Add ARM pattern.
2013-03-22 Jakub Jelinek <jakub@redhat.com>
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.
2013-02-28 Jakub Jelinek <jakub@redhat.com>
* asan/asan_mapping.h (kMidMemEnd): Increase to 0x4fffffffffULL.
* asan/asan_rtl.cc (__asan_init): Increase kMidMemEnd to
0x4fffffffffULL.
2013-02-22 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/56393
* 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.
2013-02-21 Jack Howarth <howarth@bromo.med.uc.edu>
* 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.
2013-02-21 Jakub Jelinek <jakub@redhat.com>
* asan/asan_rtl.cc (__asan_preinit): Don't add if PIC macro is
defined. Add used attribute.
2013-02-21 Kostya Serebryany <kcc@google.com>
* All source files: Merge from upstream r175733.
* sanitizer_common/Makefile.am: Added a new file.
* sanitizer_common/Makefile.in: Regenerated.
2013-02-14 H.J. Lu <hongjiu.lu@intel.com>
PR bootstrap/56327
* interception/interception.h (OFF_T): Merged from upstream
r175140.
2013-02-13 Jakub Jelinek <jakub@redhat.com>
* asan/asan_mapping.h (SHADOW_OFFSET): Set to (1ULL << 44) on x86-64.
2013-02-13 Kostya Serebryany <kcc@google.com>
PR sanitizer/56128
* All source files: Merge from upstream r175049.
* interception/Makefile.am: added include path.
* interception/Makefile.in: Regenerated.
2013-02-11 Jack Howarth <howarth@bromo.med.uc.edu>
* configure.tgt: Disable build on darwin9 and earlier.
2013-01-23 Kostya Serebryany <kcc@google.com>
PR sanitizer/55989
* All source files: Merge from upstream r173241.
* merge.sh: Support merging .inc files.
2013-01-16 Jakub Jelinek <jakub@redhat.com>
* 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.
2013-01-10 Wei Mi <wmi@google.com>
PR sanitizer/55488
* tsan/Makefile.am: Add tsan_rtl_amd64.S.
* tsan/Makefile.in: Regenerated.
* tsan/tsan_rtl.h: Enable HACKY_CALL.
2013-01-10 Kostya Serebryany <kcc@google.com>
* All source files: Merge from upstream r171973.
* sanitizer_common/Makefile.am: Added new files.
* asan/Makefile.am: Likewise.
* tsan/Makefile.am: Likewise.
* sanitizer_common/Makefile.in: Regenerated.
* asan/Makefile.in: Likewise.
* tsan/Makefile.in: Likewise.
2013-01-07 H.J. Lu <hongjiu.lu@intel.com>
* 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.
2012-12-12 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.am (AM_MAKEFLAGS): Restored.
* 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.
2012-12-12 H.J. Lu <hongjiu.lu@intel.com>
* 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.
2012-12-12 H.J. Lu <hongjiu.lu@intel.com>
* 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.
2012-12-12 H.J. Lu <hongjiu.lu@intel.com>
* 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.
2012-12-11 H.J. Lu <hongjiu.lu@intel.com>
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.
2012-12-06 Peter Bergner <bergner@vnet.ibm.com>
* configure.tgt: Enable build on powerpc*-linux.
2012-12-06 Jack Howarth <howarth@bromo.med.uc.edu>
PR 55599/sanitizer
* configure.ac: Set enable_static=no on darwin.
* configure: Regenerated.
2012-12-06 Kostya Serebryany <kcc@google.com>
* All files: Merge from upstream r169392.
2012-12-05 Kostya Serebryany <kcc@google.com>
* All files: Merge from upstream r169371.
2012-12-04 Kostya Serebryany <kcc@google.com>
Jack Howarth <howarth@bromo.med.uc.edu>
PR 55521/sanitizer
* configure.ac: Define USING_MAC_INTERPOSE when on darwin.
* Makefile.am: Don't build interception subdir when
USING_MAC_INTERPOSE defined.
* asan/Makefile.am: Pass -DMAC_INTERPOSE_FUNCTIONS and
-DMISSING_BLOCKS_SUPPORT when USING_MAC_INTERPOSE defined.
Compile asan_interceptors_dynamic.cc but not libinterception
when USING_MAC_INTERPOSE defined.
* interception/Makefile.am: Remove usage of USING_MACH_OVERRIDE.
* configure: Regenerated.
* Makefile.in: Likewise.
* asan/Makefile.in: Likewise.
* interception/Makefile.in: Likewise.
* asan/asan_intercepted_functions.h: Use MISSING_BLOCKS_SUPPORT.
* asan/asan_mac.cc: Likewise.
* asan/dynamic/asan_interceptors_dynamic.cc: Migrate from llvm
and use MISSING_BLOCKS_SUPPORT.
* merge.sh: Merge lib/asan/dynamic into asan/dynamic.
* interception/mach_override/LICENSE.txt: Remove unused file.
* interception/mach_override/mach_override.c: Likewise.
* interception/mach_override/mach_override.h: Likewise.
* interception/mach_override: Remove unused directory.
2012-11-28 H.J. Lu <hongjiu.lu@intel.com>
* 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.
2012-11-28 H.J. Lu <hongjiu.lu@intel.com>
* 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.
2012-11-27 Kostya Serebryany <kcc@google.com>
* All files: Merge from upstream r168699.
2012-11-24 Kostya Serebryany <kcc@google.com>
Jack Howarth <howarth@bromo.med.uc.edu>
* interception/mach_override/mach_override.c: Migrate from llvm.
* interception/mach_override/mach_override.h: Likewise.
* interception/mach_override/LICENSE.txt: Likewise.
* configure.tgt: Add darwin to supported targets.
* configure.ac: Define USING_MACH_OVERRIDE when on darwin.
* interception/Makefile.am: Compile mach_override.c when
USING_MACH_OVERRIDE defined.
* configure: Regenerated.
* interception/Makefile.in: Likewise.
2012-11-23 H.J. Lu <hongjiu.lu@intel.com>
PR sanitizer/55450
* tsan/Makefile.am (gcc_version): New.
* tsan/Makefile.in: Regenerated.
2012-11-23 Kostya Serebryany <kcc@google.com>
* merge.sh: Support tsan, support added/removed files.
* tsan/Makefile.am: Remove tsan_printf.cc.
* tsan/Makefile.in: Regenerated.
* other files: Merge from upstream r168514.
2012-11-23 Kostya Serebryany <kcc@google.com>
* merge.sh: New file.
2012-11-23 Jakub Jelinek <jakub@redhat.com>
* tsan/Makefile.am (AM_CXXFLAGS): Remove -Wno-variadic-macros.
* Makefile.am (SUBDIRS): Guard tsan addition with TSAN_SUPPORTED
automake conditional instead of !MULTISUBDIR32.
* configure.tgt: Set TSAN_SUPPORTED=yes for x86_64/i686-linux
for 64-bit multilib.
* configure.ac: Check for void * size, source in configure.tgt,
define TSAN_SUPPORTED conditional instead of MULTILIBDIR32.
* configure: Regenerated.
* Makefile.in: Regenerated.
* tsan/Makefile.in: Regenerated.
2012-11-22 Wei Mi <wmi@google.com>
* tsan: New directory. Import tsan runtime from llvm.
* configure.ac: Add 64 bits tsan build.
* Makefile.am: Likewise.
* configure: Regenerated.
* Makefile.in: Likewise.
2012-11-21 Kostya Serebryany <kcc@google.com>
* README.gcc: Extend the README.gcc with mode details.
2012-11-20 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
* sanitizer_common/sanitizer_linux.cc
(SANITIZER_LINUX_USES_64BIT_SYSCALLS): Define.
(internal_mmap): Use it.
(internal_filesize): Likewise.
2012-11-16 Tom Tromey <tromey@redhat.com>
* configure.ac: Invoke AM_MAINTAINER_MODE.
* aclocal.m4, configure, Makefile.in, asan/Makefile.in,
interception/Makefile.in, sanitizer_common/Makefile.in: Rebuild.
2012-11-16 H.J. Lu <hongjiu.lu@intel.com>
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.
2012-11-16 Dodji Seketeli <dodji@redhat.com>
* configure.tgt: Enable build on sparc linux.
2012-11-15 H.J. Lu <hongjiu.lu@intel.com>
* 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.
2012-11-14 H.J. Lu <hongjiu.lu@intel.com>
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.
2012-11-14 H.J. Lu <hongjiu.lu@intel.com>
PR other/55292
Backport from upstream revision 167883
* sanitizer_common/sanitizer_linux.cc (internal_mmap): Check
__x86_64__ instead of __WORDSIZE.
(internal_filesize): Likwise.
2012-11-14 H.J. Lu <hongjiu.lu@intel.com>
* configure.ac (AC_CONFIG_AUX_DIR): Removed.
* Makefile.in: Regenerated.
* configure: Likewise.
2012-11-13 H.J. Lu <hongjiu.lu@intel.com>
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.
2012-11-13 Richard Henderson <rth@redhat.com>
* configure.tgt: New file.
2012-11-12 David S. Miller <davem@davemloft.net>
* asan/asan_linux.cc (GetPcSpBp): Add sparc support.
2012-10-29 Wei Mi <wmi@google.com>
Initial checkin: migrate asan runtime from llvm.