diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2019-03-13 09:15:02 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2019-03-13 09:15:02 +0000 |
commit | a196c82cf236299e00704f3fc23eba798bdc6e37 (patch) | |
tree | c968ca32f7a714dddfc9950d802691a4a75795e8 /libsanitizer | |
parent | 36b50aeb4e6f4ed3ab12346c7d3d18215f1acf7a (diff) | |
download | gcc-a196c82cf236299e00704f3fc23eba798bdc6e37.zip gcc-a196c82cf236299e00704f3fc23eba798bdc6e37.tar.gz gcc-a196c82cf236299e00704f3fc23eba798bdc6e37.tar.bz2 |
re PR sanitizer/80953 (Support libsanitizer on Solaris)
PR sanitizer/80953
Merge from LLVM revision 355979
* asan/asan_globals.c (GetGlobalsForAddress): Use internal_memcpy to
copy Global objects for SPARC with GCC.
From-SVN: r269640
Diffstat (limited to 'libsanitizer')
-rw-r--r-- | libsanitizer/ChangeLog | 7 | ||||
-rw-r--r-- | libsanitizer/asan/asan_globals.cc | 4 |
2 files changed, 11 insertions, 0 deletions
diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog index 65df77e..4815db0 100644 --- a/libsanitizer/ChangeLog +++ b/libsanitizer/ChangeLog @@ -1,6 +1,13 @@ 2019-03-13 Eric Botcazou <ebotcazou@adacore.com> PR sanitizer/80953 + Merge from LLVM revision 355979 + * asan/asan_globals.c (GetGlobalsForAddress): Use internal_memcpy to + copy Global objects for SPARC with GCC. + +2019-03-13 Eric Botcazou <ebotcazou@adacore.com> + + PR sanitizer/80953 Merge from LLVM revision 355978 * sanitizer_common/sanitizer_allocator_primary32.h (class SizeClassAllocator32): Assert that kSpaceSize is power of 2 if diff --git a/libsanitizer/asan/asan_globals.cc b/libsanitizer/asan/asan_globals.cc index a59a2dc..10f0909 100644 --- a/libsanitizer/asan/asan_globals.cc +++ b/libsanitizer/asan/asan_globals.cc @@ -112,7 +112,11 @@ int GetGlobalsForAddress(uptr addr, Global *globals, u32 *reg_sites, if (flags()->report_globals >= 2) ReportGlobal(g, "Search"); if (IsAddressNearGlobal(addr, g)) { +#if defined(__GNUC__) && defined(__sparc__) + internal_memcpy(&globals[res], &g, sizeof(g)); +#else globals[res] = g; +#endif if (reg_sites) reg_sites[res] = FindRegistrationSite(&g); res++; |