Message ID | 583EC1C9.4000700@samsung.com |
---|---|
State | New |
Headers | show |
On Wed, Nov 30, 2016 at 03:10:49PM +0300, Maxim Ostapenko wrote: > Hi, > > this patch restores libsanitizer build on sparc64-linux-gnu with Glibc 2.20+ > on board. > I verified that this patch fixes the build error locally with Glibc 2.24. > > Ok for mainline? > libsanitizer/ChangeLog: > > 2016-11-30 Maxim Ostapenko <m.ostapenko@samsung.com> > > PR sanitizer/78532 > * sanitizer_common/sanitizer_platform_limits_posix.h > (__sanitizer_sigaction): Adjust for sparc targets and various Glibc > versions. Ok, but please mention it in LOCAL-PATCHES. Jakub
libsanitizer/ChangeLog: 2016-11-30 Maxim Ostapenko <m.ostapenko@samsung.com> PR sanitizer/78532 * sanitizer_common/sanitizer_platform_limits_posix.h (__sanitizer_sigaction): Adjust for sparc targets and various Glibc versions. diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h index d1a3051..066bf41 100644 --- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h @@ -25,6 +25,10 @@ # define GET_LINK_MAP_BY_DLOPEN_HANDLE(handle) ((link_map*)(handle)) #endif // !SANITIZER_FREEBSD +#ifndef __GLIBC_PREREQ +#define __GLIBC_PREREQ(x, y) 0 +#endif + namespace __sanitizer { extern unsigned struct_utsname_sz; extern unsigned struct_stat_sz; @@ -628,7 +632,14 @@ namespace __sanitizer { #endif #ifndef __mips__ #if defined(__sparc__) +#if __GLIBC_PREREQ (2, 20) + // On sparc glibc 2.19 and earlier sa_flags was unsigned long, and + // __glibc_reserved0 didn't exist. + int __glibc_reserved0; + int sa_flags; +#else unsigned long sa_flags; +#endif #else int sa_flags; #endif