This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH 10/10] Import the asan runtime library into GCC tree
- From: Dodji Seketeli <dodji at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: dnovillo at google dot com, jakub at redhat dot com, wmi at google dot com, davidxl at google dot com, konstantin dot s dot serebryany at gmail dot com
- Date: Sat, 03 Nov 2012 09:22:06 +0100
- Subject: [PATCH 10/10] Import the asan runtime library into GCC tree
- References: <1351799566-31447-1-git-send-email-dodji@redhat.com> <87pq3v8vmi.fsf@redhat.com>
[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