[llvm] [Cygwin] Cygwin general (PR #74944)
εΎζζ Xu Chiheng via llvm-commits
llvm-commits at lists.llvm.org
Sat Dec 9 10:31:36 PST 2023
https://github.com/xu-chiheng updated https://github.com/llvm/llvm-project/pull/74944
>From b51e571dea632cc955f60c671b5afdd2850ec1a0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=BE=90=E6=8C=81=E6=81=92=20Xu=20Chiheng?=
<chiheng.xu at gmail.com>
Date: Sun, 10 Dec 2023 02:17:58 +0800
Subject: [PATCH 1/3] 1
---
llvm/lib/Support/Process.cpp | 19 +++++++++++++++++++
llvm/lib/Support/Windows/Process.inc | 13 -------------
2 files changed, 19 insertions(+), 13 deletions(-)
diff --git a/llvm/lib/Support/Process.cpp b/llvm/lib/Support/Process.cpp
index 30c64d3ed9ed1..6d4a7275f5fa6 100644
--- a/llvm/lib/Support/Process.cpp
+++ b/llvm/lib/Support/Process.cpp
@@ -23,6 +23,10 @@
#include <optional>
#include <stdlib.h> // for _Exit
+#if defined(_WIN32) || defined(__CYGWIN__)
+#include <windows.h>
+#endif
+
using namespace llvm;
using namespace sys;
@@ -102,6 +106,21 @@ bool Process::AreCoreFilesPrevented() { return coreFilesPrevented; }
::exit(RetCode);
}
+#if defined(_WIN32) || defined(__CYGWIN__)
+// This function retrieves the page size using GetNativeSystemInfo() and is
+// present solely so it can be called once to initialize the self_process member
+// below.
+static unsigned computePageSize() {
+ // GetNativeSystemInfo() provides the physical page size which may differ
+ // from GetSystemInfo() in 32-bit applications running under WOW64.
+ SYSTEM_INFO info;
+ GetNativeSystemInfo(&info);
+ // FIXME: FileOffset in MapViewOfFile() should be aligned to not dwPageSize,
+ // but dwAllocationGranularity.
+ return static_cast<unsigned>(info.dwPageSize);
+}
+#endif
+
// Include the platform-specific parts of this class.
#ifdef LLVM_ON_UNIX
#include "Unix/Process.inc"
diff --git a/llvm/lib/Support/Windows/Process.inc b/llvm/lib/Support/Windows/Process.inc
index a54c06d46870b..9addfa6ec805e 100644
--- a/llvm/lib/Support/Windows/Process.inc
+++ b/llvm/lib/Support/Windows/Process.inc
@@ -50,19 +50,6 @@ Process::Pid Process::getProcessId() {
return Pid(::GetCurrentProcessId());
}
-// This function retrieves the page size using GetNativeSystemInfo() and is
-// present solely so it can be called once to initialize the self_process member
-// below.
-static unsigned computePageSize() {
- // GetNativeSystemInfo() provides the physical page size which may differ
- // from GetSystemInfo() in 32-bit applications running under WOW64.
- SYSTEM_INFO info;
- GetNativeSystemInfo(&info);
- // FIXME: FileOffset in MapViewOfFile() should be aligned to not dwPageSize,
- // but dwAllocationGranularity.
- return static_cast<unsigned>(info.dwPageSize);
-}
-
Expected<unsigned> Process::getPageSize() {
static unsigned Ret = computePageSize();
return Ret;
>From f4f6142e597e52ac7498c5437e488809d18cc2a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=BE=90=E6=8C=81=E6=81=92=20Xu=20Chiheng?=
<chiheng.xu at gmail.com>
Date: Sun, 10 Dec 2023 02:29:03 +0800
Subject: [PATCH 2/3] 1
---
llvm/lib/Support/Process.cpp | 25 +++++++++++++------------
1 file changed, 13 insertions(+), 12 deletions(-)
diff --git a/llvm/lib/Support/Process.cpp b/llvm/lib/Support/Process.cpp
index 6d4a7275f5fa6..88c23adb3da23 100644
--- a/llvm/lib/Support/Process.cpp
+++ b/llvm/lib/Support/Process.cpp
@@ -23,10 +23,6 @@
#include <optional>
#include <stdlib.h> // for _Exit
-#if defined(_WIN32) || defined(__CYGWIN__)
-#include <windows.h>
-#endif
-
using namespace llvm;
using namespace sys;
@@ -106,6 +102,19 @@ bool Process::AreCoreFilesPrevented() { return coreFilesPrevented; }
::exit(RetCode);
}
+// Include the platform-specific parts of this class.
+#ifdef LLVM_ON_UNIX
+#include "Unix/Process.inc"
+#endif
+#ifdef _WIN32
+#include "Windows/Process.inc"
+#endif
+
+
+#if defined(_WIN32) || defined(__CYGWIN__)
+#include <windows.h>
+#endif
+
#if defined(_WIN32) || defined(__CYGWIN__)
// This function retrieves the page size using GetNativeSystemInfo() and is
// present solely so it can be called once to initialize the self_process member
@@ -120,11 +129,3 @@ static unsigned computePageSize() {
return static_cast<unsigned>(info.dwPageSize);
}
#endif
-
-// Include the platform-specific parts of this class.
-#ifdef LLVM_ON_UNIX
-#include "Unix/Process.inc"
-#endif
-#ifdef _WIN32
-#include "Windows/Process.inc"
-#endif
>From 35894de7688635b491228be50081e2733b21ad92 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=BE=90=E6=8C=81=E6=81=92=20Xu=20Chiheng?=
<chiheng.xu at gmail.com>
Date: Sun, 10 Dec 2023 02:31:12 +0800
Subject: [PATCH 3/3] 1
---
llvm/lib/Support/Process.cpp | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/llvm/lib/Support/Process.cpp b/llvm/lib/Support/Process.cpp
index 88c23adb3da23..9e07e086f5661 100644
--- a/llvm/lib/Support/Process.cpp
+++ b/llvm/lib/Support/Process.cpp
@@ -102,6 +102,10 @@ bool Process::AreCoreFilesPrevented() { return coreFilesPrevented; }
::exit(RetCode);
}
+#if defined(_WIN32) || defined(__CYGWIN__)
+static unsigned computePageSize();
+#endif
+
// Include the platform-specific parts of this class.
#ifdef LLVM_ON_UNIX
#include "Unix/Process.inc"
@@ -113,9 +117,7 @@ bool Process::AreCoreFilesPrevented() { return coreFilesPrevented; }
#if defined(_WIN32) || defined(__CYGWIN__)
#include <windows.h>
-#endif
-#if defined(_WIN32) || defined(__CYGWIN__)
// This function retrieves the page size using GetNativeSystemInfo() and is
// present solely so it can be called once to initialize the self_process member
// below.
More information about the llvm-commits
mailing list