Made the dll entry point default to DllMain and removed most of the
'init' spec file declarations.

diff --git a/dlls/avifil32/avifil32.spec b/dlls/avifil32/avifil32.spec
index 271fa9a..8666249 100644
--- a/dlls/avifil32/avifil32.spec
+++ b/dlls/avifil32/avifil32.spec
@@ -1,5 +1,3 @@
-init AVIFILE_DllMain
-
 @ stub    AVIBuildFilter
 @ stdcall AVIBuildFilterA(str long long) AVIBuildFilterA
 @ stdcall AVIBuildFilterW(wstr long long) AVIBuildFilterW
diff --git a/dlls/avifil32/factory.c b/dlls/avifil32/factory.c
index d28ce14..93bee30 100644
--- a/dlls/avifil32/factory.c
+++ b/dlls/avifil32/factory.c
@@ -195,10 +195,9 @@
 }
 
 /*****************************************************************************
- *		AVIFILE_DllMain		[internal]
+ *		DllMain		[AVIFIL32.init]
  */
-BOOL WINAPI AVIFILE_DllMain(HINSTANCE hInstDll, DWORD fdwReason,
-			    LPVOID lpvReserved)
+BOOL WINAPI DllMain(HINSTANCE hInstDll, DWORD fdwReason, LPVOID lpvReserved)
 {
   TRACE("(%p,%lu,%p)\n", hInstDll, fdwReason, lpvReserved);
 
diff --git a/dlls/comcat/comcat.spec b/dlls/comcat/comcat.spec
index eec53b8..7631def 100644
--- a/dlls/comcat/comcat.spec
+++ b/dlls/comcat/comcat.spec
@@ -1,5 +1,3 @@
-init COMCAT_DllEntryPoint
-
 @ stdcall DllCanUnloadNow() COMCAT_DllCanUnloadNow
 @ stdcall DllGetClassObject(ptr ptr ptr) COMCAT_DllGetClassObject
 @ stdcall DllRegisterServer() COMCAT_DllRegisterServer
diff --git a/dlls/comcat/comcat_main.c b/dlls/comcat/comcat_main.c
index 0a49983..48d7a4f 100644
--- a/dlls/comcat/comcat_main.c
+++ b/dlls/comcat/comcat_main.c
@@ -62,9 +62,9 @@
 };
 
 /***********************************************************************
- *		DllEntryPoint
+ *		DllMain
  */
-BOOL WINAPI COMCAT_DllEntryPoint(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
 {
     TRACE("%p 0x%lx %p\n", hinstDLL, fdwReason, fImpLoad);
 
diff --git a/dlls/comctl32/comctl32.spec b/dlls/comctl32/comctl32.spec
index 0b80408..ae8e7a8 100644
--- a/dlls/comctl32/comctl32.spec
+++ b/dlls/comctl32/comctl32.spec
@@ -1,5 +1,3 @@
-init	COMCTL32_LibMain
-
 # Functions exported by the Win95 comctl32.dll
 # (these need to have these exact ordinals, because some win95 dlls
 #  import comctl32.dll by ordinal)
diff --git a/dlls/comctl32/commctrl.c b/dlls/comctl32/commctrl.c
index c29c40b..e39bcd6 100644
--- a/dlls/comctl32/commctrl.c
+++ b/dlls/comctl32/commctrl.c
@@ -127,7 +127,7 @@
 
 
 /***********************************************************************
- * COMCTL32_LibMain [Internal] Initializes the internal 'COMCTL32.DLL'.
+ * DllMain [Internal] Initializes the internal 'COMCTL32.DLL'.
  *
  * PARAMS
  *     hinstDLL    [I] handle to the 'dlls' instance
@@ -139,8 +139,7 @@
  *     Failure: FALSE
  */
 
-BOOL WINAPI
-COMCTL32_LibMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
 {
     TRACE("%p,%lx,%p\n", hinstDLL, fdwReason, lpvReserved);
 
diff --git a/dlls/commdlg/cdlg32.c b/dlls/commdlg/cdlg32.c
index b3bfa20..3f2f5f3 100644
--- a/dlls/commdlg/cdlg32.c
+++ b/dlls/commdlg/cdlg32.c
@@ -52,7 +52,7 @@
 BOOL (WINAPI *COMDLG32_SHGetFolderPathW)(HWND,int,HANDLE,DWORD,LPWSTR);
 
 /***********************************************************************
- *	COMDLG32_DllEntryPoint			(COMDLG32.init)
+ *	DllMain  (COMDLG32.init)
  *
  *    Initialization code for the COMDLG32 DLL
  *
@@ -68,7 +68,7 @@
 	  return FALSE; \
 	}
 
-BOOL WINAPI COMDLG32_DllEntryPoint(HINSTANCE hInstance, DWORD Reason, LPVOID Reserved)
+BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD Reason, LPVOID Reserved)
 {
 	TRACE("(%08x, %08lx, %p)\n", hInstance, Reason, Reserved);
 
diff --git a/dlls/commdlg/comdlg32.spec b/dlls/commdlg/comdlg32.spec
index f65cede..1d3ab2b 100644
--- a/dlls/commdlg/comdlg32.spec
+++ b/dlls/commdlg/comdlg32.spec
@@ -1,5 +1,3 @@
-init	COMDLG32_DllEntryPoint
-
 @ stdcall ChooseColorA(ptr) ChooseColorA
 @ stdcall ChooseColorW(ptr) ChooseColorW
 @ stdcall ChooseFontA(ptr) ChooseFontA
diff --git a/dlls/crtdll/crtdll.spec b/dlls/crtdll/crtdll.spec
index f042895..08d23d5 100644
--- a/dlls/crtdll/crtdll.spec
+++ b/dlls/crtdll/crtdll.spec
@@ -1,5 +1,4 @@
 # Old C runtime library. All functions provided by msvcrt
-init    CRTDLL_Init
 
 @ forward ??2@YAPAXI@Z msvcrt.??2@YAPAXI@Z
 @ forward ??3@YAXPAX@Z msvcrt.??3@YAXPAX@Z
diff --git a/dlls/crtdll/crtdll_main.c b/dlls/crtdll/crtdll_main.c
index 9d19fa2..fb6eb02 100644
--- a/dlls/crtdll/crtdll_main.c
+++ b/dlls/crtdll/crtdll_main.c
@@ -77,9 +77,9 @@
 
 
 /*********************************************************************
- *                  CRTDLL_MainInit  (CRTDLL.init)
+ *                  DllMain  (CRTDLL.init)
  */
-BOOL WINAPI CRTDLL_Init(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved)
+BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved)
 {
   TRACE("(%p,%ld,%p)\n",hinstDLL,fdwReason,lpvReserved);
 
diff --git a/dlls/d3d8/d3d8.spec b/dlls/d3d8/d3d8.spec
index 7c6b0c1..645eb56 100644
--- a/dlls/d3d8/d3d8.spec
+++ b/dlls/d3d8/d3d8.spec
@@ -1,5 +1,3 @@
-init D3D8_DllMain
-
 @ stdcall D3D8GetSWInfo() D3D8GetSWInfo
 @ stdcall DebugSetMute() DebugSetMute
 @ stdcall Direct3DCreate8(long) Direct3DCreate8
diff --git a/dlls/d3d8/d3d8_main.c b/dlls/d3d8/d3d8_main.c
index cea38f1..9d1c91a 100644
--- a/dlls/d3d8/d3d8_main.c
+++ b/dlls/d3d8/d3d8_main.c
@@ -70,7 +70,7 @@
 }
 
 /* At process attach */
-BOOL WINAPI D3D8_DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv)
+BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv)
 {
     TRACE("fdwReason=%ld\n", fdwReason);
        if (fdwReason == DLL_PROCESS_ATTACH)
diff --git a/dlls/ddraw/ddraw.spec b/dlls/ddraw/ddraw.spec
index cb1bb4f..2284cb2 100644
--- a/dlls/ddraw/ddraw.spec
+++ b/dlls/ddraw/ddraw.spec
@@ -1,5 +1,3 @@
-init DDRAW_DllMain
-
 @ stub DDHAL32_VidMemAlloc
 @ stub DDHAL32_VidMemFree
 @ stub DDInternalLock
diff --git a/dlls/ddraw/main.c b/dlls/ddraw/main.c
index fbb4260..7b98266 100644
--- a/dlls/ddraw/main.c
+++ b/dlls/ddraw/main.c
@@ -498,7 +498,7 @@
     return best;
 }
 
