This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 10/10] Import the asan runtime library into GCC tree


[After multiple failed attempts at compressing this huge patch enough to
 let it pass through the drastic mailing engine's 400KB size limit, I am
 sending a link to the patch (at the end of this message) to let people
 download it instead.  Sorry for spamming the people in the CC list.]

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.

        * 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:
	* gcc.c (LINK_COMMAND_SPEC): Add -lasan to link command
	if -faddress-sanitizer is on.

libsanitizer:

	Initial checkin: migrate asan runtime from llvm.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/asan@192977 138bc75d-0d04-0410-961f-82ee72b054a4
---
 ChangeLog.asan                                     |    16 +
 Makefile.def                                       |     2 +
 Makefile.in                                        |   487 +-
 configure                                          |     1 +
 configure.ac                                       |     1 +
 gcc/ChangeLog.asan                                 |     5 +
 gcc/gcc.c                                          |     1 +
 libsanitizer/ChangeLog.asan                        |     3 +
 libsanitizer/LICENSE.TXT                           |    97 +
 libsanitizer/Makefile.am                           |    46 +
 libsanitizer/Makefile.in                           |   773 +
 libsanitizer/README.gcc                            |     4 +
 libsanitizer/aclocal.m4                            |  9599 ++++++++++
 libsanitizer/asan/Makefile.am                      |    76 +
 libsanitizer/asan/Makefile.in                      |   631 +
 libsanitizer/asan/asan_allocator.cc                |  1045 ++
 libsanitizer/asan/asan_allocator.h                 |   177 +
 libsanitizer/asan/asan_flags.h                     |   103 +
 libsanitizer/asan/asan_globals.cc                  |   206 +
 libsanitizer/asan/asan_intercepted_functions.h     |   217 +
 libsanitizer/asan/asan_interceptors.cc             |   704 +
 libsanitizer/asan/asan_interceptors.h              |    39 +
 libsanitizer/asan/asan_internal.h                  |   169 +
 libsanitizer/asan/asan_linux.cc                    |   150 +
 libsanitizer/asan/asan_lock.h                      |    40 +
 libsanitizer/asan/asan_mac.cc                      |   526 +
 libsanitizer/asan/asan_mac.h                       |    54 +
 libsanitizer/asan/asan_malloc_linux.cc             |   142 +
 libsanitizer/asan/asan_malloc_mac.cc               |   427 +
 libsanitizer/asan/asan_malloc_win.cc               |   140 +
 libsanitizer/asan/asan_mapping.h                   |   120 +
 libsanitizer/asan/asan_new_delete.cc               |    54 +
 libsanitizer/asan/asan_poisoning.cc                |   151 +
 libsanitizer/asan/asan_posix.cc                    |   118 +
 libsanitizer/asan/asan_report.cc                   |   492 +
 libsanitizer/asan/asan_report.h                    |    51 +
 libsanitizer/asan/asan_rtl.cc                      |   404 +
 libsanitizer/asan/asan_stack.cc                    |    35 +
 libsanitizer/asan/asan_stack.h                     |    52 +
 libsanitizer/asan/asan_stats.cc                    |    86 +
 libsanitizer/asan/asan_stats.h                     |    65 +
 libsanitizer/asan/asan_thread.cc                   |   153 +
 libsanitizer/asan/asan_thread.h                    |   103 +
 libsanitizer/asan/asan_thread_registry.cc          |   188 +
 libsanitizer/asan/asan_thread_registry.h           |    83 +
 libsanitizer/asan/asan_win.cc                      |   190 +
 libsanitizer/asan/libtool-version                  |     6 +
 libsanitizer/config.guess                          |  1530 ++
 libsanitizer/config.sub                            |  1773 ++
 libsanitizer/configure                             | 17589 +++++++++++++++++++
 libsanitizer/configure.ac                          |    42 +
 libsanitizer/depcomp                               |   630 +
 libsanitizer/include/sanitizer/asan_interface.h    |   197 +
 .../include/sanitizer/common_interface_defs.h      |    66 +
 libsanitizer/install-sh                            |   527 +
 libsanitizer/interception/Makefile.am              |    59 +
 libsanitizer/interception/Makefile.in              |   535 +
 libsanitizer/interception/interception.h           |   195 +
 libsanitizer/interception/interception_linux.cc    |    28 +
 libsanitizer/interception/interception_linux.h     |    35 +
 libsanitizer/interception/interception_mac.cc      |    29 +
 libsanitizer/interception/interception_mac.h       |    47 +
 libsanitizer/interception/interception_win.cc      |   149 +
 libsanitizer/interception/interception_win.h       |    43 +
 libsanitizer/libtool-version                       |     6 +
 libsanitizer/ltmain.sh                             |  9661 ++++++++++
 libsanitizer/missing                               |   376 +
 libsanitizer/sanitizer_common/Makefile.am          |    71 +
 libsanitizer/sanitizer_common/Makefile.in          |   564 +
 .../sanitizer_common/sanitizer_allocator.cc        |    83 +
 .../sanitizer_common/sanitizer_allocator64.h       |   573 +
 libsanitizer/sanitizer_common/sanitizer_atomic.h   |    63 +
 .../sanitizer_common/sanitizer_atomic_clang.h      |   120 +
 .../sanitizer_common/sanitizer_atomic_msvc.h       |   134 +
 libsanitizer/sanitizer_common/sanitizer_common.cc  |   151 +
 libsanitizer/sanitizer_common/sanitizer_common.h   |   181 +
 libsanitizer/sanitizer_common/sanitizer_flags.cc   |    95 +
 libsanitizer/sanitizer_common/sanitizer_flags.h    |    25 +
 .../sanitizer_common/sanitizer_internal_defs.h     |   186 +
 libsanitizer/sanitizer_common/sanitizer_libc.cc    |   189 +
 libsanitizer/sanitizer_common/sanitizer_libc.h     |    69 +
 libsanitizer/sanitizer_common/sanitizer_linux.cc   |   296 +
 libsanitizer/sanitizer_common/sanitizer_list.h     |   118 +
 libsanitizer/sanitizer_common/sanitizer_mac.cc     |   249 +
 libsanitizer/sanitizer_common/sanitizer_mutex.h    |   106 +
 .../sanitizer_common/sanitizer_placement_new.h     |    31 +
 libsanitizer/sanitizer_common/sanitizer_posix.cc   |   187 +
 libsanitizer/sanitizer_common/sanitizer_printf.cc  |   196 +
 libsanitizer/sanitizer_common/sanitizer_procmaps.h |    95 +
 .../sanitizer_common/sanitizer_stackdepot.cc       |   194 +
 .../sanitizer_common/sanitizer_stackdepot.h        |    27 +
 .../sanitizer_common/sanitizer_stacktrace.cc       |   245 +
 .../sanitizer_common/sanitizer_stacktrace.h        |    73 +
 .../sanitizer_common/sanitizer_symbolizer.cc       |   311 +
 .../sanitizer_common/sanitizer_symbolizer.h        |    97 +
 .../sanitizer_common/sanitizer_symbolizer_linux.cc |   162 +
 .../sanitizer_common/sanitizer_symbolizer_mac.cc   |    31 +
 .../sanitizer_common/sanitizer_symbolizer_win.cc   |    33 +
 libsanitizer/sanitizer_common/sanitizer_win.cc     |   205 +
 99 files changed, 56908 insertions(+), 1 deletion(-)
 create mode 100644 ChangeLog.asan
 create mode 100644 libsanitizer/ChangeLog.asan
 create mode 100644 libsanitizer/LICENSE.TXT
 create mode 100644 libsanitizer/Makefile.am
 create mode 100644 libsanitizer/Makefile.in
 create mode 100644 libsanitizer/README.gcc
 create mode 100644 libsanitizer/aclocal.m4
 create mode 100644 libsanitizer/asan/Makefile.am
 create mode 100644 libsanitizer/asan/Makefile.in
 create mode 100644 libsanitizer/asan/asan_allocator.cc
 create mode 100644 libsanitizer/asan/asan_allocator.h
 create mode 100644 libsanitizer/asan/asan_flags.h
 create mode 100644 libsanitizer/asan/asan_globals.cc
 create mode 100644 libsanitizer/asan/asan_intercepted_functions.h
 create mode 100644 libsanitizer/asan/asan_interceptors.cc
 create mode 100644 libsanitizer/asan/asan_interceptors.h
 create mode 100644 libsanitizer/asan/asan_internal.h
 create mode 100644 libsanitizer/asan/asan_linux.cc
 create mode 100644 libsanitizer/asan/asan_lock.h
 create mode 100644 libsanitizer/asan/asan_mac.cc
 create mode 100644 libsanitizer/asan/asan_mac.h
 create mode 100644 libsanitizer/asan/asan_malloc_linux.cc
 create mode 100644 libsanitizer/asan/asan_malloc_mac.cc
 create mode 100644 libsanitizer/asan/asan_malloc_win.cc
 create mode 100644 libsanitizer/asan/asan_mapping.h
 create mode 100644 libsanitizer/asan/asan_new_delete.cc
 create mode 100644 libsanitizer/asan/asan_poisoning.cc
 create mode 100644 libsanitizer/asan/asan_posix.cc
 create mode 100644 libsanitizer/asan/asan_report.cc
 create mode 100644 libsanitizer/asan/asan_report.h
 create mode 100644 libsanitizer/asan/asan_rtl.cc
 create mode 100644 libsanitizer/asan/asan_stack.cc
 create mode 100644 libsanitizer/asan/asan_stack.h
 create mode 100644 libsanitizer/asan/asan_stats.cc
 create mode 100644 libsanitizer/asan/asan_stats.h
 create mode 100644 libsanitizer/asan/asan_thread.cc
 create mode 100644 libsanitizer/asan/asan_thread.h
 create mode 100644 libsanitizer/asan/asan_thread_registry.cc
 create mode 100644 libsanitizer/asan/asan_thread_registry.h
 create mode 100644 libsanitizer/asan/asan_win.cc
 create mode 100644 libsanitizer/asan/libtool-version
 create mode 100644 libsanitizer/config.guess
 create mode 100644 libsanitizer/config.sub
 create mode 100755 libsanitizer/configure
 create mode 100644 libsanitizer/configure.ac
 create mode 100644 libsanitizer/depcomp
 create mode 100644 libsanitizer/include/sanitizer/asan_interface.h
 create mode 100644 libsanitizer/include/sanitizer/common_interface_defs.h
 create mode 100644 libsanitizer/install-sh
 create mode 100644 libsanitizer/interception/Makefile.am
 create mode 100644 libsanitizer/interception/Makefile.in
 create mode 100644 libsanitizer/interception/interception.h
 create mode 100644 libsanitizer/interception/interception_linux.cc
 create mode 100644 libsanitizer/interception/interception_linux.h
 create mode 100644 libsanitizer/interception/interception_mac.cc
 create mode 100644 libsanitizer/interception/interception_mac.h
 create mode 100644 libsanitizer/interception/interception_win.cc
 create mode 100644 libsanitizer/interception/interception_win.h
 create mode 100644 libsanitizer/libtool-version
 create mode 100644 libsanitizer/ltmain.sh
 create mode 100644 libsanitizer/missing
 create mode 100644 libsanitizer/sanitizer_common/Makefile.am
 create mode 100644 libsanitizer/sanitizer_common/Makefile.in
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_allocator.cc
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_allocator64.h
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_atomic.h
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_atomic_clang.h
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_atomic_msvc.h
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_common.cc
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_common.h
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_flags.cc
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_flags.h
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_internal_defs.h
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_libc.cc
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_libc.h
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_linux.cc
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_list.h
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_mac.cc
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_mutex.h
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_placement_new.h
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_posix.cc
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_printf.cc
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_procmaps.h
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_stackdepot.cc
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_stackdepot.h
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_stacktrace.cc
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_stacktrace.h
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_symbolizer.cc
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_symbolizer.h
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_symbolizer_linux.cc
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_symbolizer_mac.cc
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_symbolizer_win.cc
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_win.cc

http://people.redhat.com/~dseketel/gcc/patches/0010-Import-the-asan-runtime-library-into-GCC-tree.patch

-- 
		Dodji


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]