crt: Move pesect.c functions into pseudo-reloc.c

All pesect.c functions are called only from pseudo-reloc.c file.
Move them here and mark them as static.

Signed-off-by: LIU Hao <lh_mouse@126.com>
diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index b196372..e6f2064 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -122,7 +122,7 @@
   crt/mingw_dll_ctors_dtors.c \
   crt/crtexewin.c     crt/dll_argv.c  crt/gccmain.c     crt/natstart.c  crt/pseudo-reloc-list.c  crt/wildcard.c \
   crt/charmax.c       crt/ucrtexewin.c crt/dllargv.c    crt/_newmode.c  crt/tlssup.c             crt/xncommod.c \
-  crt/cinitexe.c      crt/merr.c      crt/pesect.c      crt/udllargc.c  crt/xthdloc.c \
+  crt/cinitexe.c      crt/merr.c      crt/udllargc.c    crt/xthdloc.c \
   crt/mingw_custom.c  crt/mingw_helpers.c  \
   crt/pseudo-reloc.c  crt/udll_argv.c      \
   crt/usermatherr.c   \
diff --git a/mingw-w64-crt/crt/pesect.c b/mingw-w64-crt/crt/pesect.c
deleted file mode 100644
index 84326af..0000000
--- a/mingw-w64-crt/crt/pesect.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
-
-#include <windows.h>
-
-extern IMAGE_DOS_HEADER __ImageBase;
-
-static WINBOOL
-_ValidateImageBase (PBYTE pImageBase)
-{
-  PIMAGE_DOS_HEADER pDOSHeader;
-  PIMAGE_NT_HEADERS pNTHeader;
-  PIMAGE_OPTIONAL_HEADER pOptHeader;
-
-  pDOSHeader = (PIMAGE_DOS_HEADER) pImageBase;
-  if (pDOSHeader->e_magic != IMAGE_DOS_SIGNATURE)
-    return FALSE;
-  pNTHeader = (PIMAGE_NT_HEADERS) ((PBYTE) pDOSHeader + pDOSHeader->e_lfanew);
-  if (pNTHeader->Signature != IMAGE_NT_SIGNATURE)
-    return FALSE;
-  pOptHeader = (PIMAGE_OPTIONAL_HEADER) &pNTHeader->OptionalHeader;
-  if (pOptHeader->Magic != IMAGE_NT_OPTIONAL_HDR_MAGIC)
-    return FALSE;
-  return TRUE;
-}
-
-static PIMAGE_SECTION_HEADER
-_FindPESection (PBYTE pImageBase, DWORD_PTR rva)
-{
-  PIMAGE_NT_HEADERS pNTHeader;
-  PIMAGE_SECTION_HEADER pSection;
-  unsigned int iSection;
-
-  pNTHeader = (PIMAGE_NT_HEADERS) (pImageBase + ((PIMAGE_DOS_HEADER) pImageBase)->e_lfanew);
-
-  for (iSection = 0, pSection = IMAGE_FIRST_SECTION (pNTHeader);
-    iSection < pNTHeader->FileHeader.NumberOfSections;
-    ++iSection,++pSection)
-    {
-      if (rva >= pSection->VirtualAddress
-	  && rva < pSection->VirtualAddress + pSection->Misc.VirtualSize)
-	return pSection;
-    }
-  return NULL;
-}
-
-int __mingw_GetSectionCount (void);
-PIMAGE_SECTION_HEADER __mingw_GetSectionForAddress (LPVOID p);
-
-PIMAGE_SECTION_HEADER
-__mingw_GetSectionForAddress (LPVOID p)
-{
-  PBYTE pImageBase;
-  DWORD_PTR rva;
-
-  pImageBase = (PBYTE) &__ImageBase;
-  if (! _ValidateImageBase (pImageBase))
-    return NULL;
-
-  rva = (DWORD_PTR) (((PBYTE) p) - pImageBase);
-  return _FindPESection (pImageBase, rva);
-}
-
-int
-__mingw_GetSectionCount (void)
-{
-  PBYTE pImageBase;
-  PIMAGE_NT_HEADERS pNTHeader;
-
-  pImageBase = (PBYTE) &__ImageBase;
-  if (! _ValidateImageBase (pImageBase))
-    return 0;
-
-  pNTHeader = (PIMAGE_NT_HEADERS) (pImageBase + ((PIMAGE_DOS_HEADER) pImageBase)->e_lfanew);
-
-  return (int) pNTHeader->FileHeader.NumberOfSections;
-}
-
-
-PBYTE _GetPEImageBase (void);
-
-PBYTE
-_GetPEImageBase (void)
-{
-  PBYTE pImageBase;
-  pImageBase = (PBYTE) &__ImageBase;
-  if (! _ValidateImageBase (pImageBase))
-    return NULL;
-  return pImageBase;
-}
diff --git a/mingw-w64-crt/crt/pseudo-reloc.c b/mingw-w64-crt/crt/pseudo-reloc.c
index dd08e71..580dad1 100644
--- a/mingw-w64-crt/crt/pseudo-reloc.c
+++ b/mingw-w64-crt/crt/pseudo-reloc.c
@@ -162,9 +162,84 @@
    the temporary access of code/read-only sections.
    This step speeds up pseudo-relocation pass.  */
 #ifdef __MINGW64_VERSION_MAJOR