-BOOL WINAPI DDRAW_DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv)
+BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv)
 {
     /* If we were sufficiently cool, DDraw drivers would just be COM
      * objects, registered with a particular component category. */
diff --git a/dlls/dinput/dinput.spec b/dlls/dinput/dinput.spec
index d00c41f..0efa36a 100644
--- a/dlls/dinput/dinput.spec
+++ b/dlls/dinput/dinput.spec
@@ -1,5 +1,3 @@
-init Init
-
 @ stdcall DirectInputCreateA(long long ptr ptr) DirectInputCreateA
 @ stub DirectInputCreateW
 @ stdcall DirectInputCreateEx(long long ptr ptr ptr) DirectInputCreateEx
diff --git a/dlls/dinput/dinput_main.c b/dlls/dinput/dinput_main.c
index 61cb102..1b39302 100644
--- a/dlls/dinput/dinput_main.c
+++ b/dlls/dinput/dinput_main.c
@@ -50,7 +50,7 @@
 static dinput_device * dinput_devices[MAX_WINE_DINPUT_DEVICES];
 static int nrof_dinput_devices = 0;
 
-BOOL WINAPI Init( HINSTANCE inst, DWORD reason, LPVOID reserv)
+BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserv)
 {
     switch(reason)
     {
diff --git a/dlls/dplayx/dplayx.spec b/dlls/dplayx/dplayx.spec
index 939a863..5ab508f 100644
--- a/dlls/dplayx/dplayx.spec
+++ b/dlls/dplayx/dplayx.spec
@@ -1,5 +1,3 @@
-init DPLAYX_LibMain
-
   1 stdcall DirectPlayCreate(ptr ptr ptr) DirectPlayCreate
   2 stdcall DirectPlayEnumerateA(ptr ptr) DirectPlayEnumerateA
   3 stdcall DirectPlayEnumerateW(ptr ptr) DirectPlayEnumerateW
diff --git a/dlls/dplayx/dplayx_main.c b/dlls/dplayx/dplayx_main.c
index b8d1344..d2227fe 100644
--- a/dlls/dplayx/dplayx_main.c
+++ b/dlls/dplayx/dplayx_main.c
@@ -30,7 +30,7 @@
 DWORD gdwDPlaySPRefCount = 0; /* FIXME: Should it be initialized here? */
 
 
-BOOL WINAPI DPLAYX_LibMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved )
+BOOL WINAPI DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved )
 {
 
   TRACE( "(%p,0x%08lx,%p)\n", hinstDLL, fdwReason, lpvReserved );
diff --git a/dlls/gdi/gdi32.spec b/dlls/gdi/gdi32.spec
index c7b7928..f2ef9f3 100644
--- a/dlls/gdi/gdi32.spec
+++ b/dlls/gdi/gdi32.spec
@@ -1,5 +1,3 @@
-init    MAIN_GdiInit
-
 # ordinal exports
 100 stdcall @(long long str str str) GDI_CallDevInstall16
 101 stdcall @(long str str ptr) GDI_CallExtDeviceModePropSheet16
diff --git a/dlls/gdi/gdi_main.c b/dlls/gdi/gdi_main.c
index c0cb9e4..14b637b 100644
--- a/dlls/gdi/gdi_main.c
+++ b/dlls/gdi/gdi_main.c
@@ -29,7 +29,7 @@
 /***********************************************************************
  *           GDI initialisation routine
  */
-BOOL WINAPI MAIN_GdiInit(HINSTANCE hinstDLL, DWORD reason, LPVOID lpvReserved)
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD reason, LPVOID lpvReserved)
 {
     if (reason != DLL_PROCESS_ATTACH) return TRUE;
     return GDI_Init();
diff --git a/dlls/imagehlp/imagehlp.spec b/dlls/imagehlp/imagehlp.spec
index 8fa9b7d..a605f72 100644
--- a/dlls/imagehlp/imagehlp.spec
+++ b/dlls/imagehlp/imagehlp.spec
@@ -1,5 +1,3 @@
-init	IMAGEHLP_LibMain
-
 @ stdcall BindImage(str str str) BindImage
 @ stdcall BindImageEx(long str str str ptr) BindImageEx
 @ stdcall CheckSumMappedFile(ptr long ptr ptr) CheckSumMappedFile
diff --git a/dlls/imagehlp/imagehlp_main.c b/dlls/imagehlp/imagehlp_main.c
index dffaf89..542fde9 100644
--- a/dlls/imagehlp/imagehlp_main.c
+++ b/dlls/imagehlp/imagehlp_main.c
@@ -33,10 +33,9 @@
 static API_VERSION IMAGEHLP_ApiVersion = { 4, 0, 0, 5 };
 
 /***********************************************************************
- *           IMAGEHLP_LibMain (IMAGEHLP.init)
+ *           DllMain (IMAGEHLP.init)
  */
-BOOL WINAPI IMAGEHLP_LibMain(
-  HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
 {
   switch(fdwReason)
     {
diff --git a/dlls/msacm/msacm32.spec b/dlls/msacm/msacm32.spec
index 9ac4a17..9c7ebb5 100644
--- a/dlls/msacm/msacm32.spec
+++ b/dlls/msacm/msacm32.spec
@@ -1,5 +1,3 @@
-init MSACM32_LibMain
-
 @ stdcall acmDriverAddA(ptr long long long long) acmDriverAddA
 @ stdcall acmDriverAddW(ptr long long long long) acmDriverAddW
 @ stdcall acmDriverClose(long long) acmDriverClose
diff --git a/dlls/msacm/msacm32_main.c b/dlls/msacm/msacm32_main.c
index 78dc247..327b709 100644
--- a/dlls/msacm/msacm32_main.c
+++ b/dlls/msacm/msacm32_main.c
@@ -36,9 +36,9 @@
 HINSTANCE	MSACM_hInstance32 = 0;
 
 /***********************************************************************
- *           MSACM_LibMain (MSACM32.init)
+ *           DllMain (MSACM32.init)
  */
-BOOL WINAPI MSACM32_LibMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpvReserved)
+BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpvReserved)
 {
     TRACE("%p 0x%lx %p\n", hInstDLL, fdwReason, lpvReserved);
 
diff --git a/dlls/msisys/msisys.c b/dlls/msisys/msisys.c
index 6570b0c..e88dc65 100644
--- a/dlls/msisys/msisys.c
+++ b/dlls/msisys/msisys.c
@@ -50,9 +50,9 @@
 }
 
 /***********************************************************************
- *		MSISYS_DllMain
+ *		DllMain for MSISYS
  */
-BOOL WINAPI MSISYS_DllMain(
+BOOL WINAPI DllMain(
 	HINSTANCE hInstDLL,
 	DWORD fdwReason,
 	LPVOID lpvReserved )
diff --git a/dlls/msisys/msisys.ocx.spec b/dlls/msisys/msisys.ocx.spec
index f10b4b6..25a0479 100644
--- a/dlls/msisys/msisys.ocx.spec
+++ b/dlls/msisys/msisys.ocx.spec
@@ -1,5 +1,3 @@
-init	MSISYS_DllMain
-
 @ stdcall DllCanUnloadNow() MSISYS_DllCanUnloadNow
 @ stdcall DllGetClassObject(ptr ptr ptr) MSISYS_DllGetClassObject
 @ stdcall DllRegisterServer() MSISYS_DllRegisterServer
diff --git a/dlls/msvcrt/main.c b/dlls/msvcrt/main.c
index 93290b1..82eabab 100644
--- a/dlls/msvcrt/main.c
+++ b/dlls/msvcrt/main.c
@@ -39,7 +39,7 @@
 /*********************************************************************
  *                  Init
  */
-BOOL WINAPI MSVCRT_Init(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
 {
   MSVCRT_thread_data *tls;
 
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index 50913bf..dff0adb 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -1,5 +1,4 @@
 # msvcrt.dll - MS VC++ Run Time Library
-init    MSVCRT_Init
 
 @ cdecl $I10_OUTPUT() MSVCRT_I10_OUTPUT
 @ cdecl ??0__non_rtti_object@@QAE@ABV0@@Z(ptr ptr) MSVCRT___non_rtti_object_copy_ctor
diff --git a/dlls/msvideo/msrle32/msrle32.c b/dlls/msvideo/msrle32/msrle32.c
index 036786e..849be81 100644
--- a/dlls/msvideo/msrle32/msrle32.c
+++ b/dlls/msvideo/msrle32/msrle32.c
@@ -1855,7 +1855,7 @@
 }
 
 /* DllMain - library initialization code */
-BOOL WINAPI MSRLE32_DllMain(HINSTANCE hModule, DWORD dwReason, LPVOID lpReserved)
+BOOL WINAPI DllMain(HINSTANCE hModule, DWORD dwReason, LPVOID lpReserved)
 {
   TRACE("(%p,%ld,%p)\n",(LPVOID)hModule,dwReason,lpReserved);
 
diff --git a/dlls/msvideo/msrle32/msrle32.spec b/dlls/msvideo/msrle32/msrle32.spec
index b137eb3..4e8276d 100644
--- a/dlls/msvideo/msrle32/msrle32.spec
+++ b/dlls/msvideo/msrle32/msrle32.spec
@@ -1,3 +1 @@
-init MSRLE32_DllMain
-
 @ stdcall DriverProc(long long long long long) MSRLE32_DriverProc
diff --git a/dlls/netapi32/netapi32.c b/dlls/netapi32/netapi32.c
index 7aaa4da..21c2a9b 100644
--- a/dlls/netapi32/netapi32.c
+++ b/dlls/netapi32/netapi32.c
@@ -183,8 +183,7 @@
     return NRC_GOODRET;
 }
 
-BOOL WINAPI
-NETAPI32_LibMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
 {
     TRACE("%p,%lx,%p\n", hinstDLL, fdwReason, lpvReserved);
 
diff --git a/dlls/netapi32/netapi32.spec b/dlls/netapi32/netapi32.spec
index 9a31f31..e9f710e 100644
--- a/dlls/netapi32/netapi32.spec
+++ b/dlls/netapi32/netapi32.spec
@@ -1,5 +1,3 @@
-init	NETAPI32_LibMain
-
 @ stub I_BrowserDebugCall
 @ stub I_BrowserDebugTrace
 @ stdcall I_BrowserQueryEmulatedDomains(wstr ptr ptr) I_BrowserQueryEmulatedDomains
diff --git a/dlls/odbc32/odbc32.spec b/dlls/odbc32/odbc32.spec
index 5e62fd9..19a4885 100644
--- a/dlls/odbc32/odbc32.spec
+++ b/dlls/odbc32/odbc32.spec
@@ -1,5 +1,3 @@
-init    MAIN_OdbcInit
-
   1 stdcall SQLAllocConnect(long ptr) SQLAllocConnect
   2 stdcall SQLAllocEnv(ptr)  SQLAllocEnv
   3 stdcall SQLAllocStmt(long ptr) SQLAllocStmt
diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c
index 21e291b..c0e4990 100644
--- a/dlls/odbc32/proxyodbc.c
+++ b/dlls/odbc32/proxyodbc.c
@@ -156,7 +156,7 @@
 }
 
 /***********************************************************************
- * MAIN_OdbcInit [Internal] Initializes the internal 'ODBC32.DLL'.
+ * DllMain [Internal] Initializes the internal 'ODBC32.DLL'.
  *
  * PARAMS
  *     hinstDLL    [I] handle to the DLL's instance
@@ -168,8 +168,7 @@
  *     Failure: FALSE
  */
 
-BOOL WINAPI
-MAIN_OdbcInit(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
 {
     int i;
     TRACE("Initializing or Finalizing proxy ODBC: %p,%lx,%p\n", hinstDLL, fdwReason, lpvReserved);
diff --git a/dlls/ole32/ole32.spec b/dlls/ole32/ole32.spec
index f6800dc..fcb7714 100644
--- a/dlls/ole32/ole32.spec
+++ b/dlls/ole32/ole32.spec
@@ -1,5 +1,3 @@
-init	OLE32_DllEntryPoint
-
   1 stub BindMoniker                # stdcall (ptr long ptr ptr) return 0,ERR_NOTIMPLEMENTED
   2 stdcall CLSIDFromProgID(wstr ptr) CLSIDFromProgID
   3 stdcall CLSIDFromString(wstr ptr) CLSIDFromString
diff --git a/dlls/ole32/ole32_main.c b/dlls/ole32/ole32_main.c
index 5e9043a..4ac2798 100644
--- a/dlls/ole32/ole32_main.c
+++ b/dlls/ole32/ole32_main.c
@@ -29,10 +29,10 @@
 HINSTANCE OLE32_hInstance = 0;
 
 /***********************************************************************
- *		DllEntryPoint (OLE32.@)
+ *		DllMain (OLE32.@)
  */
 
-BOOL WINAPI OLE32_DllEntryPoint(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
 {
     TRACE("0x%x 0x%lx %p\n", hinstDLL, fdwReason, fImpLoad);
 
diff --git a/dlls/opengl32/opengl32.spec b/dlls/opengl32/opengl32.spec
index d9313f0..3a61a7e 100644
--- a/dlls/opengl32/opengl32.spec
+++ b/dlls/opengl32/opengl32.spec
@@ -1,5 +1,3 @@
-init OpenGL32_Init
-
 @  stdcall wglCreateContext(long) wglCreateContext
 @  stdcall wglCreateLayerContext(long long) wglCreateLayerContext
 @  stdcall wglCopyContext(long long long) wglCopyContext
diff --git a/dlls/opengl32/wgl.c b/dlls/opengl32/wgl.c
index a8a78f7..ae65608 100644
--- a/dlls/opengl32/wgl.c
+++ b/dlls/opengl32/wgl.c
@@ -647,7 +647,7 @@
 /***********************************************************************
  *           OpenGL initialisation routine
  */
-BOOL WINAPI OpenGL32_Init( HINSTANCE hinst, DWORD reason, LPVOID reserved )
+BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved )
 {
     switch(reason)
     {
diff --git a/dlls/richedit/riched32.spec b/dlls/richedit/riched32.spec
index f5b750f..1f7dffe 100644
--- a/dlls/richedit/riched32.spec
+++ b/dlls/richedit/riched32.spec
@@ -1,3 +1 @@
-init	RICHED32_LibMain
-
 2 stdcall DllGetVersion (ptr) RICHED32_DllGetVersion
diff --git a/dlls/richedit/richedit.c b/dlls/richedit/richedit.c
index 601c109..d73ad89 100644
--- a/dlls/richedit/richedit.c
+++ b/dlls/richedit/richedit.c
@@ -53,7 +53,7 @@
 
 
 /***********************************************************************
- * RICHED32_LibMain [Internal] Initializes the internal 'RICHED32.DLL'.
+ * DllMain [Internal] Initializes the internal 'RICHED32.DLL'.
  *
  * PARAMS
  *     hinstDLL    [I] handle to the DLL's instance
@@ -65,8 +65,7 @@
  *     Failure: FALSE
  */
 
-BOOL WINAPI
-RICHED32_LibMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
 {
     TRACE("\n");
     switch (fdwReason)
diff --git a/dlls/rpcrt4/rpcrt4.spec b/dlls/rpcrt4/rpcrt4.spec
index 8ca2e83..3bee365 100644
--- a/dlls/rpcrt4/rpcrt4.spec
+++ b/dlls/rpcrt4/rpcrt4.spec
@@ -1,5 +1,3 @@
-init	RPCRT4_LibMain
-
 @ stub DceErrorInqTextA
 @ stub DceErrorInqTextW
 @ stdcall DllRegisterServer() RPCRT4_DllRegisterServer
diff --git a/dlls/rpcrt4/rpcrt4_main.c b/dlls/rpcrt4/rpcrt4_main.c
index 7f02f36..a0ad05d 100644
--- a/dlls/rpcrt4/rpcrt4_main.c
+++ b/dlls/rpcrt4/rpcrt4_main.c
@@ -144,7 +144,7 @@
 static UUID uuid_nil;
 
 /***********************************************************************
- * RPCRT4_LibMain
+ * DllMain
  *
  * PARAMS
  *     hinstDLL    [I] handle to the DLL's instance
@@ -156,8 +156,7 @@
  *     Failure: FALSE
  */
 
-BOOL WINAPI
-RPCRT4_LibMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
 {
     switch (fdwReason) {
     case DLL_PROCESS_ATTACH:
diff --git a/dlls/serialui/confdlg.c b/dlls/serialui/confdlg.c
index 35732b9..1195035 100644
--- a/dlls/serialui/confdlg.c
+++ b/dlls/serialui/confdlg.c
@@ -47,7 +47,7 @@
 HMODULE SERIALUI_hModule = 0;
 
 /***********************************************************************
- * SERIALUI_LibMain [Internal] Initializes the internal 'SERIALUI.DLL'.
+ * DllMain [Internal] Initializes the internal 'SERIALUI.DLL'.
  *
  * PARAMS
  *     hinstDLL    [I] handle to the DLL's instance
@@ -59,8 +59,7 @@
  *     Failure: FALSE
  */
 
-BOOL WINAPI
-SERIALUI_LibMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
 {
     TRACE("%p,%lx,%p\n", hinstDLL, fdwReason, lpvReserved);
 
diff --git a/dlls/serialui/serialui.spec b/dlls/serialui/serialui.spec
index 95ae65d..ee29afe 100644
--- a/dlls/serialui/serialui.spec
+++ b/dlls/serialui/serialui.spec
@@ -1,5 +1,3 @@
-init	SERIALUI_LibMain
-
 2 stdcall EnumPropPages(ptr ptr ptr) SERIALUI_EnumPropPages
 3 stdcall drvCommConfigDialog(ptr long ptr) SERIALUI_CommConfigDialog
 4 stdcall drvSetDefaultCommConfig(str ptr long) SERIALUI_SetDefaultCommConfig
diff --git a/dlls/shell32/shell32.spec b/dlls/shell32/shell32.spec
index 5fbecc9..b78f347 100644
--- a/dlls/shell32/shell32.spec
+++ b/dlls/shell32/shell32.spec
@@ -1,5 +1,3 @@
-init	Shell32LibMain
-
 # Functions exported by the Win95 shell32.dll
 # (these need to have these exact ordinals, for some
 #  win95 and winNT dlls import shell32.dll by ordinal)
diff --git a/dlls/shell32/shell32_main.c b/dlls/shell32/shell32_main.c
index 8e655d6..a824a16 100644
--- a/dlls/shell32/shell32_main.c
+++ b/dlls/shell32/shell32_main.c
@@ -944,13 +944,13 @@
 
 
 /*************************************************************************
- * SHELL32 LibMain
+ * SHELL32 DllMain
  *
  * NOTES
  *  calling oleinitialize here breaks sone apps.
  */
 
-BOOL WINAPI Shell32LibMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
 {
 	TRACE("0x%x 0x%lx %p\n", hinstDLL, fdwReason, fImpLoad);
 
diff --git a/dlls/shlwapi/shlwapi.spec b/dlls/shlwapi/shlwapi.spec
index cbd02e0..035d589 100644
--- a/dlls/shlwapi/shlwapi.spec
+++ b/dlls/shlwapi/shlwapi.spec
@@ -1,5 +1,3 @@
-init SHLWAPI_LibMain
-
 1   stdcall @(str ptr) SHLWAPI_1
 2   stdcall @(wstr ptr) SHLWAPI_2
 3   stdcall @(str long) SHLWAPI_3
diff --git a/dlls/shlwapi/shlwapi_main.c b/dlls/shlwapi/shlwapi_main.c
index 5667b92..e0f6eec 100644
--- a/dlls/shlwapi/shlwapi_main.c
+++ b/dlls/shlwapi/shlwapi_main.c
@@ -40,12 +40,12 @@
 DWORD SHLWAPI_ThreadRef_index = -1;
 
 /*************************************************************************
- * SHLWAPI LibMain
+ * SHLWAPI DllMain
  *
  * NOTES
  *  calling oleinitialize here breaks sone apps.
  */
-BOOL WINAPI SHLWAPI_LibMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
 {
 	TRACE("%p 0x%lx %p\n", hinstDLL, fdwReason, fImpLoad);
 	switch (fdwReason)
diff --git a/dlls/snmpapi/main.c b/dlls/snmpapi/main.c
index 5ea70ba..cc8c1fe 100644
--- a/dlls/snmpapi/main.c
+++ b/dlls/snmpapi/main.c
@@ -27,9 +27,9 @@
 WINE_DEFAULT_DEBUG_CHANNEL(snmpapi);
 
 /***********************************************************************
- *		SNMPAPI_DllMain
+ *		DllMain for SNMPAPI
  */
-BOOL WINAPI SNMPAPI_DllMain(
+BOOL WINAPI DllMain(
 	HINSTANCE hInstDLL,
 	DWORD fdwReason,
 	LPVOID lpvReserved)
diff --git a/dlls/snmpapi/snmpapi.spec b/dlls/snmpapi/snmpapi.spec
index c6a97be..1452ad7 100644
--- a/dlls/snmpapi/snmpapi.spec
+++ b/dlls/snmpapi/snmpapi.spec
@@ -1,5 +1,3 @@
-init    SNMPAPI_DllMain
-
 @ stub SnmpSvcAddrIsIpx
 @ stub SnmpSvcAddrToSocket
 @ stub SnmpSvcBufRevAndCpy
diff --git a/dlls/ttydrv/ttydrv.spec b/dlls/ttydrv/ttydrv.spec
index 741b81a..9b75498 100644
--- a/dlls/ttydrv/ttydrv.spec
+++ b/dlls/ttydrv/ttydrv.spec
@@ -1,5 +1,3 @@
-init	TTYDRV_Init
-
 # GDI driver
 
 @ cdecl Arc(ptr long long long long long long long long) TTYDRV_DC_Arc
diff --git a/dlls/ttydrv/ttydrv_main.c b/dlls/ttydrv/ttydrv_main.c
index d168e7f..af09884 100644
--- a/dlls/ttydrv/ttydrv_main.c
+++ b/dlls/ttydrv/ttydrv_main.c
@@ -74,7 +74,7 @@
 /***********************************************************************
  *           TTYDRV initialisation routine
  */
-BOOL WINAPI TTYDRV_Init( HINSTANCE hinst, DWORD reason, LPVOID reserved )
+BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved )
 {
     switch(reason)
     {
diff --git a/dlls/twain/twain32_main.c b/dlls/twain/twain32_main.c
index 8ab9c55..4771a82 100644
--- a/dlls/twain/twain32_main.c
+++ b/dlls/twain/twain32_main.c
@@ -26,8 +26,7 @@
 
 WINE_DEFAULT_DEBUG_CHANNEL(twain);
 
-BOOL WINAPI
-TWAIN_LibMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
 {
     TRACE("%p,%lx,%p\n", hinstDLL, fdwReason, lpvReserved);
 
diff --git a/dlls/twain/twain_32.spec b/dlls/twain/twain_32.spec
index 245be68..bda8484 100644
--- a/dlls/twain/twain_32.spec
+++ b/dlls/twain/twain_32.spec
@@ -1,3 +1 @@
-init	TWAIN_LibMain
-
 @ stdcall DSM_Entry(ptr ptr long long long ptr) DSM_Entry
diff --git a/dlls/urlmon/urlmon.spec b/dlls/urlmon/urlmon.spec
index 288e29f..c59616e 100644
--- a/dlls/urlmon/urlmon.spec
+++ b/dlls/urlmon/urlmon.spec
@@ -1,5 +1,3 @@
-init URLMON_DllEntryPoint
-
 1 stub CDLGetLongPathNameA
 2 stub CDLGetLongPathNameW
 @ stub AsyncGetClassBits
diff --git a/dlls/urlmon/urlmon_main.c b/dlls/urlmon/urlmon_main.c
index c02a60a..2689bfb 100644
--- a/dlls/urlmon/urlmon_main.c
+++ b/dlls/urlmon/urlmon_main.c
@@ -31,10 +31,9 @@
 HINSTANCE URLMON_hInstance = 0;
 
 /***********************************************************************
- *		DllEntryPoint (OLE32.@)
+ *		DllMain (URLMON.init)
  */
-
-BOOL WINAPI URLMON_DllEntryPoint(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
 {
     TRACE("%p 0x%lx %p\n", hinstDLL, fdwReason, fImpLoad);
 
diff --git a/dlls/winaspi/winaspi32.c b/dlls/winaspi/winaspi32.c
index 356a1d0..3851604 100644
--- a/dlls/winaspi/winaspi32.c
+++ b/dlls/winaspi/winaspi32.c
@@ -56,7 +56,7 @@
 #endif /* defined(linux) */
 
 
-BOOL WINAPI WNASPI32_LibMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID fImpLoad)
+BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID fImpLoad)
 {
 #ifdef linux
 	switch( fdwReason )
diff --git a/dlls/winaspi/wnaspi32.spec b/dlls/winaspi/wnaspi32.spec
index d54be3c..d73dada 100644
--- a/dlls/winaspi/wnaspi32.spec
+++ b/dlls/winaspi/wnaspi32.spec
@@ -1,5 +1,3 @@
-init	WNASPI32_LibMain
-
 # we have several ordinal clashes here, it seems...
 
 1 cdecl GetASPI32SupportInfo() GetASPI32SupportInfo
diff --git a/dlls/winedos/dosvm.c b/dlls/winedos/dosvm.c
index b6fff47..79d7bcf 100644
--- a/dlls/winedos/dosvm.c
+++ b/dlls/winedos/dosvm.c
@@ -668,9 +668,9 @@
 
 
 /**********************************************************************
- *	    DOSVM_Init
+ *	    DllMain  (DOSVM.Init)
  */
-BOOL WINAPI DOSVM_Init( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved )
+BOOL WINAPI DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved )
 {
     TRACE_(module)("(%p,%ld,%p)\n", hinstDLL, fdwReason, lpvReserved);
 
diff --git a/dlls/winedos/winedos.spec b/dlls/winedos/winedos.spec
index a08ad60..4404e0f 100644
--- a/dlls/winedos/winedos.spec
+++ b/dlls/winedos/winedos.spec
@@ -1,5 +1,3 @@
-init DOSVM_Init
-
 @ stdcall LoadDosExe(str long) MZ_LoadImage
 @ stdcall EmulateInterruptPM(ptr long) DOSVM_EmulateInterruptPM
 
diff --git a/dlls/wineps/init.c b/dlls/wineps/init.c
index 668f476..e8cabb1 100644
--- a/dlls/wineps/init.c
+++ b/dlls/wineps/init.c
@@ -100,12 +100,12 @@
 };
 
 /*********************************************************************
- *	     PSDRV_Init
+ *	     DllMain
  *
- * Initializes font metrics and registers driver. Called from GDI_Init()
+ * Initializes font metrics and registers driver. wineps dll entry point.
  *
  */
-BOOL WINAPI PSDRV_Init( HINSTANCE hinst, DWORD reason, LPVOID reserved )
+BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved )
 {
     TRACE("(%p, 0x%08lx, %p)\n", hinst, reason, reserved);
 
diff --git a/dlls/wineps/wineps.spec b/dlls/wineps/wineps.spec
index dbf652a..3774369 100644
--- a/dlls/wineps/wineps.spec
+++ b/dlls/wineps/wineps.spec
@@ -1,5 +1,3 @@
-init	PSDRV_Init
-
 # GDI driver
 
 @ cdecl Arc(ptr long long long long long long long long) PSDRV_Arc
diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c
index 48fbe96..f8fe153 100644
--- a/dlls/wininet/internet.c
+++ b/dlls/wininet/internet.c
@@ -97,7 +97,7 @@
 LPWORKREQUEST lpWorkQueueTail;
 
 /***********************************************************************
- * WININET_LibMain [Internal] Initializes the internal 'WININET.DLL'.
+ * DllMain [Internal] Initializes the internal 'WININET.DLL'.
  *
  * PARAMS
  *     hinstDLL    [I] handle to the DLL's instance
@@ -109,8 +109,7 @@
  *     Failure: FALSE
  */
 
-BOOL WINAPI
-WININET_LibMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
 {
     TRACE("%p,%lx,%p\n", hinstDLL, fdwReason, lpvReserved);
 
diff --git a/dlls/wininet/wininet.spec b/dlls/wininet/wininet.spec
index 98135df..92ca6db 100644
--- a/dlls/wininet/wininet.spec
+++ b/dlls/wininet/wininet.spec
@@ -1,5 +1,3 @@
-init    WININET_LibMain
-
 @ stdcall InternetInitializeAutoProxyDll(long) InternetInitializeAutoProxyDll
 @ stub ShowCertificate
 @ stdcall CommitUrlCacheEntryA(str str long long long str long str str) CommitUrlCacheEntryA
diff --git a/dlls/winmm/mciavi/mciavi.c b/dlls/winmm/mciavi/mciavi.c
index 5ce79b6..5c2e6b2 100644
--- a/dlls/winmm/mciavi/mciavi.c
+++ b/dlls/winmm/mciavi/mciavi.c
@@ -118,7 +118,7 @@
 
 HINSTANCE MCIAVI_hInstance = 0;
 
-BOOL WINAPI MCIAVI_LibMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID fImpLoad)
+BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID fImpLoad)
 {
     switch (fdwReason) {
     case DLL_PROCESS_ATTACH:
diff --git a/dlls/winmm/mciavi/mciavi.drv.spec b/dlls/winmm/mciavi/mciavi.drv.spec
index 31a49f5..3039059 100644
--- a/dlls/winmm/mciavi/mciavi.drv.spec
+++ b/dlls/winmm/mciavi/mciavi.drv.spec
@@ -1,3 +1 @@
-init MCIAVI_LibMain
-
 @ stdcall DriverProc(long long long long long) MCIAVI_DriverProc
diff --git a/dlls/winmm/winmm.c b/dlls/winmm/winmm.c
index b6abab9..7f0a62e 100644
--- a/dlls/winmm/winmm.c
+++ b/dlls/winmm/winmm.c
@@ -108,12 +108,12 @@
 }
 
 /**************************************************************************
- *		DllEntryPoint (WINMM.init)
+ *		DllMain (WINMM.init)
  *
  * WINMM DLL entry point
  *
  */
-BOOL WINAPI WINMM_LibMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID fImpLoad)
+BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID fImpLoad)
 {
     TRACE("%p 0x%lx %p\n", hInstDLL, fdwReason, fImpLoad);
 
diff --git a/dlls/winmm/winmm.spec b/dlls/winmm/winmm.spec
index 3137892..7736edb 100644
--- a/dlls/winmm/winmm.spec
+++ b/dlls/winmm/winmm.spec
@@ -1,5 +1,3 @@
-init WINMM_LibMain
-
 # ordinal exports
 1 stdcall @(ptr long long) PlaySoundA
 3 stub @
diff --git a/dlls/winsock/socket.c b/dlls/winsock/socket.c
index 8888200..7bc2f14 100644
--- a/dlls/winsock/socket.c
+++ b/dlls/winsock/socket.c
@@ -428,9 +428,9 @@
 }
 
 /***********************************************************************
- *		WS_LibMain (WS2_32.init)
+ *		DllMain (WS2_32.init)
  */
-BOOL WINAPI WS_LibMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID fImpLoad)
+BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID fImpLoad)
 {
     TRACE("%p 0x%lx %p\n", hInstDLL, fdwReason, fImpLoad);
     switch (fdwReason) {
diff --git a/dlls/winsock/ws2_32.spec b/dlls/winsock/ws2_32.spec
index adaa1a9..c3017c0 100644
--- a/dlls/winsock/ws2_32.spec
+++ b/dlls/winsock/ws2_32.spec
@@ -2,9 +2,6 @@
 #
 #  Export table information obtained from Windows 2000 ws2_32.dll
 
-init WS_LibMain
-
-#  EXPORTS ***********
 1   stdcall  accept(long ptr ptr) WS_accept
 2   stdcall  bind(long ptr long) WS_bind
 3   stdcall  closesocket(long) WS_closesocket
diff --git a/dlls/winspool/winspool.drv.spec b/dlls/winspool/winspool.drv.spec
index c681c98..cf6560b 100644
--- a/dlls/winspool/winspool.drv.spec
+++ b/dlls/winspool/winspool.drv.spec
@@ -1,5 +1,3 @@
-init	WINSPOOL_EntryPoint
-
 100 stub @
 @ stub ADVANCEDSETUPDIALOG
 @ stub AbortPrinter
diff --git a/dlls/winspool/wspool.c b/dlls/winspool/wspool.c
index 1db1dfc..f5e4a8d 100644
--- a/dlls/winspool/wspool.c
+++ b/dlls/winspool/wspool.c
@@ -28,14 +28,12 @@
 
 
 /******************************************************************************
- *  WINSPOOL_EntryPoint
+ *  DllMain
  *
  * Winspool entry point.
  *
  */
-BOOL WINAPI WINSPOOL_EntryPoint(HINSTANCE hInstance,
-                                DWORD reason,
-                                LPVOID lpReserved)
+BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD reason, LPVOID lpReserved)
 {
   switch (reason)
   {
diff --git a/dlls/x11drv/x11drv.spec b/dlls/x11drv/x11drv.spec
index 1454cdd..6173673 100644
--- a/dlls/x11drv/x11drv.spec
+++ b/dlls/x11drv/x11drv.spec
@@ -1,5 +1,3 @@
-init	X11DRV_Init
-
 # GDI driver
 
 @ cdecl Arc(ptr long long long long long long long long) X11DRV_Arc
diff --git a/dlls/x11drv/x11drv_main.c b/dlls/x11drv/x11drv_main.c
index 8f4e5cc..67f7805 100644
--- a/dlls/x11drv/x11drv_main.c
+++ b/dlls/x11drv/x11drv_main.c
@@ -432,7 +432,7 @@
 /***********************************************************************
  *           X11DRV initialisation routine
  */
-BOOL WINAPI X11DRV_Init( HINSTANCE hinst, DWORD reason, LPVOID reserved )
+BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved )
 {
     switch(reason)
     {
diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c
index ae51b5dfd..e22e865 100644
--- a/tools/winebuild/spec32.c
+++ b/tools/winebuild/spec32.c
@@ -598,6 +598,16 @@
     {
     case SPEC_MODE_DLL:
         if (init_func) fprintf( outfile, "extern void %s();\n", init_func );
+        else
+        {
+            fprintf( outfile, "#ifdef __GNUC__\n" );
+            fprintf( outfile, "extern void DllMain() __attribute__((weak));\n" );
+            fprintf( outfile, "#else\n" );
+            fprintf( outfile, "extern void DllMain();\n" );
+            fprintf( outfile, "static void __asm__dummy_dllmain(void)" );
+            fprintf( outfile, " { asm(\".weak " __ASM_NAME("DllMain") "\"); }\n" );
+            fprintf( outfile, "#endif\n" );
+        }
         characteristics = IMAGE_FILE_DLL;
         break;
     case SPEC_MODE_GUIEXE:
@@ -790,7 +800,7 @@
     fprintf( outfile, "  { 0x%04x,\n", IMAGE_NT_OPTIONAL_HDR_MAGIC );  /* Magic */
     fprintf( outfile, "    0, 0,\n" );                   /* Major/MinorLinkerVersion */
     fprintf( outfile, "    0, 0, 0,\n" );                /* SizeOfCode/Data */
-    fprintf( outfile, "    %s,\n", init_func ? init_func : "0" );  /* AddressOfEntryPoint */
+    fprintf( outfile, "    %s,\n", init_func ? init_func : "DllMain" );  /* AddressOfEntryPoint */
     fprintf( outfile, "    0, 0,\n" );                   /* BaseOfCode/Data */
     fprintf( outfile, "    pe_header,\n" );              /* ImageBase */
     fprintf( outfile, "    %ld,\n", page_size );         /* SectionAlignment */