Commit Graph

21 Commits

Author SHA1 Message Date
H.J. Lu a23653c6a6 libsanitizer: Add AM_CCASFLAGS to Makefile.am
commit 9069eb28d4
Author: Igor Tsimbalist <igor.v.tsimbalist@intel.com>
Date:   Fri Nov 17 22:34:50 2017 +0100

    Enable building libsanitizer with Intel CET

    libsanitizer/
            * acinclude.m4: Add enable.m4 and cet.m4.
            * Makefile.in: Regenerate.
            * asan/Makefile.am: Update AM_CXXFLAGS.
            * asan/Makefile.in: Regenerate.
            * configure: Likewise.
            * configure.ac: Set CET_FLAGS. Update EXTRA_CFLAGS,
            EXTRA_CXXFLAGS, EXTRA_ASFLAGS.
            * interception/Makefile.am: Update AM_CXXFLAGS.
            * interception/Makefile.in: Regenerate.
            * libbacktrace/Makefile.am: Update AM_CFLAGS, AM_CXXFLAGS.
            * libbacktrace/Makefile.in: Regenerate.
            * lsan/Makefile.am: Update AM_CXXFLAGS.
            * lsan/Makefile.in: Regenerate.
            * sanitizer_common/Makefile.am: Update AM_CXXFLAGS,
            AM_CCASFLAGS.
            * sanitizer_common/sanitizer_linux_x86_64.S: Include cet.h.
            Add _CET_ENDBR macro.
            * sanitizer_common/Makefile.in: Regenerate.
            * tsan/Makefile.am: Update AM_CXXFLAGS.
            * tsan/Makefile.in: Regenerate.
            * tsan/tsan_rtl_amd64.S Include cet.h. Add _CET_ENDBR macro.
            * ubsan/Makefile.am: Update AM_CXXFLAGS.
            * ubsan/Makefile.in: Regenerate.

failed to add EXTRA_ASFLAGS to AM_CCASFLAGS in all Makefile.am.  As
the result, CET aren't enabled in all assembly codes.

Add AM_CCASFLAGS to Makefile.am to compile assembly codes with $CET_FLAGS.

	PR sanitizer/102632
	* asan/Makefile.am (AM_CCASFLAGS): New.  Set to $(EXTRA_ASFLAGS).
	* hwasan/Makefile.am (AM_CCASFLAGS): Likewise.
	* interception/Makefile.am (AM_CCASFLAGS): Likewise.
	* lsan/Makefile.am (AM_CCASFLAGS): Likewise.
	* tsan/Makefile.am (AM_CCASFLAGS): Likewise.
	* ubsan/Makefile.am (AM_CCASFLAGS): Likewise.
	* asan/Makefile.in: Regenerate.
	* hwasan/Makefile.in: Likewise.
	* interception/Makefile.in: Likewise.
	* lsan/Makefile.in: Likewise.
	* tsan/Makefile.in: Likewise.
	* ubsan/Makefile.in: Likewise.
2021-10-08 06:17:01 -07:00
Martin Liska 942a384ef9
libsanitizer: use gnu++14
libsanitizer/ChangeLog:

	* asan/Makefile.am: Replace gnu++11 with gnu++14.
	* interception/Makefile.am: Likewise.
	* libbacktrace/Makefile.am: Likewise.
	* lsan/Makefile.am: Likewise.
	* sanitizer_common/Makefile.am: Likewise.
	* tsan/Makefile.am: Likewise.
	* ubsan/Makefile.am: Likewise.
	* asan/Makefile.in: Regenerate.
	* 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.
2020-06-09 10:07:24 +02:00
Martin Liska b667dd7017 Libsanitizer merge from trunk r368656.
2019-08-14  Martin Liska  <mliska@suse.cz>

	PR sanitizer/89832
	PR sanitizer/91325
	* All source files: Merge from upstream 368656.

