fix libsanitizer build with -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 on 32bit architectures
Message ID | b56ef43a-4e02-4503-b775-ec67ddfea616@debian.org |
---|---|
State | Corrupt patch |
Headers |
Return-Path: <gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:a81b:b0:108:e6aa:91d0 with SMTP id bq27csp171903dyb; Thu, 22 Feb 2024 11:49:32 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXa6oXnZPF/MdUgd9hqT9cObFj8i1Zp4uQyoH9kh2dOKoEYCG867rcdqgFLMMyJdNkEx4SEexB6wpNpOrLCCOUKtn03DQ== X-Google-Smtp-Source: AGHT+IEafTyP3raMhZc5PfMxaqstCI2U6BZCUYN6bZKtZekrS5EVbz0NSVZlkH4Hh0pBxbESHWzD X-Received: by 2002:a05:622a:251:b0:42e:5a5f:4193 with SMTP id c17-20020a05622a025100b0042e5a5f4193mr172170qtx.37.1708631372041; Thu, 22 Feb 2024 11:49:32 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708631372; cv=pass; d=google.com; s=arc-20160816; b=C7KCfNvj+kKxxiIk6hdQAfpfQbusdE9or41YLFoBcc+Yrndr7xIQR4cp/0q3H6EgDk Jf4L3TSYsimH7NzjRUysRsBsEbLbD6eWWSuNbLSgmmHlpXDB9Wmfk/7sB4sYg984oiqH tsKHsrcu+tn6EwRFioNbHt62jPxTQTgAvPLOnrwAtT6AY6GfRvDlIOPBKbKqAlIdpK6s iLyg/Y25LAs3DDxNd3Ug4EPkiYHQG10Kt8roVoUcMMU6q3yk8lYha/dihAeXcfQ+auVG yhdAgR2ymrteOvrUL2qcaMlfyQgED09L3LEyYg9usnI7CHwYMN0TuowZbMxH6JaDGo1E altg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :subject:from:to:content-language:user-agent:mime-version:date :message-id:arc-filter:dmarc-filter:delivered-to; bh=GY0BvxaNhve0hZ3OjZkcFboE2OPJRlg9RDaoSqFDOdI=; fh=V0NScpQ59xT1PywktYwc+QlNkdmH5eFpdMdQcSk3zrc=; b=fTbz0jWiAE9HSxOB7pHQkM6z/9js5sM15fCnhVS4SB6KU10he1GnteJTp9HTa27QE/ 1uwwKD2lvvv827/8jsknVUDgYQEqaevjXUdmUoMVRiR2wdjWJCfCzfjaEilpA2dbjN1c UOI44vmKRgi1K4xCxGe4MraPyolA5S5dUDh6HLJznMMqviij/ab9XP70QMZuerrO3iiZ QlFm1fzzi+x7YV1hZdlP/uMbfjK6eAJvvnR3uHo7m8WF6YmNv19wUx3XqWyEb+hL7Utn 79Aor43+jdHZHIjAmePNyK0RYHh/BPq9+hhK2wylrjzIlzDwhkv15/uy53QJadXlQvd8 EWGw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id f16-20020ac85d10000000b0042dbff8cdbesi14042780qtx.396.2024.02.22.11.49.31 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Feb 2024 11:49:32 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B9EBF3858424 for <ouuuleilei@gmail.com>; Thu, 22 Feb 2024 19:49:31 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from einhorn-mail-out.in-berlin.de (einhorn.in-berlin.de [192.109.42.8]) by sourceware.org (Postfix) with ESMTPS id 7EB053858425 for <gcc-patches@gcc.gnu.org>; Thu, 22 Feb 2024 19:48:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7EB053858425 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=debian.org Authentication-Results: sourceware.org; spf=none smtp.mailfrom=debian.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 7EB053858425 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=192.109.42.8 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1708631331; cv=none; b=XVNYbL7+JQxi0U5JZGtpRkDEMU4cLD1neYxf+zOOdMImT1d/V1PwH1GYMnbKRl/KAavqn8WnQLTEvPCS2D+HwlowmASU2JWWPbHJ15DxTFbsGKt9NOxp9F+GLJXcN8FWQyYxL/2noElsWVzFuA6t2dMGzLL86MMqHb4BEhsXGXQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1708631331; c=relaxed/simple; bh=EsYsf1o5xWWavgcz4lc3tBzFTXYaICe/KrwNZYpDZXA=; h=Message-ID:Date:MIME-Version:To:From:Subject; b=sNV8KOtFBToJnAvEomD9xKcL6/VGp7wbCZlty4EXkdtg493dlTpcy3aSghnQszBd45waMdvn8HecDt3JA8juRLINugSXTdQqfOATy6Af1nVx0bANA04yYwPcgmmAnO8HD7J+0/aXib6uBHFk1eYR617wiX4NEGsI727celWzieo= ARC-Authentication-Results: i=1; server2.sourceware.org X-Envelope-From: doko@debian.org Received: from authenticated.user (localhost [127.0.0.1]) by einhorn.in-berlin.de with ESMTPSA id 41MJmhSX3079242 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Thu, 22 Feb 2024 20:48:46 +0100 Message-ID: <b56ef43a-4e02-4503-b775-ec67ddfea616@debian.org> Date: Thu, 22 Feb 2024 20:48:43 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: gcc-patches@gcc.gnu.org, ro@CeBiTec.Uni-Bielefeld.DE From: Matthias Klose <doko@debian.org> Subject: [patch] fix libsanitizer build with -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 on 32bit architectures Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00, FORGED_SPF_HELO, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list <gcc-patches.gcc.gnu.org> List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe> List-Archive: <https://gcc.gnu.org/pipermail/gcc-patches/> List-Post: <mailto:gcc-patches@gcc.gnu.org> List-Help: <mailto:gcc-patches-request@gcc.gnu.org?subject=help> List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1791629849682194196 X-GMAIL-MSGID: 1791629849682194196 |
Series |
fix libsanitizer build with -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 on 32bit architectures
|
|
Checks
Context | Check | Description |
---|---|---|
snail/gcc-patch-check | warning | Git am fail log |
Commit Message
Matthias Klose
Feb. 22, 2024, 7:48 p.m. UTC
libsanitizer fails to build with -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64, triggering an #error in /usr/include/features-time64.h // Must go after undef _FILE_OFFSET_BITS. The patch to sanitizer_platform_limits_posix.cpp is already present in trunk, but missing from the branches. Because all platform files are built in GCC, you also see the failure in sanitizer_procmaps_solaris.cpp. Just doing the same as for the posix files fixes the issue and libsanitizer builds again. Does this have any effect on the solaris builds? If not, ok for the trunk and the branches? Matthias
Comments
Hi Matthias, > libsanitizer fails to build with -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64, > triggering an #error in /usr/include/features-time64.h > > --- a/libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp > +++ b/libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp > @@ -11,6 +11,7 @@ > > // Before Solaris 11.4, <procfs.h> doesn't work in a largefile > environment. > #undef _FILE_OFFSET_BITS > +#undef _TIME_BITS > #include "sanitizer_platform.h" > #if SANITIZER_SOLARIS > # include <fcntl.h> > --- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp > +++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp > @@ -18,6 +18,7 @@ > // depends on _FILE_OFFSET_BITS setting. > // To get this "true" dirent definition, we undefine _FILE_OFFSET_BITS > below. > #undef _FILE_OFFSET_BITS > +#undef _TIME_BITS > #endif > > // Must go after undef _FILE_OFFSET_BITS. > > > The patch to sanitizer_platform_limits_posix.cpp is already present in > trunk, but missing from the branches. > > Because all platform files are built in GCC, you also see the failure in > sanitizer_procmaps_solaris.cpp. Just doing the same as for the posix > files fixes the issue and libsanitizer builds again. > > Does this have any effect on the solaris builds? If not, ok for the trunk > and the branches? Since _TIME_BITS isn't used in Solaris system headers at all, there's no impact. However, the sanitizer_procmaps_solaris.cpp change needs to go into upstream LLVM first and can only then be cherry-picked into libsanitizer once it has been committed there. Rainer
--- a/libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp +++ b/libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp @@ -11,6 +11,7 @@ // Before Solaris 11.4, <procfs.h> doesn't work in a largefile environment. #undef _FILE_OFFSET_BITS +#undef _TIME_BITS #include "sanitizer_platform.h" #if SANITIZER_SOLARIS # include <fcntl.h> --- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp +++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp @@ -18,6 +18,7 @@ // depends on _FILE_OFFSET_BITS setting. // To get this "true" dirent definition, we undefine _FILE_OFFSET_BITS below. #undef _FILE_OFFSET_BITS +#undef _TIME_BITS #endif