diff options
Diffstat (limited to '0003-Fix-error-size-of-array-is-negative.patch')
| -rw-r--r-- | 0003-Fix-error-size-of-array-is-negative.patch | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/0003-Fix-error-size-of-array-is-negative.patch b/0003-Fix-error-size-of-array-is-negative.patch new file mode 100644 index 0000000..045d997 --- /dev/null +++ b/0003-Fix-error-size-of-array-is-negative.patch @@ -0,0 +1,56 @@ +From 9e7125069ad4f7f02ebc1e7d163b438e17ab2174 Mon Sep 17 00:00:00 2001 +From: <zhangwuji1@huawei.com> +Date: Wed, 7 Jun 2023 15:54:37 +0000 +Subject: [PATCH] Fix error 'size of array is negative' + +https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=4abc46b51af5751d657764d0c44b8a4aeed06302 +--- + .../sanitizer_common/sanitizer_platform_limits_posix.cc | 5 +++-- + .../sanitizer_common/sanitizer_platform_limits_posix.h | 9 +-------- + 2 files changed, 4 insertions(+), 10 deletions(-) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +index aae5ec2fe82..2793ce32aa0 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 e3cd4e6bb76..a9dc64b38f2 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +@@ -211,20 +211,13 @@ namespace __sanitizer { + 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) +-- +2.34.1 + |