From-SVN: r274426
2019-08-14 08:47:11 +00:00
Martin Liska 8468f94425 Update build system: include new files and run autoheader, autoconf, automake
2018-10-31  Martin Liska  <mliska@suse.cz>

	* config.h.in: Regenerate.
	* configure: Likewise.
	* sanitizer_common/Makefile.am: Include new files, remove old
	files.
	* sanitizer_common/Makefile.in: Regenerate.
	* ubsan/Makefile.am: Include new files, remove old
	files.
	* ubsan/Makefile.in: Likewise.
	* asan/Makefile.am: Include new files.
	* asan/Makefile.in: Regenerate.

From-SVN: r265666
2018-10-31 11:15:57 +00:00
Jakub Jelinek bdfc619ed8 Revert
2018-07-04  Maxim Ostapenko  <m.ostapenko@samsung.com>

	PR sanitizer/84250
	* config/gnu-user.h (LIBASAN_EARLY_SPEC): Pass -lstdc++ for static
	libasan.
	* gcc.c: Do not pass LIBUBSAN_SPEC if ASan is enabled with UBSan.

	* Makefile.am: Reorder libs.
	* Makefile.in: Regenerate.
	* asan/Makefile.am: Define DCAN_SANITIZE_UB=1, add dependancy from
	libsanitizer_ubsan.la.
	* asan/Makefile.in: Regenerate.
	* ubsan/Makefile.am: Define new libsanitizer_ubsan.la library.
	* ubsan/Makefile.in: Regenerate.

From-SVN: r262433
2018-07-05 11:47:05 +02:00
Maxim Ostapenko ca8dd9f274 re PR sanitizer/84250 (Symbol collision when using both Address and Undefined Behavior sanitizers (-fsanitize=address,undefined))
gcc/

2018-07-04  Maxim Ostapenko  <m.ostapenko@samsung.com>

	PR sanitizer/84250
	* config/gnu-user.h (LIBASAN_EARLY_SPEC): Pass -lstdc++ for static
	libasan.
	* gcc.c: Do not pass LIBUBSAN_SPEC if ASan is enabled with UBSan.

libsanitizer/

2018-07-04  Maxim Ostapenko  <m.ostapenko@samsung.com>

	PR sanitizer/84250
	* Makefile.am: Reorder libs.
	* Makefile.in: Regenerate.
	* asan/Makefile.am: Define DCAN_SANITIZE_UB=1, add dependancy from
	libsanitizer_ubsan.la.
	* asan/Makefile.in: Regenerate.
	* ubsan/Makefile.am: Define new libsanitizer_ubsan.la library.
	* ubsan/Makefile.in: Regenerate.

From-SVN: r262421
2018-07-04 22:49:06 +03:00
Igor Tsimbalist 9069eb28d4 Enable building libsanitizer with Intel CET
libsanitizer/
	* acinclude.m4: Add enable.m4 and cet.m4.
	* Makefile.in: Regenerate.
	* asan/Makefile.am: Update AM_CXXFLAGS.
	* asan/Makefile.in: Regenerate.
	* configure: Likewise.
	* configure.ac: Set CET_FLAGS. Update EXTRA_CFLAGS,
	EXTRA_CXXFLAGS, EXTRA_ASFLAGS.
	* interception/Makefile.am: Update AM_CXXFLAGS.
	* interception/Makefile.in: Regenerate.
	* libbacktrace/Makefile.am: Update AM_CFLAGS, AM_CXXFLAGS.
	* libbacktrace/Makefile.in: Regenerate.
	* lsan/Makefile.am: Update AM_CXXFLAGS.
	* lsan/Makefile.in: Regenerate.
	* sanitizer_common/Makefile.am: Update AM_CXXFLAGS,
	AM_CCASFLAGS.
	* sanitizer_common/sanitizer_linux_x86_64.S: Include cet.h.
	Add _CET_ENDBR macro.
	* sanitizer_common/Makefile.in: Regenerate.
	* tsan/Makefile.am: Update AM_CXXFLAGS.
	* tsan/Makefile.in: Regenerate.
	* tsan/tsan_rtl_amd64.S Include cet.h. Add _CET_ENDBR macro.
	* ubsan/Makefile.am: Update AM_CXXFLAGS.
	* ubsan/Makefile.in: Regenerate.

From-SVN: r254896
2017-11-17 22:34:50 +01:00
Jakub Jelinek 5925290f7d re PR bootstrap/82670 (UBSAN bootstrap broken after recent libsanitizer merge)
PR bootstrap/82670
	* ubsan/Makefile.am (ubsan_files): Remove ubsan_init_standalone.cc
	and ubsan_signals_standalone.cc.
	* ubsan/Makefile.in: Regenerated.

From-SVN: r254518
2017-11-08 09:17:02 +01:00
Jakub Jelinek 5d3805fca3 ubsan.c (ubsan_expand_null_ifn): Use _v1 suffixed type mismatch builtins...
* ubsan.c (ubsan_expand_null_ifn): Use _v1 suffixed type mismatch
	builtins, store max (log2 (align), 0) into uchar field instead of
	align into uptr field.
	(ubsan_expand_objsize_ifn): Use _v1 suffixed type mismatch builtins,
	store uchar 0 field instead of uptr 0 field.
	(instrument_nonnull_return): Use _v1 suffixed nonnull return builtin,
	instead of passing one address of struct with 2 locations pass
	two addresses of structs with 1 location each.
	* sanitizer.def (BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH,
	BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT,
	BUILT_IN_UBSAN_HANDLE_NONNULL_RETURN,
	BUILT_IN_UBSAN_HANDLE_NONNULL_RETURN_ABORT): Removed.
	(BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_V1,
	BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_V1_ABORT,
	BUILT_IN_UBSAN_HANDLE_NONNULL_RETURN_V1,
	BUILT_IN_UBSAN_HANDLE_NONNULL_RETURN_V1_ABORT): New builtins.

	* c-c++-common/ubsan/float-cast-overflow-1.c: Drop value keyword
	from expected output regexps.
	* c-c++-common/ubsan/float-cast-overflow-2.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-3.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-4.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-5.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-6.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-8.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-9.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-10.c: Likewise.
	* g++.dg/ubsan/float-cast-overflow-bf.C: Likewise.
	* gcc.dg/ubsan/float-cast-overflow-bf.c: Likewise.
	* g++.dg/asan/default-options-1.C (__asan_default_options): Add
	used attribute.
	* g++.dg/asan/asan_test.C: Run with ASAN_OPTIONS=handle_segv=2
	in the environment.

	* All source files: Merge from upstream 315899.
        * asan/Makefile.am (nodist_saninclude_HEADERS): Add
	include/sanitizer/tsan_interface.h.
        * asan/libtool-version: Bump the libasan SONAME.
	* lsan/Makefile.am (sanitizer_lsan_files): Add lsan_common_mac.cc.
	(lsan_files): Add lsan_linux.cc, lsan_mac.cc and lsan_malloc_mac.cc.
        * sanitizer_common/Makefile.am (sanitizer_common_files): Add
	sancov_flags.cc, sanitizer_allocator_checks.cc,
	sanitizer_coverage_libcdep_new.cc, sanitizer_errno.cc,
	sanitizer_file.cc, sanitizer_mac_libcdep.cc and
	sanitizer_stoptheworld_mac.cc.  Remove sanitizer_coverage_libcdep.cc
	and sanitizer_coverage_mapping_libcdep.cc.
        * tsan/Makefile.am (tsan_files): Add tsan_external.cc.
	* ubsan/Makefile.am (DEFS): Add -DUBSAN_CAN_USE_CXXABI=1.
	(ubsan_files): Add ubsan_init_standalone.cc and
	ubsan_signals_standalone.cc.
	* ubsan/libtool-version: Bump the libubsan SONAME.
        * asan/Makefile.in: Regenerate.
        * lsan/Makefile.in: Regenerate.
        * sanitizer_common/Makefile.in: Regenerate.
        * tsan/Makefile.in: Regenerate.
	* ubsan/Makefile.in: Regenerate.

