[Bug bootstrap/95934] New: bootstrap fails in compiler assert in sanitizer_platform_limits_posix.cpp:1136

andi-gcc at firstfloor dot org gcc-bugzilla@gcc.gnu.org
Sat Jun 27 04:51:53 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95934

            Bug ID: 95934
           Summary: bootstrap fails in compiler assert in
                    sanitizer_platform_limits_posix.cpp:1136
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
          Assignee: unassigned at gcc dot gnu.org
          Reporter: andi-gcc at firstfloor dot org
  Target Milestone: ---

commit e74c281bf4955eea7fdc5f21b43e29fa0235a5b0 (HEAD -> trunk, origin/trunk,
origin/master, origin/HEAD)

make bootstrap fails with 


../../../../gcc/libsanitizer/sanitizer_common/sanitizer_internal_defs.h:336:30:
note: in expansion of macro 'IMPL_COMPILER_ASSERT'
  336 | #define COMPILER_CHECK(pred) IMPL_COMPILER_ASSERT(pred, __LINE__)
      |                              ^~~~~~~~~~~~~~~~~~~~
../../../../gcc/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h:1442:3:
note: in expansion of macro 'COMPILER_CHECK'
 1442 |   COMPILER_CHECK(sizeof(((__sanitizer_##CLASS *)NULL)->MEMBER) == \
      |   ^~~~~~~~~~~~~~
../../../../gcc/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp:1136:1:
note: in expansion of macro 'CHECK_SIZE_AND_OFFSET'
 1136 | CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
      | ^~~~~~~~~~~~~~~~~~~~~


Works fine when I comment out the assert. There already is a ifdef checking for
lots of cases, seems it doesn't work on mine either. This is with a recent

glibc-2.31-5.9.x86_64

(opensuse glibc)


Perhaps the assert should just be disabled like this?
(patch is likely white space damaged)


diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
index b4f8f67b664..bb6377b70cb 100644
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
@@ -1133,7 +1133,7 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, cgid);
 /* On aarch64 glibc 2.20 and earlier provided incorrect mode field.  */
 /* On Arm newer glibc provide a different mode field, it's hard to detect
    so just disable the check.  */
-CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
+//CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
 #endif

 CHECK_TYPE_SIZE(shmid_ds);


More information about the Gcc-bugs mailing list