-extern int __mingw_GetSectionCount (void);
-extern PIMAGE_SECTION_HEADER __mingw_GetSectionForAddress (LPVOID p);
-extern PBYTE _GetPEImageBase (void);
+
+static WINBOOL
+_ValidateImageBase (PBYTE pImageBase)
+{
+  PIMAGE_DOS_HEADER pDOSHeader;
+  PIMAGE_NT_HEADERS pNTHeader;
+  PIMAGE_OPTIONAL_HEADER pOptHeader;
+
+  pDOSHeader = (PIMAGE_DOS_HEADER) pImageBase;
+  if (pDOSHeader->e_magic != IMAGE_DOS_SIGNATURE)
+    return FALSE;
+  pNTHeader = (PIMAGE_NT_HEADERS) ((PBYTE) pDOSHeader + pDOSHeader->e_lfanew);
+  if (pNTHeader->Signature != IMAGE_NT_SIGNATURE)
+    return FALSE;
+  pOptHeader = (PIMAGE_OPTIONAL_HEADER) &pNTHeader->OptionalHeader;
+  if (pOptHeader->Magic != IMAGE_NT_OPTIONAL_HDR_MAGIC)
+    return FALSE;
+  return TRUE;
+}
+
+static PIMAGE_SECTION_HEADER
+_FindPESection (PBYTE pImageBase, DWORD_PTR rva)
+{
+  PIMAGE_NT_HEADERS pNTHeader;
+  PIMAGE_SECTION_HEADER pSection;
+  unsigned int iSection;
+
+  pNTHeader = (PIMAGE_NT_HEADERS) (pImageBase + ((PIMAGE_DOS_HEADER) pImageBase)->e_lfanew);
+
+  for (iSection = 0, pSection = IMAGE_FIRST_SECTION (pNTHeader);
+    iSection < pNTHeader->FileHeader.NumberOfSections;
+    ++iSection,++pSection)
+    {
+      if (rva >= pSection->VirtualAddress
+	  && rva < pSection->VirtualAddress + pSection->Misc.VirtualSize)
+	return pSection;
+    }
+  return NULL;
+}
+
+static PIMAGE_SECTION_HEADER
+__mingw_GetSectionForAddress (LPVOID p)
+{
+  PBYTE pImageBase;
+  DWORD_PTR rva;
+
+  pImageBase = (PBYTE) &__ImageBase;
+  if (! _ValidateImageBase (pImageBase))
+    return NULL;
+
+  rva = (DWORD_PTR) (((PBYTE) p) - pImageBase);
+  return _FindPESection (pImageBase, rva);
+}
+
+static int
+__mingw_GetSectionCount (void)
+{
+  PBYTE pImageBase;
+  PIMAGE_NT_HEADERS pNTHeader;
+
+  pImageBase = (PBYTE) &__ImageBase;
+  if (! _ValidateImageBase (pImageBase))
+    return 0;
+
+  pNTHeader = (PIMAGE_NT_HEADERS) (pImageBase + ((PIMAGE_DOS_HEADER) pImageBase)->e_lfanew);
+
+  return (int) pNTHeader->FileHeader.NumberOfSections;
+}
+
+static PBYTE
+_GetPEImageBase (void)
+{
+  PBYTE pImageBase;
+  pImageBase = (PBYTE) &__ImageBase;
+  if (! _ValidateImageBase (pImageBase))
+    return NULL;
+  return pImageBase;
+}
 
 typedef struct sSecInfo {
   /* Keeps altered section flags, or zero if nothing was changed.  */