From-SVN: r253887
2017-10-19 13:23:59 +02:00
Jakub Jelinek 73aa401ecf re PR other/79046 (g++ -print-file-name=plugin uses full version number in path)
PR other/79046
libatomic/
	* testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
	of cat to get version from BASE-VER file.
	* testsuite/Makefile.in: Regenerated.
libffi/
	* configure.ac: Add GCC_BASE_VER.
	* include/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
	of cat to get version from BASE-VER file.
	* configure: Regenerated.
	* testsuite/Makefile.in: Regenerated.
	* include/Makefile.in: Regenerated.
	* Makefile.in: Regenerated.
	* man/Makefile.in: Regenerated.
libgomp/
	* testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
	of cat to get version from BASE-VER file.
	* testsuite/Makefile.in: Regenerated.
libitm/
	* testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
	of cat to get version from BASE-VER file.
	* testsuite/Makefile.in: Regenerated.
libmpx/
	* mpxrt/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
	of cat to get version from BASE-VER file.
	* mpxwrap/Makefile.am (gcc_version): Likewise.
	* mpxrt/Makefile.in: Regenerated.
	* mpxwrap/Makefile.in: Regenerated.
liboffloadmic/
	* plugin/configure.ac: Add GCC_BASE_VER.
	* plugin/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
	of cat to get version from BASE-VER file.
	* plugin/configure: Regenerated.
	* plugin/aclocal.m4: Regenerated.
	* plugin/Makefile.in: Regenerated.
libsanitizer/
	* interception/Makefile.am (gcc_version): Use @get_gcc_base_ver@
	instead of cat to get version from BASE-VER file.
	* asan/Makefile.am (gcc_version): Likewise.
	* ubsan/Makefile.am (gcc_version): Likewise.
	* sanitizer_common/Makefile.am (gcc_version): Likewise.
	* lsan/Makefile.am (gcc_version): Likewise.
	* tsan/Makefile.am (gcc_version): Likewise.
	* interception/Makefile.in: Regenerated.
	* asan/Makefile.in: Regenerated.
	* ubsan/Makefile.in: Regenerated.
	* sanitizer_common/Makefile.in: Regenerated.
	* lsan/Makefile.in: Regenerated.
	* tsan/Makefile.in: Regenerated.
libvtv/
	* testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
	of cat to get version from BASE-VER file.
	* testsuite/Makefile.in: Regenerated.

From-SVN: r244742
2017-01-21 09:47:11 +01:00
Max Ostapenko 692b1131a7 Fix bootstrap on x86_64-apple-darwin14 after r229119.
libsanitizer/

	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.

From-SVN: r229168
2015-10-22 12:47:17 +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
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
Jakub Jelinek 694b4cfa08 Makefile.am (DEFS): Add -DPIC.
* ubsan/Makefile.am (DEFS): Add -DPIC.
	* ubsan/Makefile.in: Regenerated.

From-SVN: r216206
2014-10-14 17:56:52 +02:00
Kostya Serebryany 866e32ad33 [libsanitizer merge from upstream r218156]
From-SVN: r215527
2014-09-23 17:59:53 +00: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
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
Jakub Jelinek 049558ed48 re PR sanitizer/59106 (Failure to link against static libasan)
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-28 12:20:23 +00:00
Iain Sandoe 0cea211ebd darwin.h (LINK_COMMAND_SPEC_A): Revise sanitizer specs to include 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-09-01 12:16:07 +00:00
Marek Polacek de5a5fa139 Merge ubsan into trunk.
From-SVN: r202113
2013-08-30 16:12:58 +00:00