diff options
author | Yiran Wang <yiran@google.com> | 2015-06-23 15:33:17 -0700 |
---|---|---|
committer | Yiran Wang <yiran@google.com> | 2015-06-29 10:56:28 -0700 |
commit | 1d9fec7937f45dde5e04cac966a2d9a12f2fc15a (patch) | |
tree | 3fbcd18a379a05fd6d43491a107e1f36bc61b185 /gcc-4.9/libsanitizer | |
parent | f378ebf14df0952eae870c9865bab8326aa8f137 (diff) | |
download | toolchain_gcc-1d9fec7937f45dde5e04cac966a2d9a12f2fc15a.zip toolchain_gcc-1d9fec7937f45dde5e04cac966a2d9a12f2fc15a.tar.gz toolchain_gcc-1d9fec7937f45dde5e04cac966a2d9a12f2fc15a.tar.bz2 |
Synchronize with google/gcc-4_9 to r224707 (from r214835)
Change-Id: I3d6f06fc613c8f8b6a82143dc44b7338483aac5d
Diffstat (limited to 'gcc-4.9/libsanitizer')
-rw-r--r-- | gcc-4.9/libsanitizer/ChangeLog | 28 | ||||
-rw-r--r-- | gcc-4.9/libsanitizer/Makefile.am | 9 | ||||
-rw-r--r-- | gcc-4.9/libsanitizer/Makefile.in | 64 | ||||
-rw-r--r-- | gcc-4.9/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc | 3 | ||||
-rw-r--r-- | gcc-4.9/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h | 56 |
5 files changed, 140 insertions, 20 deletions
diff --git a/gcc-4.9/libsanitizer/ChangeLog b/gcc-4.9/libsanitizer/ChangeLog index 840bca8..23bcabe 100644 --- a/gcc-4.9/libsanitizer/ChangeLog +++ b/gcc-4.9/libsanitizer/ChangeLog @@ -1,3 +1,31 @@ +2014-10-30 Release Manager + + * GCC 4.9.2 released. + +2014-10-16 Yury Gribov <y.gribov@samsung.com> + + Backport from mainline + 2014-05-14 Yury Gribov <y.gribov@samsung.com> + + PR sanitizer/61100 + + * Makefile.am (nodist_saninclude_HEADERS): Install + public headers. + * Makefile.in: Regenerate. + +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-07-16 Release Manager * GCC 4.9.1 released. diff --git a/gcc-4.9/libsanitizer/Makefile.am b/gcc-4.9/libsanitizer/Makefile.am index b0dc582..6b0c571 100644 --- a/gcc-4.9/libsanitizer/Makefile.am +++ b/gcc-4.9/libsanitizer/Makefile.am @@ -1,7 +1,13 @@ ACLOCAL_AMFLAGS = -I .. -I ../config +sanincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include/sanitizer + +nodist_saninclude_HEADERS = + if SANITIZER_SUPPORTED SUBDIRS = sanitizer_common +nodist_saninclude_HEADERS += \ + include/sanitizer/common_interface_defs.h if !USING_MAC_INTERPOSE SUBDIRS += interception endif @@ -9,6 +15,9 @@ if LIBBACKTRACE_SUPPORTED SUBDIRS += libbacktrace endif SUBDIRS += lsan asan ubsan +nodist_saninclude_HEADERS += \ + include/sanitizer/lsan_interface.h \ + include/sanitizer/asan_interface.h if TSAN_SUPPORTED SUBDIRS += tsan endif diff --git a/gcc-4.9/libsanitizer/Makefile.in b/gcc-4.9/libsanitizer/Makefile.in index 60cbe2e..0b89245 100644 --- a/gcc-4.9/libsanitizer/Makefile.in +++ b/gcc-4.9/libsanitizer/Makefile.in @@ -35,9 +35,12 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ -@SANITIZER_SUPPORTED_TRUE@@USING_MAC_INTERPOSE_FALSE@am__append_1 = interception -@LIBBACKTRACE_SUPPORTED_TRUE@@SANITIZER_SUPPORTED_TRUE@am__append_2 = libbacktrace -@SANITIZER_SUPPORTED_TRUE@@TSAN_SUPPORTED_TRUE@am__append_3 = tsan +@SANITIZER_SUPPORTED_TRUE@am__append_1 = include/sanitizer/common_interface_defs.h \ +@SANITIZER_SUPPORTED_TRUE@ include/sanitizer/lsan_interface.h \ +@SANITIZER_SUPPORTED_TRUE@ include/sanitizer/asan_interface.h +@SANITIZER_SUPPORTED_TRUE@@USING_MAC_INTERPOSE_FALSE@am__append_2 = interception +@LIBBACKTRACE_SUPPORTED_TRUE@@SANITIZER_SUPPORTED_TRUE@am__append_3 = libbacktrace +@SANITIZER_SUPPORTED_TRUE@@TSAN_SUPPORTED_TRUE@am__append_4 = tsan subdir = . DIST_COMMON = ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/configure $(am__configure_deps) \ @@ -98,8 +101,9 @@ am__nobase_list = $(am__nobase_strip_setup); \ am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__installdirs = "$(DESTDIR)$(toolexeclibdir)" -HEADERS = $(nodist_toolexeclib_HEADERS) +am__installdirs = "$(DESTDIR)$(sanincludedir)" \ + "$(DESTDIR)$(toolexeclibdir)" +HEADERS = $(nodist_saninclude_HEADERS) $(nodist_toolexeclib_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ @@ -250,9 +254,11 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ACLOCAL_AMFLAGS = -I .. -I ../config -@SANITIZER_SUPPORTED_TRUE@SUBDIRS = sanitizer_common $(am__append_1) \ -@SANITIZER_SUPPORTED_TRUE@ $(am__append_2) lsan asan ubsan \ -@SANITIZER_SUPPORTED_TRUE@ $(am__append_3) +sanincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include/sanitizer +nodist_saninclude_HEADERS = $(am__append_1) +@SANITIZER_SUPPORTED_TRUE@SUBDIRS = sanitizer_common $(am__append_2) \ +@SANITIZER_SUPPORTED_TRUE@ $(am__append_3) lsan asan ubsan \ +@SANITIZER_SUPPORTED_TRUE@ $(am__append_4) gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) # Work around what appears to be a GNU make bug handling MAKEFLAGS @@ -378,6 +384,26 @@ distclean-multi: $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE) maintainer-clean-multi: $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE) +install-nodist_sanincludeHEADERS: $(nodist_saninclude_HEADERS) + @$(NORMAL_INSTALL) + test -z "$(sanincludedir)" || $(MKDIR_P) "$(DESTDIR)$(sanincludedir)" + @list='$(nodist_saninclude_HEADERS)'; test -n "$(sanincludedir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(sanincludedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(sanincludedir)" || exit $$?; \ + done + +uninstall-nodist_sanincludeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(nodist_saninclude_HEADERS)'; test -n "$(sanincludedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(sanincludedir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(sanincludedir)" && rm -f $$files install-nodist_toolexeclibHEADERS: $(nodist_toolexeclib_HEADERS) @$(NORMAL_INSTALL) test -z "$(toolexeclibdir)" || $(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)" @@ -538,7 +564,7 @@ check: check-recursive all-am: Makefile all-multi $(HEADERS) config.h installdirs: installdirs-recursive installdirs-am: - for dir in "$(DESTDIR)$(toolexeclibdir)"; do \ + for dir in "$(DESTDIR)$(sanincludedir)" "$(DESTDIR)$(toolexeclibdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive @@ -588,7 +614,7 @@ info: info-recursive info-am: -install-data-am: +install-data-am: install-nodist_sanincludeHEADERS install-dvi: install-dvi-recursive @@ -634,7 +660,8 @@ ps: ps-recursive ps-am: -uninstall-am: uninstall-nodist_toolexeclibHEADERS +uninstall-am: uninstall-nodist_sanincludeHEADERS \ + uninstall-nodist_toolexeclibHEADERS .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all all-multi \ clean-multi ctags-recursive distclean-multi install-am \ @@ -649,13 +676,14 @@ uninstall-am: uninstall-nodist_toolexeclibHEADERS info-am install install-am install-data install-data-am \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ - install-man install-multi install-nodist_toolexeclibHEADERS \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - maintainer-clean-multi mostlyclean mostlyclean-generic \ - mostlyclean-libtool mostlyclean-multi pdf pdf-am ps ps-am tags \ - tags-recursive uninstall uninstall-am \ + install-man install-multi install-nodist_sanincludeHEADERS \ + install-nodist_toolexeclibHEADERS install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic maintainer-clean-multi mostlyclean \ + mostlyclean-generic mostlyclean-libtool mostlyclean-multi pdf \ + pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ + uninstall-nodist_sanincludeHEADERS \ uninstall-nodist_toolexeclibHEADERS diff --git a/gcc-4.9/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc b/gcc-4.9/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc index bc37df0..ac56f33 100644 --- a/gcc-4.9/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc +++ b/gcc-4.9/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc @@ -36,6 +36,7 @@ #define uid_t __kernel_uid_t #define gid_t __kernel_gid_t #define off_t __kernel_off_t +#define time_t __kernel_time_t // This header seems to contain the definitions of _kernel_ stat* structs. #include <asm/stat.h> #undef ino_t @@ -62,7 +63,7 @@ namespace __sanitizer { unsigned struct_statfs64_sz = sizeof(struct statfs64); } // namespace __sanitizer -#if !defined(__powerpc64__) && !defined(__x86_64__) +#if !defined(__powerpc64__) && !defined(__x86_64__) && !defined(__sparc__) COMPILER_CHECK(struct___old_kernel_stat_sz == sizeof(struct __old_kernel_stat)); #endif diff --git a/gcc-4.9/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/gcc-4.9/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h index be6e6cf..aec9504 100644 --- a/gcc-4.9/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +++ b/gcc-4.9/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h @@ -67,6 +67,14 @@ namespace __sanitizer { const unsigned struct___old_kernel_stat_sz = 0; const unsigned struct_kernel_stat_sz = 144; const unsigned struct_kernel_stat64_sz = 104; +#elif defined(__sparc__) && defined(__arch64__) + const unsigned struct___old_kernel_stat_sz = 0; + const unsigned struct_kernel_stat_sz = 104; + const unsigned struct_kernel_stat64_sz = 144; +#elif defined(__sparc__) && !defined(__arch64__) + const unsigned struct___old_kernel_stat_sz = 0; + const unsigned struct_kernel_stat_sz = 64; + const unsigned struct_kernel_stat64_sz = 104; #endif struct __sanitizer_perf_event_attr { unsigned type; @@ -145,6 +153,18 @@ namespace __sanitizer { unsigned __seq; u64 __unused1; u64 __unused2; +#elif defined(__sparc__) +# if defined(__arch64__) + unsigned mode; + unsigned short __pad1; +# else + unsigned short __pad1; + unsigned short mode; + unsigned short __pad2; +# endif + unsigned short __seq; + unsigned long long __unused1; + unsigned long long __unused2; #else unsigned short mode; unsigned short __pad1; @@ -162,6 +182,26 @@ namespace __sanitizer { struct __sanitizer_shmid_ds { __sanitizer_ipc_perm shm_perm; + #if defined(__sparc__) + # if !defined(__arch64__) + u32 __pad1; + # endif + long shm_atime; + # if !defined(__arch64__) + u32 __pad2; + # endif + long shm_dtime; + # if !defined(__arch64__) + u32 __pad3; + # endif + long shm_ctime; + uptr shm_segsz; + int shm_cpid; + int shm_lpid; + unsigned long shm_nattch; + unsigned long __glibc_reserved1; + unsigned long __glibc_reserved2; + #else #ifndef __powerpc__ uptr shm_segsz; #elif !defined(__powerpc64__) @@ -199,6 +239,7 @@ namespace __sanitizer { uptr __unused4; uptr __unused5; #endif +#endif }; #endif // SANITIZER_LINUX && !SANITIZER_ANDROID @@ -365,7 +406,11 @@ namespace __sanitizer { void (*sa_sigaction)(int sig, void *siginfo, void *uctx); }; __sanitizer_sigset_t sa_mask; +#if defined(__sparc__) + unsigned long sa_flags; +#else int sa_flags; +#endif #if SANITIZER_LINUX void (*sa_restorer)(); #endif @@ -511,7 +556,16 @@ namespace __sanitizer { }; #endif -#define IOC_SIZE(nr) (((nr) >> 16) & 0x3fff) +#if defined(__sparc__) +// In sparc the 14 bits SIZE field overlaps with the +// least significant bit of DIR, so either IOC_READ or +// IOC_WRITE shall be 1 in order to get a non-zero SIZE. +# define IOC_SIZE(nr) \ + ((((((nr) >> 29) & 0x7) & (4U|2U)) == 0)? \ + 0 : (((nr) >> 16) & 0x3fff)) +#else +# define IOC_SIZE(nr) (((nr) >> 16) & 0x3fff) +#endif extern unsigned struct_arpreq_sz; extern unsigned struct_ifreq_sz; |