From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1814) id B56153858D3C; Wed, 1 Mar 2023 13:47:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B56153858D3C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1677678435; bh=kX8wn/td9ucTiQaNoaxAW1bb9j1nPALjuj5RgJOxd6I=; h=From:To:Subject:Date:From; b=yRpBeY99k/oJDFnvjqD6JxMczIWy3w5Kj0nI85zalhVb5yt2nLgLkX0R6kQFPPNvM QMqmNmkkioeFcn/88qb+GZZi3bF0JEkqYcS3WH6AjAAvx/dcyud/aYFJV9xZ6GiCW/ pMHtEqRupzGcn/xyi/cPKLYxZyzvvMboLP90Xpgc= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Jonathan Yong To: gcc-cvs@gcc.gnu.org Subject: [gcc r13-6392] gcc: Remove size limit of PCH for *-*-mingw32 hosts X-Act-Checkin: gcc X-Git-Author: LIU Hao X-Git-Refname: refs/heads/master X-Git-Oldrev: 560f1db37130c07f1e8a0788fac9a800640c59ad X-Git-Newrev: f769d22ab685671095525d09ef29eeeed0ae3cee Message-Id: <20230301134715.B56153858D3C@sourceware.org> Date: Wed, 1 Mar 2023 13:47:15 +0000 (GMT) List-Id: https://gcc.gnu.org/g:f769d22ab685671095525d09ef29eeeed0ae3cee commit r13-6392-gf769d22ab685671095525d09ef29eeeed0ae3cee Author: LIU Hao Date: Tue May 10 13:19:07 2022 +0800 gcc: Remove size limit of PCH for *-*-mingw32 hosts PCHs can now be relocated, so the size limit makes no sense any more. This patch was submited to MSYS2 9 months ago for GCC 12. No issue has been reported so far. Reference: https://github.com/msys2/MINGW-packages/blob/717d5a5a09e2370e3bd7e12b393a26dbfbe48921/mingw-w64-gcc/0010-Fix-using-large-PCH.patch Signed-off-by: LIU Hao gcc/ChangeLog: PR pch/14940 * config/i386/host-mingw32.cc (mingw32_gt_pch_get_address): Remove the size limit `pch_VA_max_size` Signed-off-by: Jonathan Yong <10walls@gmail.com> Diff: --- gcc/config/i386/host-mingw32.cc | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/gcc/config/i386/host-mingw32.cc b/gcc/config/i386/host-mingw32.cc index aeee956ed11..acff6138d63 100644 --- a/gcc/config/i386/host-mingw32.cc +++ b/gcc/config/i386/host-mingw32.cc @@ -44,9 +44,6 @@ static size_t mingw32_gt_pch_alloc_granularity (void); static inline void w32_error(const char*, const char*, int, const char*); -/* FIXME: Is this big enough? */ -static const size_t pch_VA_max_size = 128 * 1024 * 1024; - /* Granularity for reserving address space. */ static size_t va_granularity = 0x10000; @@ -88,9 +85,6 @@ static void * mingw32_gt_pch_get_address (size_t size, int) { void* res; - size = (size + va_granularity - 1) & ~(va_granularity - 1); - if (size > pch_VA_max_size) - return NULL; /* FIXME: We let system determine base by setting first arg to NULL. Allocating at top of available address space avoids unnecessary @@ -100,7 +94,7 @@ mingw32_gt_pch_get_address (size_t size, int) If we allocate at bottom we need to reserve the address as early as possible and at the same point in each invocation. */ - res = VirtualAlloc (NULL, pch_VA_max_size, + res = VirtualAlloc (NULL, size, MEM_RESERVE | MEM_TOP_DOWN, PAGE_NOACCESS); if (!res) @@ -150,7 +144,7 @@ mingw32_gt_pch_use_address (void *&addr, size_t size, int fd, /* Offset must be also be a multiple of allocation granularity for this to work. We can't change the offset. */ - if ((offset & (va_granularity - 1)) != 0 || size > pch_VA_max_size) + if ((offset & (va_granularity - 1)) != 0) return -1;