Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Azkali:Tegra
gcc7
gcc7-libsanitizer-glibc-2.31.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gcc7-libsanitizer-glibc-2.31.patch of Package gcc7
commit c1d3daff9ff5086d3708fa7460539bd381590f8e Author: Matthew Krupcale <krupcalemj@ornl.gov> Date: 2023-03-17 12:25:26 -0400 Fix libsanitizer for glibc 2.31 glibc 2.31 changes data structures reinterpreted by libsanitizer, this patch more accurately models how the structure looks in varying glibc versions. This patch file contains the changes from two upstream GCC commits: ce9568e9e9cf6094be30e748821421e703754ffc 75003cdd23c310ec385344e8040d490e8dd6d2be diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc index a5e029476..86809b5fb 100644 --- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc @@ -1134,8 +1134,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid); CHECK_SIZE_AND_OFFSET(ipc_perm, gid); CHECK_SIZE_AND_OFFSET(ipc_perm, cuid); CHECK_SIZE_AND_OFFSET(ipc_perm, cgid); -#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21) -/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */ +#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31) +/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit + on many architectures. */ CHECK_SIZE_AND_OFFSET(ipc_perm, mode); #endif diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h index 10f7a4f65..a310eb8db 100644 --- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h @@ -204,27 +204,14 @@ namespace __sanitizer { unsigned __seq; u64 __unused1; u64 __unused2; -#elif defined(__mips__) || defined(__aarch64__) || defined(__s390x__) - unsigned int mode; - unsigned short __seq; - unsigned short __pad1; - unsigned long __unused1; - unsigned long __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; + unsigned int mode; unsigned short __seq; unsigned short __pad2; #if defined(__x86_64__) && !defined(_LP64)
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor