2010-12-27  Kai Tietz  <kai.tietz@onevision.com>

	* intrincs/_umul128.c: New.
	* Makefile.am: Add new file for 64-bit.
	* Makefile.in: Regenerated.

2010-11-30  Kai Tietz  <kai.tietz@onevision.com>

	* gdtoa/gdtoaimp.h (hexdig_init_D2A): Resolve conflicting symbol
	against libquadmath of 4.6 by redefining it as __mingw_hexdig_init_D2A

2010-10-06  Ozkan Sezer  <sezeroz@gmail.com>

	* lib32/thunk32.def: Delete.
	* lib32/th32.def: Delete.
	* Makefile.am (lib32_DATA): Remove th32.def and thunk32.def from
	build and reformat.
	(src_libmingw32): Reformat.
	* Makefile.in: Regenerate.

2010-11-06  Timo Kreuzer  <timo.kreuzer@reactos.org>

	* crt/tlssup.c (_tls_used): Cleanup _WIN64 ifdefs.

2010-10-06  Ozkan Sezer  <sezeroz@gmail.com>

	Merged from trunk rev. 3772:
	2010-11-03  Kai Tietz  <kai.tietz@onevision.com>
	* crt/crtexe.c: Ensure to align stack for 32-bit
	to 16-bytes for SSE sake in main.

2010-10-19  Tsukasa Ooi  <li@livegrid.org>

	* intrincs/__movsb.c: New.
	* intrincs/__movsw.c: New.
	* intrincs/__movsd.c: New.
	* intrincs/__movsq.c: New.
	* Makefile.am: Add new entries to build.
	* Makefile.in: Regenerate.

2010-10-13  Ozkan Sezer  <sezeroz@gmail.com>

	* lib32/authz.def: New.
	* Makefile.am: Add new def to build.
	* Makefile.in: Regenerate.

2010-10-12  Ozkan Sezer  <sezeroz@gmail.com>

	* lib32/classpnp.def: New.
	* lib32/hidclass.def: New.
	* lib32/hidparse.def: Updated.
	* lib64/classpnp.def: New.
	* lib64/hidclass.def: New.
	* lib64/hidparse.def: New.
	* Makefile.am: Add new defs to build.
	* Makefile.in: Regenerate.

2010-10-03  Ozkan Sezer  <sezeroz@gmail.com>

	Merged from trunk rev. 3683:
	2010-09-30  Kai Tietz  <kai.tietz@onevision.com>
	* misc/wcsnlen.c: New.
	* Makefile.am (src_libmingwex): Add misc/wcsnlen.c.
	* Makefile.in: Regenerate.

2010-09-26  Ozkan Sezer  <sezeroz@gmail.com>

	* libsrc/agtctl_i.c: Moved from mingw-w64-headers/include/
	* libsrc/agtsvr_i.c: Likewise.
	* libsrc/cdoex_i.c: Likewise.
	* libsrc/cdoexm_i.c: Likewise.
	* libsrc/cdosys_i.c: Likewise.
	* libsrc/emostore_i.c: Likewise.
	* libsrc/iisext_i.c: Likewise.
	* libsrc/mtsadmin_i.c: Likewise.
	* libsrc/mtxadmin_i.c: Likewise.
	* libsrc/scardssp_i.c: Likewise.
	* libsrc/scardssp_p.c: Likewise.
	* libsrc/tsuserex_i.c: Likewise.
	* Makefile.am (src_libuuid): Add agtctl_i.c, agtsvr_i.c, cdoex_i.c,
	cdoexm_i.c, cdosys_i.c, emostore_i.c, iisext_i.c, mtsadmin_i.c,
	mtxadmin_i.c, scardssp_i.c and tsuserex_i.c to build.  scardssp_p.c
	isn't built for now.
	* Makefile.in: Regenerate.

2010-09-23  Ozkan Sezer  <sezeroz@gmail.com>

	Update gdtoa from netlib.org based on changes from Sep. 15, 2010:
	* gdtoa/g_dfmt.c (__g_dfmt): Set the STRTOG_Neg flag for __gdtoa()
	call if sign is found.
	* gdtoa/dtoa.c (__dtoa): Fix bugs with -DROUND_BIASED.
	* gdtoa/gdtoa.c (__gdtoa): Likewise.

2010-09-16  Ozkan Sezer  <sezeroz@gmail.com>

	* misc/strnlen.c: Cast pointer difference to size_t to avoid the
	compiler warning.
	* misc/mingw-aligned-malloc.c: Remove prototypes of __mingw_aligned_*
	now that they are in malloc.h and stdlib.h already includes malloc.h.

2010-09-13  Ozkan Sezer  <sezeroz@gmail.com>

	* lib32/usbcamd.def: Updated using gendef.
	* lib32/usbcamd2.def: Updated using gendef.
	* lib32/usbd.def: New.
	* lib32/usbport.def: New.
	* lib64/usbcamd2.def: New.
	* lib64/usbd.def: New.
	* lib64/usbport.def: New.
	* Makefile.am (lib32_DATA): Add usbd and usbport to build.
	(lib64_DATA): Add usbcamd2, usbd and usbport to build.
	* Makefile.in: Regenerate.

2010-09-08  Ozkan Sezer  <sezeroz@gmail.com>

	* lib32/msvcrt.def (strnlen): Add from the trunk, marked as DATA.
	* lib64/msvcrt.def (strnlen): Likewise.

2010-09-07  Ozkan Sezer  <sezeroz@gmail.com>

	* lib32/dbghelp.def: Update from the trunk.
	* lib64/dbghelp.def: Update from the trunk.

2010-09-06  Ozkan Sezer  <sezeroz@gmail.com>

	* misc/strnlen.c (strnlen): Better implementation from John E. / TDM.

	* misc/strnlen.c: Add a rough implementation of strnlen() wrapping
	onto strlen().
	* Makefile.am (src_libmingwex): Add misc/strnlen.c to build.
	* Makefile.in: Regenerate.

2010-09-06  Kai Tietz  <kai.tietz@onevision.com>

	* math/scalbnl.S: Fix andq logic so that upper 32-bits are cleared.

2010-09-05  Ozkan Sezer  <sezeroz@gmail.com>

	* intrincs/ilockcxch64.c: Add volatile to x86 inline asm statement.

2010-09-05  Ozkan Sezer  <sezeroz@gmail.com>

	* Makefile.am: Add xinput, xaudio, xaudiod, xapofx, x3daudio, d3dx9,
	d3dx10, d3dx11, d3dcsxd and d3dcompiler variables for default directx
	import library names with current values of xinput1_3, xaudio2_7,
	xaudiod2_7, xapofx1_5, x3daudio1_7, d3dx9_43, d3dx10_43, d3dx11_43,
	d3dcsxd_43 and d3dcompiler_43 respectively. Add them as the last
	entries under lib32_DATA and lib64_DATA. Add special build rules for
	them.
	* Makefile.in: Regenerate.

2010-09-04  Ozkan Sezer  <sezeroz@gmail.com>

	* lib64: Move some def files which doesn't have any useful exports
	or refer ot a dll with another name such as null.dll or main.dll to
	under experimental/lib64_old_experimental. Files moved: acgen64.def,
	chtskf.def, CmdEvTgProv.def, imepadsm.def, imlang.def, imskf.def,
	padrs404.def, padrs411.def, padrs412.def, padrs804.def, softkey.def,
	wabfind.def, wam.def, wavemsp.def, wbemcntl.def, wbemcomn.def,
	wbemcons.def, wbemdisp.def, wbemess.def, wbemperf.def, wbemprox.def,
	wbemsvc.def, webvw.def, wiadefui.def, wiascr.def, wiavideo.def,
	wiavusd.def, wlanmon.def, wlsnp.def, wmicookr.def, wmidcprv.def,
	wmipicmp.def, wmipiprt.def, wmipjobj.def, wmiprov.def, wmiprvsd.def,
	wmipsess.def, wmitimep.def, wmiutils.def, wmpshell.def, wsecedit.def.

	* lib64: Remove old experimental w* variants of def files, move them
	under experimental/lib64_old_experimental

2010-08-30  Ozkan Sezer  <sezeroz@gmail.com>

	* misc/dirent.c: Add missing comments, reformat for smaller diff
	output against mingw version.  Remove the stdio.h include.
	(_tGetFileAttributes): Change return type from unsigned to DWORD.
	(opendir): Check error return from _tGetFileAttributes() using the
	INVALID_FILE_ATTRIBUTES macro.  Use 260 instead of FILENAME_MAX in
	the memset.  Simplify the if condition for adding a trailing slash
	to the path.

2010-08-19  Ozkan Sezer  <sezeroz@gmail.com>

	* libsrc/cguid-uuid.c (GUID_NULL): Moved from here ...
	* libsrc/guid_nul.c: ... to here. New file.
	* libsrc/ksuser.c (GUID_NULL): Deleted, already in guid_nul.c
	* libsrc/uuid.c (GUID_NULL): Deleted, already in guid_nul.c.
	(IID_IActiveScript): Deleted, already in ativscp-uuid.c.
	(IID_IActiveScriptError): Likewise.
	(IID_IActiveScriptParse): Likewise.
	(IID_IActiveScriptSite): Likewise.
	(IID_IActiveScriptSiteWindow): Likewise.
	* Makefile.am (src_libuuid): Add libsrc/guid_nul.c.
	* Makefile.in: Regenerate.

	* libsrc/ksuser.c (IID_IUnknown): Delete, already in unknwn-uuid.c.
	* libsrc/uuid.c (IID_IUnknown): Likewise.
	(IID_IClassFactory): Likewise.
	* libsrc/unknwn-uuid.c (IID_IUnknown): Add full constant as comment.
	(IID_IClassFactory): Likewise.

	* libsrc/kcom-uuid.c: Delete.
	* libsrc/ksddk-uuid.c: Delete.
	* libsrc/ntddpar-uuid.c: New.
	* libsrc/ntddscsi-uuid.c: New.
	* libsrc/ntddser-uuid.c: New.
	* libsrc/ntddvdeo-uuid.c: New.
	* Makefile.am (src_libuuid): Adjust for deletions & new additions.
	* Makefile.in: Regenerate.

2010-08-18  Ozkan Sezer  <sezeroz@gmail.com>

	Merged from trunk revs. 3400-3402:
	2010-08-18  Kai Tietz  <kai.tietz@onevision.com>
	* intrincs/ilockexchadd64.c: Fix missing prototype warnings.
	* intrincs/ilockcxch64.c: Add InterlockedCompareExchange64 for x86.
	* lib32/kernel32.def: Avoid collisions for imported Interlocked
	symbols by VC generated code (mark InterlockedCompareExchange,
	InterlockedDecrement, InterlockedExchange, InterlockedExchangeAdd
	and InterlockedIncrement as DATA.)
	* lib64/wkernel32.def: Likewise as in lib32/kernel32.def.

2010-08-18  Ozkan Sezer  <sezeroz@gmail.com>

	* intrincs/ilockexchadd64.c (_InterlockedExchangeAdd64): Change
	to __cdecl like all its friends with leading underscores.
	* intrincs/ilockcxch64.c: Added a fixme note that the dependency
	function InterlockedCompareExchange64 is only exported from
	kernel32.dll in Vista+.

2010-08-17  Kai Tietz  <kai.tietz@onevision.com>

	Merged from trunk
	* Makefile.am: Move some Interlock...64 implementation to
	general libmingwex build.
	* Makefile.in: Regenerated.
	* intrincs/: Changed implementation of x86 _Interlock...
	and Interlock functions. For x86 we need to use for Interlock...
	stdcall convention.

2010-08-14  Ozkan Sezer  <sezeroz@gmail.com>

	Merge from the trunk rev. 3317 & 3337:
	2010-08-13  Jonathan Yong  <jon_y@users.sourceforge.net>
	* libsrc/bth-uuid.c: New.
	* Makefile.am: Add new entry.
	* Makefile.in: Regenerated.

2010-08-08  Jonathan Yong  <jon_y@users.sourceforge.net>

	* lib32/d3dcompiler_33.def: New.
	* lib32/d3dcompiler_34.def: New.
	* lib32/d3dcompiler_35.def: New.
	* lib32/d3dcompiler_36.def: New.
	* lib32/d3dcompiler_37.def: New.
	* lib32/d3dcompiler_38.def: New.
	* lib32/d3dcompiler_39.def: New.
	* lib32/d3dcompiler_40.def: New.
	* lib32/d3dcompiler_41.def: New.
	* lib32/d3dcompiler_42.def: New.
	* lib32/d3dcompiler_43.def: New.
	* lib32/d3dcsxd_43.def: New.
	* lib32/d3dx10_33.def: New.
	* lib32/d3dx10_34.def: New.
	* lib32/d3dx10_35.def: New.
	* lib32/d3dx10_36.def: New.
	* lib32/d3dx10_37.def: New.
	* lib32/d3dx10_38.def: New.
	* lib32/d3dx10_39.def: New.
	* lib32/d3dx10_40.def: New.
	* lib32/d3dx10_41.def: New.
	* lib32/d3dx10_42.def: New.
	* lib32/d3dx10_43.def: New.
	* lib32/d3dx11_42.def: New.
	* lib32/d3dx11_43.def: New.
	* lib32/d3dx9_24.def: New.
	* lib32/d3dx9_25.def: New.
	* lib32/d3dx9_26.def: New.
	* lib32/d3dx9_27.def: New.
	* lib32/d3dx9_28.def: New.
	* lib32/d3dx9_29.def: New.
	* lib32/d3dx9_30.def: New.
	* lib32/d3dx9_31.def: New.
	* lib32/d3dx9_32.def: New.
	* lib32/d3dx9_33.def: New.
	* lib32/d3dx9_34.def: New.
	* lib32/d3dx9_35.def: New.
	* lib32/d3dx9_36.def: New.
	* lib32/d3dx9_37.def: New.
	* lib32/d3dx9_38.def: New.
	* lib32/d3dx9_39.def: New.
	* lib32/d3dx9_40.def: New.
	* lib32/d3dx9_41.def: New.
	* lib32/d3dx9_42.def: New.
	* lib32/d3dx9_43.def: New.
	* lib32/dwrite.def: New.
	* lib32/dxgi.def: New.
	* lib32/x3daudio1_2.def: New.
	* lib32/x3daudio1_3.def: New.
	* lib32/x3daudio1_4.def: New.
	* lib32/x3daudio1_5.def: New.
	* lib32/x3daudio1_6.def: New.
	* lib32/x3daudio1_7.def: New.
	* lib32/x3daudiod1_7.def: New.
	* lib32/xapofx1_0.def: New.
	* lib32/xapofx1_1.def: New.
	* lib32/xapofx1_2.def: New.
	* lib32/xapofx1_3.def: New.
	* lib32/xapofx1_4.def: New.
	* lib32/xapofx1_5.def: New.
	* lib32/xapofxd1_5.def: New.
	* lib32/xaudio2_0.def: New.
	* lib32/xaudio2_1.def: New.
	* lib32/xaudio2_2.def: New.
	* lib32/xaudio2_3.def: New.
	* lib32/xaudio2_4.def: New.
	* lib32/xaudio2_5.def: New.
	* lib32/xaudio2_6.def: New.
	* lib32/xaudio2_7.def: New.
	* lib32/xaudiod2_7.def: New.
	* lib32/xinput1_1.def: New.
	* lib32/xinput1_2.def: New.
	* lib32/xinput1_3.def: New.
	* lib64/d3dcompiler_33.def: New.
	* lib64/d3dcompiler_34.def: New.
	* lib64/d3dcompiler_35.def: New.
	* lib64/d3dcompiler_36.def: New.
	* lib64/d3dcompiler_37.def: New.
	* lib64/d3dcompiler_38.def: New.
	* lib64/d3dcompiler_39.def: New.
	* lib64/d3dcompiler_40.def: New.
	* lib64/d3dcompiler_41.def: New.
	* lib64/d3dcompiler_42.def: New.
	* lib64/d3dcompiler_43.def: New.
	* lib64/d3dcsxd_43.def: New.
	* lib64/d3dx10_33.def: New.
	* lib64/d3dx10_34.def: New.
	* lib64/d3dx10_35.def: New.
	* lib64/d3dx10_36.def: New.
	* lib64/d3dx10_37.def: New.
	* lib64/d3dx10_38.def: New.
	* lib64/d3dx10_39.def: New.
	* lib64/d3dx10_40.def: New.
	* lib64/d3dx10_41.def: New.
	* lib64/d3dx10_42.def: New.
	* lib64/d3dx10_43.def: New.
	* lib64/d3dx11_42.def: New.
	* lib64/d3dx11_43.def: New.
	* lib64/d3dx9_24.def: New.
	* lib64/d3dx9_25.def: New.
	* lib64/d3dx9_26.def: New.
	* lib64/d3dx9_27.def: New.
	* lib64/d3dx9_28.def: New.
	* lib64/d3dx9_29.def: New.
	* lib64/d3dx9_30.def: New.
	* lib64/d3dx9_31.def: New.
	* lib64/d3dx9_32.def: New.
	* lib64/d3dx9_33.def: New.
	* lib64/d3dx9_34.def: New.
	* lib64/d3dx9_35.def: New.
	* lib64/d3dx9_36.def: New.
	* lib64/d3dx9_37.def: New.
	* lib64/d3dx9_38.def: New.
	* lib64/d3dx9_39.def: New.
	* lib64/d3dx9_40.def: New.
	* lib64/d3dx9_41.def: New.
	* lib64/d3dx9_42.def: New.
	* lib64/d3dx9_43.def: New.
	* lib64/dwrite.def: New.
	* lib64/dxgi.def: New.
	* lib64/x3daudio1_2.def: New.
	* lib64/x3daudio1_3.def: New.
	* lib64/x3daudio1_4.def: New.
	* lib64/x3daudio1_5.def: New.
	* lib64/x3daudio1_6.def: New.
	* lib64/x3daudio1_7.def: New.
	* lib64/x3daudiod1_7.def: New.
	* lib64/xapofx1_0.def: New.
	* lib64/xapofx1_1.def: New.
	* lib64/xapofx1_2.def: New.
	* lib64/xapofx1_3.def: New.
	* lib64/xapofx1_4.def: New.
	* lib64/xapofx1_5.def: New.
	* lib64/xapofxd1_5.def: New.
	* lib64/xaudio2_0.def: New.
	* lib64/xaudio2_1.def: New.
	* lib64/xaudio2_2.def: New.
	* lib64/xaudio2_3.def: New.
	* lib64/xaudio2_4.def: New.
	* lib64/xaudio2_5.def: New.
	* lib64/xaudio2_6.def: New.
	* lib64/xaudio2_7.def: New.
	* lib64/xaudiod2_7.def: New.
	* lib64/xinput1_1.def: New.
	* lib64/xinput1_2.def: New.
	* lib64/xinput1_3.def: New.
	* Makefile.am: Add new entries.
	* Makefile.in: Regenerated.

2010-08-08  Ozkan Sezer  <sezeroz@gmail.com>

	* math/fabs.c: #define __CRT__NO_INLINE, just in case.
	* math/fpclassify.c: Likewise.
	* math/fpclassifyf.c: Likewise.
	* math/fpclassifyl.c: Likewise.

2010-08-08  Ozkan Sezer  <sezeroz@gmail.com>

	Back-merge from the trunk:

	2010-08-02  Jonathan Yong  <jon_y@users.sourceforge.net> (rev. 3091)
	* lib32/msvcrt.def: New _vcprintf and _vcwprintf.
	* lib64/msvcrt.def: Likewise.

	2010-08-01  Jonathan Yong  <jon_y@users.sourceforge.net> (rev. 3079)
	* lib32/msvcrt.def: Added secure and locale type symbols from Win7.
	* lib64/msvcrt.def: Likewise.

2010-08-03  Ozkan Sezer  <sezeroz@gmail.com>

	* Move aux scripts to subdir to tidy up top levels.  Upgrade
	to autoconf-2.65.  Merge a few pieces from the trunk version
	of configure.ac.

2010-08-01  Ozkan Sezer  <sezeroz@gmail.com>

	* libsrc/ksddk-uuid.c: New, adding GUID_BUS_INTERFACE_MEDIUMS
	from ks.h.
	* Makefile.am (src_libuuid): Add ksddk-uuid.c to build.
	* Makefile.in: Regenerate.

2010-07-29  Ozkan Sezer  <sezeroz@gmail.com>

	Add new GUIDs found in the newly merged DDK dependency headers:
	* libsrc/atsmedia-uuid.c: New.
	* libsrc/bdamedia-uuid.c: New.
	* libsrc/kcom-uuid.c: New.
	* libsrc/ntddkbd-uuid.c: New.
	* libsrc/ntddmou-uuid.c: New.
	* libsrc/ntddstor-uuid.c: New.
	* libsrc/usbcamdi-uuid.c: New.
	* libsrc/usbiodef-uuid.c: New.
	* Makefile.am (src_libuuid): Add atsmedia-uuid.c, bdamedia-uuid.c,
	kcom-uuid.c, ntddkbd-uuid.c, ntddmou-uuid.c, ntddstor-uuid.c,
	usbcamdi-uuid.c and usbiodef-uuid.c to build.
	* Makefile.in: Regenerate.

2010-07-29  Ozkan Sezer  <sezeroz@gmail.com>

	* lib32/pdh.def: Added from the trunk.
	* lib32/pdhui.def: Likewise.
	* Makefile.am (lib32_DATA): Added pdh.def and pdhui.def to build.
	* Makefile.in: Regenerated.

2010-07-27  Ozkan Sezer  <sezeroz@gmail.com>

	* lib32/advapi32.def (TraceMessageVa): Added back @24 suffix.
	Function is actually __stdcall as reported by Amine Khaldi.
	* lib32/ntoskrnl.def (WmiTraceMessageVa): Added back @24 suffix.
	Function is actually __stdcall as reported by Amine Khaldi.
	* lib32/ntdll.def (EtwTraceMessageVa): Added back @24 suffix,
	by analogy to TraceMessageVa().

2010-07-27  Kai Tietz  <kai.tietz@onevision.com>

	Fix for gcc-4.6 (trunk), PR/45075:
	* crt/tlssup.c: Access section variable pointers via uintptr_t.

2010-07-23  Ozkan Sezer  <sezeroz@gmail.com>

	* lib64/ndis.def: New, added from trunk.
	* Makefile.am: Add lib64/ndis.def to build.
	* Makefile.in: Regenerated.

2010-07-22  Ozkan Sezer  <sezeroz@gmail.com>

	* lib32/ntoskrnl.def (WmiTraceMessageVa): Activated the export.
	(ExReleaseRundownProtection): Activated as @ExReleaseRundownProtection@4
	* lib32/advapi32.def (DuplicateEncryptionInfoFile): Fix __stdcall
	suffix (@8 to @20).
	(UninstallApplication): Likewise (@4 to @8).

2010-07-21  Ozkan Sezer  <sezeroz@gmail.com>

	* crt/gs_support.c:  Change the included headers to get the
	STATUS_STACK_BUFFER_OVERRUN macro from ntstatus.h.
	(__report_gsfailure): Mark cookie by __MINGW_ATTRIB_UNUSED.

2010-07-20  Ozkan Sezer  <sezeroz@gmail.com>

	* crt/gs_support.c (_ReturnAddress, _AddressOfReturnAddress): wrap
	msvc intrinsics onto gcc builtins.
	(__report_gsfailure): Use _ReturnAddress and _AddressOfReturnAddress.
	Tidy up the win64 ifdefs at the function start.

2010-07-20  Amine Khaldi  <amine.khaldi@reactos.org>

	* crt/CRT_fp10.c: __attribute__((alias("xxx"))) is for gcc only.
	* crt/CRT_fp8.c: __attribute__((alias ("xxx"))) is for gcc only.
	(_fpreset): Add MSVC-compatible version.
	* crt/crtexe.c (_MINGW_INSTALL_DEBUG_MATHERR): __attribute__((weak))
	is for gcc only.

2010-07-20  Ozkan Sezer  <sezeroz@gmail.com>

	* include/sect_attribs.h: Moved the _MSC_VER ifdef up to cover the
	_ATTRIBUTES macro which is only for the MS section pragmas. Changed
	the __x86_64__ and __ia64__ ifdefs to _M_IA64 and _M_AMD64, because
	it serves only the MS compiler.

2010-07-20  Amine Khaldi  <amine.khaldi@reactos.org>
	    Timo Kreuzer  <timo.kreuzer@reactos.org>

	* include/internal.h: Add MSVC ifdefs.
	* include/oscalls.h: Likewise.
	* include/sect_attribs.h: Likewise.
	* crt/tlssup.c: Include sect_attribs.h.

2010-07-19  Ozkan Sezer  <sezeroz@gmail.com>

	* crt/crt0_c.c (main): Use __UNUSED_PARAM instead of
	__attribute__ ((__unused__))
	* crt/crt0_w.c (wmain): Likewise.
	* crt/crtexe.c (__mingw_invalidParameterHandler): Likewise.
	* crt/dllentry.c (DllEntryPoint): Likewise.
	* crt/dllmain.c (DllMain): Likewise.
	* misc/alarm.c (alarm): Likewise.
	* misc/wcrtomb.c (wcrtomb): Likewise.
	(wcsrtombs): Likewise.

2010-07-18  Ozkan Sezer  <sezeroz@gmail.com>

	* libsrc/msctf-uuid.c: Added From the trunk.
	* libsrc/netcon-uuid.c: Likewise.
	* libsrc/powrprof-uuid.c: Likewise.
	* libsrc/textstor-uuid.c: Likewise.
	* libsrc/vds-uuid.c: Likewise.
	* libsrc/virtdisk-uuid.c: Likewise.
	* Makefile.am (src_libuuid): libsrc/msctf-uuid.c, libsrc/netcon-uuid.c,
	libsrc/powrprof-uuid.c, libsrc/textstor-uuid.c, libsrc/vds-uuid.c and
	libsrc/virtdisk-uuid.c added to build.
	* Makefile.in: Regenerated.

2010-07-17  Ozkan Sezer  <sezeroz@gmail.com>

	* libsrc/strmiids.c: Added new ids added to ksuuids.h:
	(AM_KSPROPSETID_MPEG4_MediaType_Attributes): New.
	(MEDIASUBTYPE_MPEG2_WMDRM_TRANSPORT): New.
	(MEDIASUBTYPE_MPEG2_VERSIONED_TABLES): New.
	(MEDIASUBTYPE_ISDB_SI): New.
	(MEDIASUBTYPE_TIF_SI): New.
	(MEDIASUBTYPE_MPEG2_UDCR_TRANSPORT): New.
	(MEDIASUBTYPE_MPEG2_PBDA_TRANSPORT_RAW): New.
	(MEDIASUBTYPE_MPEG2_PBDA_TRANSPORT_PROCESSED): New.

2010-07-08  Ozkan Sezer  <sezeroz@gmail.com>

	* crtexe.c (__tmainCRTStartup): Reverted the revision 848 change in
	unused code path. Added a FIXME note for future reference.

2010-07-06  Doug Semler  <dougsemler@gmail.com>

	* Makefile.am (XFAIL_TESTS): Add t_nullptrexception as an expected
	failure.
	* Makefile.in: Regenerate.

2010-07-06  Doug Semler  <dougsemler@gmail.com>

	* testcases/t_setjmp.c (main): Fix return values on success and
	failure.

2010-07-06  Ozkan Sezer  <sezeroz@gmail.com>

	* lib32/dbghelp.def: Fix @<n> suffix for SymGetFileLineOffsets64
	as 20, SymGetHomeDirectory as 12, SymGetLineNext64 as 8,
	SymGetModuleInfo as 12, SymRegisterCallback64 as 16,
	SymRegisterCallback as 12, SymSetHomeDirectory as 8, stackdbg as 24.
	(from trunk rev. 2786.)

2010-07-02  Ozkan Sezer  <sezeroz@gmail.com>

	* lib32/psapi.def:  Add missing export for GetPerformanceInfo.

2010-07-01  Ozkan Sezer  <sezeroz@gmail.com>

	* lib32/opengl32.def: Add missing export for wglSwapMultipleBuffers.

2010-06-30  Ozkan Sezer  <sezeroz@gmail.com>

	* lib32/dbghelp.def: Fix @<n> suffix for ImageDirectoryEntryToDataEx
	as 20, MiniDumpWriteDump as 28, SymEnumSymbolsForAddr as 20, and
	SymFindFileInPath as 40.

2010-06-29  Ozkan Sezer  <sezeroz@gmail.com>

	* lib32/ntdll.def: Export NlsAnsiCodePage, NlsMbCodePageTag and
	NlsMbOemCodePageTag as DATA (from trunk). Move the Rtl*ByteSwap
	exports at the top, move NtLoadKey2, NtPrivilegeObjectAuditAlarm,
	RtlEnumProcessHeaps, ZwLoadKey2 and ZwPrivilegeObjectAuditAlarm
	a few lines above and below for less diff output against the trunk
	version of the def file.

2010-06-29  Ozkan Sezer  <sezeroz@gmail.com>

	* lib32/cfgmgr32.def: Fix @<n> suffix for CM_Add_ID[A|W] as 12,
	CM_Query_And_Remove_SubTree_Ex[A|W] as 24.
	* lib32/setupapi.def: Fix @<n> suffix for CM_Add_ID[A|W] as 12,
	CM_Get_Device_ID_List_Size_Ex[A|W] as 16.
	* lib32/hal.def: Fix @<n> suffix for HalFreeCommonBuffer as 24.
	* lib32/dxapi.def: Enabled DxApi and DxApiGetVersion exports.
	* lib32/videoprt.def: Fix several @<n> suffixes.
	* lib32/usbcamd.def, lib32/usbcamd2.def: Fix several @<n> suffixes.
	* lib32/scsiport.def: Fix ScsiPortGetVirtualAddress and
	ScsiPortValidateRange  @<n> suffixes as 12 and 28.
	* lib32/mcd.def: Fix ChangerClassDebugPrint export (not __stdcall).
	* lib32/ntoskrnl.def: Fix several @<n> suffixes.
	* lib32/ntdll.def: Fix RtlUshortByteSwap, RtlUlongByteSwap and
	RtlUlonglongByteSwap exports (__fastcall).
	* lib32/ndis.def: Fix @<n> suffix for NdisMWanIndicateReceiveComplete
	as 8.
	* lib32/win32k.def: Fix several @<n> suffixes.

2010-06-28  Ozkan Sezer  <sezeroz@gmail.com>

	* lib32/ks.def: New.
	* lib64/ks.def: New.
	* Makefile.am (lib32_DATA): Add lib32/ks.def to build.
	(lib64_DATA): Add lib64/ks.def to build.
	* Makefile.in: Regenerate.

2010-06-27  Doug Semler <dougsemler@gmail.com>

	* math/hypotl (hypotl): Return +infinity when either of the inputs
	  is an infinity, including when the other is NaN (Annex F.9.4.3)

2010-06-24  Ozkan Sezer  <sezeroz@gmail.com>

	Back-merge from the trunk:

	2010-06-24  Mook  <mook.gcc@gmail.com> (rev. 2614)
	* lib32/crypt32.def: Fix @<n> suffixes
	(CertCreateContext): 28 to 24.
	(CertEnumSubjectInSortedCTL): 20 to 16.
	(CertGetCRLFromStore): 24 to 16.
	(CertGetIssuerCertificateFromStore): 12 to 16.
	(CertGetStoreProperty): none to 16.
	(CertRDNValueToStrW): 8 to 16.
	(CertRegisterSystemStore): 8 to 16.
	(CertSaveStore): 16 to 24.
	(CertUnregisterPhysicalStore): none to 12.
	(CertVerifyCRLTimeValidity): 36 to 8.
	(CryptCreateKeyIdentifierFromCSP): 12 to 32.
	(CryptEnumOIDFunction): 8 to 24.
	(CryptEnumOIDInfo): 12 to 16.
	(CryptExportPublicKeyInfoEx): 12 to 32.
	(CryptFindLocalizedName): 36 to 4.
	(CryptGetOIDFunctionValue): 12 to 28.
	(CryptInstallDefaultContext): 20 to 24.
	(CryptMemFree): none to 4.
	(CryptMsgCalculateEncodedLength): 20 to 24.
	(CryptMsgCountersignEncoded): 20 to 28.
	(CryptMsgEncodeAndSignCTL): none to 24.
	(CryptMsgGetParam): 16 to 20.
	(CryptMsgOpenToEncode): 12 to 24.
	(CryptMsgSignCTL): 36 to 28.
	(CryptSIPCreateIndirectData): 20 to 12.
	(CryptSIPPutSignedDataMsg): 4 to 20.
	(CryptSIPRemoveProvider): 16 to 4.
	(CryptSIPRemoveSignedDataMsg): 4 to 8.
	(CryptSIPRetrieveSubjectGuidForCatalogFile): 20 to 12.
	(CryptSetOIDFunctionValue): 12 to 28.
	(CryptSignAndEncryptMessage): 28 to 32.
	(CryptSignMessageWithKey): 28 to 20.
	(CryptUnregisterDefaultOIDFunction): 16 to 12.
	(CryptVerifyMessageSignatureWithKey): 20 to 24.

2010-06-17  Doug Semler  <dougsemler@gmail.com>

	* Makefile.am (CFLAGS32): New 32-bit specific flags.
	  (CFLAGS64): New 64-bit specific flags.
	  Replace all occurences of architecture specific flags with new
	  definitions.
	* Makefile.in: Regenerate.

2010-06-17  Doug Semler  <dougsemler@gmail.com>

	* Makefile.am (DTLIB, DTDEF): Remove generic versions.
	  (DTLIB32, DTLIB64): Create architecture specific versions based on
	  architecture specific $(DTDEF).
	  Replace all occurences of architecture specific flags with new
	  definitions.
	* Makefile.in: Regenerate.

2010-06-16  Doug Semler  <dougsemler@gmail.com>

	* profile/profil.h (struct profile): Add quit event member.
	* profile/profil.c (profthr_func): Make function returnable.
	  Wait for quit event and return when set.
	  (profile_off): Signal quit event and wait for thread return instead
	  of terminating thread.
	  (profile_on): Create quit event and handle error conditions.  Move
	  error checking prior to setting the priority of potentially invalid
	  handle.

2010-06-16  Doug Semler  <dougsemler@gmail.com>

	* profile/mcountFunc.S: Export _mcount always with single underscore.
	  (_mcount): Call renamed internal function.
	* profile/mcount.c: Remove extern declaration and move to profile.h

2010-06-15  Ozkan Sezer  <sezeroz@gmail.com>

	Back-merges from the trunk (more missing *.def stuff)

	2010-06-15  Kai Tietz  <kai.tietz@onevision.com> (revs. 2535-2537)
	* lib32/wtsapi32.def: Updated.
	* lib64/wtsapi32.def: New def.
	* Makefile.am: Add lib64/wtsapi32.def to build.
	* Makefile.in: Regenerate.

2010-06-15  Ozkan Sezer  <sezeroz@gmail.com>

	* profile/gmon.c: Spaces-to-tabs in two places.
	(fake_sbrk): Make it to return (void*)-1, because sbrk() returns that
	on failure and its user monstartup() checks its return value that way,
	too. From the Cygwin CVS.
	(MINUS_ONE_P): New macro, -1LL for w64, -1 for all else. Use it with
	void* casting in fake_sbrk() return and in monstartup() when checking
	fake_sbrk() return value.
	(_mcleanup): Constified proffile. Added a static char gmon_out[] as
	"gmon.out" and assigned gmon_out to proffile.

2010-06-15  Ozkan Sezer  <sezeroz@gmail.com>

	* profile/gmon.h: Don't define BSD u_* types. Include _bsd_types.h
	instead.
	* profile/gcrt0.c: Likewise.
	* profile/profil.h: Likewise.
	* profile/mcountFunc.S: Spaces-to-tabs.

2010-06-09  Ozkan Sezer  <sezeroz@gmail.com>

	Back-merges from the trunk (more missing stuff in lib32/*.def)

	2010-05-28  Jonathan Yong  <jon_y@users.sourceforge.net> (rev. 2450)
	* lib32/advapi32.def: Add RegGetValueA and RegGetValueW.

	2010-06-08  Kai Tietz  <kai.tietz@onevision.com> (rev. 2470)
	* lib32/shell32.def: Added ILCreateFromPath, ILCreateFromPathA,
	ILCreateFromPathW and SHSimpleIDListFromPath.

2010-06-02  Doug Semler  <dougsemler@gmail.com>
	Back-merge from trunk (rev 2457)

	* Makefile.am: Use && instead of ; for compound commands.
	* Makefile.in: Regenerate.

2010-05-24  Ozkan Sezer  <sezeroz@gmail.com>

	Back-merge from the trunk: (revs. 2160, 2161, 2163, 2166, 2261)

	* Makefile.am: Track generic lib def dependency for synthesized libs
	correctly. Apply cleaner rules for the three oddball libs. Factor out
	32-bit and 64-bit specific dlltool options.
	* Makefile.in: Regenerated.

2010-05-17  Ozkan Sezer  <sezeroz@gmail.com>

	* crt/ucrtexe.c: Define _UNICODE.
	* crt/udll_argv.c: Likewise.
	* crt/udllargc.c: Likewise.

2010-05-13  Ozkan Sezer  <sezeroz@gmail.com>

	Back-merges from the trunk:

	Revert last check-in for getopt. Mingw.org's version is simply
	broken, so we stick to the Cygwin/NetBSD/OpenBSD version.

2010-05-05  Ozkan Sezer  <sezeroz@gmail.com>

	Back-merges from the trunk:

	2010-05-03  Kai Tietz  <kai.tietz@onevision.com> (rev. 2350)
	PR/2995926
	* misc/getopt.c: Replace by PD mingw.org version.

2010-05-02  Jonathan Yong  <jon_y@users.sourceforge.net>

	* misc/mb_wc_common.h (get_codepage): use ___lc_codepage_func
	instead of __lc_codepage to get codepage.

2010-04-21  Ozkan Sezer  <sezeroz@gmail.com>

	* libsrc/wspiapi/WspiapiLegacyGetAddrInfo.c: Fix strict aliasing
	violation warning by using a struct in_addr variable instead of a
	DWORD variable.

2010-04-20  Ozkan Sezer  <sezeroz@gmail.com>

	* misc/gettimeofday.c (FILETIME_1970): Change from 11644473600ull
	to 116444736000000000ull as in the mingw.org version, fixing the
	issue reported by Patrick Galbraith.
	(getntptimeofday): Use a union of unsigned long long and FILETIME
	instead of ULARGE_INTEGER, as in the mingw.org version, to fix the
	strict aliasing violations reported by -Wstrict-aliasing=2.

2010-04-17  Ozkan Sezer  <sezeroz@gmail.com>

	Added a few missing exports which were already in lib64/*.def, but not
	so for lib32/*.def (extracted from trunk r2228.)
	* lib32/comctl32.def (GetMUILanguage): Add export.
	(InitMUILanguage): Ditto.
	* lib32/ntoskrnl.def (NtQueryEaFile): Ditto.
	(NtSetEaFile): Ditto.
	(ZwQueryEaFile): Ditto.
	(ZwSetEaFile): Ditto.
	* lib32/shell32.def (SHGetImageList): Ditto.

2010-04-14  Ozkan Sezer  <sezeroz@gmail.com>

	* Makefile.am: Removed outdated and unused "vistasupport" variable.
	Use --input-def instead of --def with dlltool for future compatibility
	(from trunk rev. 2187.) Cleanup some formatting of sources (sync'ing
	with trunk rev. 2186 .)
	* Makefile.in: Regenerated.

2010-04-14  Ozkan Sezer  <sezeroz@gmail.com>

	Back-merges from the trunk:

	2010-04-12  NightStrike  <nightstrike@gmail.com> (rev. 2169)
	* lib32/psapi.def: Add GetProcessImageFileNameA and GetProcessImageFileNameW.

	2010-04-13  NightStrike  <nightstrike@gmail.com> (rev. 2191)
	Add power-uuid.c from w32api 3.12:
	* libsrc/power-uuid.c: New.
	* Makefile.am (src_libuuid): Added libsrc/power-uuid.c.
	* Makefile.in: Regenerated.

2010-04-13  Ozkan Sezer  <sezeroz@gmail.com>

	Back-merges from the trunk:

	2010-04-12  NightStrike  <nightstrike@gmail.com> (rev. 2170)
	* lib32/ndis.def: Add a bunch of defs for compatibility with w32api
	3.12.

	2010-04-12  NightStrike  <nightstrike@gmail.com> (rev. 2171)
	* lib32/ntoskrnl.def: Add KeFlushQueuedDpcs and KeNumberProcessors
	for compatibility with w32api 3.12.

2010-04-11  Ozkan Sezer  <sezeroz@gmail.com>

	Back-merges from the trunk:

	2010-04-10  NightStrike  <nightstrike@gmail.com> (rev. 2164)
	* lib32/gdi32.def: Add SetLayout as per win32api 3.12.

2010-04-08  Ozkan Sezer  <sezeroz@gmail.com>

	Back-merges from the trunk:

	2010-04-08  Doug Semler  <dougsemler@gmail.com> (rev. 2156)
	Fix some undefined symbols from assembly calls when leading
	underscores are disabled:
	* stdio/vfscanf.c: Define QUOTE macro expansions and wrap
	calls from assembly with __MINGW_USYMBOL.
	* stdio/vfwscanf.c: Likewise.
	* stdio/vsscanf.c: Likewise.
	* stdio/vswscanf.c: Likewise.

	2010-04-07  Doug Semler  <dougsemler@gmail.com> (rev. 2150)
	pow() function is now provided by the libmingwex library and
	not the native CRT:
	* complex/cpow.c: Remove bad declaration of pow().

2010-04-02  Ozkan Sezer  <sezeroz@gmail.com>

	Back-merge from trunk rev.2141:

	2010-04-01  Doug Semler  <dougsemler@gmail.com>

	* intrincs/_rotl64.c (_rotl64): Simplify logic, we are unsigned.
	* intrincs/_rotr64.c (_rotr64): Likewise.

2010-04-01  Ozkan Sezer  <sezeroz@gmail.com>

	* Makefile.am (src_libmingwex32): Added intrincs/_rotl64.c and
	intrincs/_rotr64.c to 32 bit libmingwex.a builds.
	(src_libmingwex64): Add intrincs/_rotl64.c and intrincs/_rotr64.c
	to 64 bit libmingwex.a builds, too, for now.
	* Makefile.in: Regenerated.

2010-04-01  Ozkan Sezer  <sezeroz@gmail.com>

	Back-merge from trunk rev.2134:

	2010-04-01  Kai Tietz  <kai.tietz@onevision.com>

	* intrincs/_rotl64.c: New.
	* intrincs/_rotr64.c: New.

2010-03-27  Ozkan Sezer  <sezeroz@gmail.com>

	* Makefile.am: Added lib64/wsock32.def to build.
	* Makefile.in: Regenerated.

2010-03-26  Doug Semler  <dougsemler@gmail.com>

	Backmerged from trunk
	* Makefile.am (misc/delay-n.c, misc/delay-f.c): Add to libmingwex.a library.
	* misc/delay-f.c: New.
	* misc/delay-n.c: New.
	* Makefile.in: Regenerated.

2010-03-19  Ozkan Sezer  <sezeroz@gmail.com>

	Fix BR/2973259:
	* Makefile.am: Tag the built *.o and *.a files as DATA instead of
	SCRIPT as suggested by Doug Semler.
	* Makefile.in: Regenerated.

2010-03-18  Ozkan Sezer  <sezeroz@gmail.com>

	* lib64/wsock32.def: New.

2010-03-16  Ozkan Sezer  <sezeroz@gmail.com>

	* Makefile.am: Fix for BR/2971375: add missing --64 assembler flag
	to dlltool commands (from Doug Semler.)
	* Makefile.in: Regenerated.

2010-03-16  Ozkan Sezer  <sezeroz@gmail.com>

	* misc/wassert.c (_wassert): Spelling fix: s/Assertation/Assertion/.

2010-03-05  Ozkan Sezer  <sezeroz@gmail.com>

	Back-merged test for compiler's -municode support from trunk r2022:
	* configure.ac: Test gcc to see if it supports the -municode switch.
	* Makefile.am: Conditionalize the t_tmain and t_municode tests
	according to the test result for -municode.
	* configure: Regenerated.
	* Makefile.in: Regenerated.

2010-03-04  Ozkan Sezer  <sezeroz@gmail.com>

	Following NightStrike's work in the trunk, removed libtool from crt
	build. It's unused, except to define dlltool, ranlib, etc.
	* configure.ac: Removed AC_LIBTOOL_WIN32_DLL, AC_DISABLE_STATIC and
	AC_PROG_LIBTOOL. Added AC_PROG_RANLIB, and AC_CHECK_TOOL()s for ar,
	as and dlltool.
	* ltmain.sh: Deleted.
	* aclocal.m4: Regenerated.
	* config.h.in: Regenerated.
	* configure: Regenerated.
	* Makefile.in: Regenerated.

2010-03-04  Ozkan Sezer  <sezeroz@gmail.com>

	Back-merges from the trunk:

	ktietz70, 2009-12-13, r1644:
	[Hand-picked stdcall suffix corrections for certain exports, only]
	* lib32/ntdll.def (CsrClientConnectToServer): Fixed suffix, 24->20.
	(LdrLoadAlternateResourceModule): Likewise, 8->16.
	(NtImpersonateAnonymousToken): Likewise, 8->4.
	(NtSetLdtEntries): Likewise, 16->24.
	(RtlOemToUnicodeN): Likewise, 12->20.
	(RtlUpperString): Likewise, 12->8.
	(ZwImpersonateAnonymousToken): Likewise, 8->4.
	(ZwSetLdtEntries): Likewise, 16->24.

	ktietz70, 2009-12-05, r1608:
	* include/internal.h: Add the __INTERNAL_FUNC_DEFINED guard for
	function pointer definitions.

	ktietz70, 2009-12-04, r1604:
	* crt/crtdll.c: Make use of WINBOOL instead of BOOL consistant.
	Cleanup with some whitespace nits.
	* crt/crtexe.c: Likewise.
	* crt/pesect.c: Likewise.
	* crt/tlssup.c: Likewise.
	* libsrc/dummy_mingwthrd.c: Likewise.

2010-03-03  Ozkan Sezer  <sezeroz@gmail.com>

	* aclocal.m4 (_LT_CHECK_MAGIC_METHOD): The latest libtool.m4 w64
	fix from the libtool git repository applied.
	* configure: Likewise.
	* ltmain.sh (func_win32_libid): Update from the libtool git repo.

2010-02-28  Ozkan Sezer  <sezeroz@gmail.com>

	Back-merges from the trunk:

	2010-02-26, NightStrike, r1951:
	* lib32/iphlpapi.def: Add GetExtendedTcpTable, from w32api 3.12.

2010-02-20  Ozkan Sezer  <sezeroz@gmail.com>

	Back-merged from trunk r1923-1924:

	2010-02-19  Jonathan Yong  <jon_y@users.sourceforge.net>
	* libsrc/shell32.c (IID_IFolderView): Define.
	(CLSID_ShellFSFolder): Define.
	(IID_IShellLinkDataList): Define.

2010-02-16  Ozkan Sezer  <sezeroz@gmail.com>

	sync getopt.c with src/winsup/cygwin/libc/getopt.c r1.13 (Dec 14, 2009):
	* misc/getopt.c (getopt_internal): Set optreset according to optind
	setting earlier.  Reevaluate POSIXLY_CORRECT if optreset is set to !0.
	Handle a leading '-' in options independently of posixly_correct.

2010-02-10  Ozkan Sezer  <sezeroz@gmail.com>

	TouchScreen back-merge from the trunk revisions 1530, 1882 and 1885,
	original patch by Jarkko Sakkinen <jarkko.sakkinen@iki.fi> :
	* lib32/user32.def: Add exports for IsTouchWindow, RegisterTouchWindow,
	UnregisterTouchWindow, CloseTouchInputHandle and GetTouchInputInfo.
	* lib32/user32.def: Likewise.

2010-02-10  Ozkan Sezer  <sezeroz@gmail.com>

	PowerSettingNotification back-merge from the trunk revisions 1530, 1883
	and 1884:
	* lib32/user32.def: Add exports for RegisterPowerSettingNotification and
	UnregisterPowerSettingNotification.
	* lib64/user32.def: Likewise.

2010-02-10  Ozkan Sezer  <sezeroz@gmail.com>

	A couple of lib32/*.def file fixes from mingw:
	* lib32/comctl32.def (StrCSpnA, StrCSpnIA, StrCSpnW, StrChrA, StrChrIA,
	StrChrIW, StrChrW, StrCmpNA, StrCmpNIA, StrCmpNIW, StrCmpNW, StrRChrA,
	StrRChrIA, StrRChrW, StrRStrIA, StrRStrIW, StrStrA, StrStrIA, StrStrIW,
	StrStrW, StrToIntA, StrToIntW): Removed erroneous exports which already
	are in shlwapi.def.
	* lib32/scsiport.def (ScsiPortGetDeviceBase): Fixed suffix.
	* lib32/ntoskrnl.def (MmAllocateContiguousMemory): Fixed suffix.
	* lib32/msimg32.def (GetDCBrushColor, GetDCPenColor): Moved from here...
	* lib32/gdi32.def (GetDCBrushColor, GetDCPenColor): ... to here.

2010-02-09  Ozkan Sezer  <sezeroz@gmail.com>

	Back-merges from the trunk:

	* lib32/netapi32.def: Update defs to coincide with mingw.org w32api 3.12
	(trunk r1815, NightStrike.)

	* libsrc/scrnsave.c: Add multi-monitor support for w32api-3.11.
	(trunk/r1783, NightStrike) (this file is if 0'ed out, but whatever..)

	* lib32/crypt32.def, lib64/crypt32.def, libce/crypt32.def:  Add missing
	crypt defs found in w32api 3.12, as well as correct some of the existing
	entries. (trunk/r1797, NightStrike.)

	* lib32/hal.def: Update incorrect decoration to HalTranslateBusAddress
	found in w32api 3.12. (trunk/r1798, NightStrike.)

	* misc/getopt.c: Update getopt from Cygwin to include getopt_long_only.
	(trunk/r1606, jon_y.)

	* libsrc/wspiapi/WspiapiLegacyGetNameInfo.c: Fix build warning about
	size integer comparison. (trunk/r1807, ktietz70.)

2010-02-02  Ozkan Sezer  <sezeroz@gmail.com>

	* profile/gmon.c, profile/gmon.h, profile/mcount.c: Remove advertising
	clause of copyright. Closes our bug #2939623.  For reference, see:
	ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change

2010-01-12  Ozkan Sezer  <sezeroz@gmail.com>

	* mingw-w64-headers/dirent.h: synchronized with the mingw.org
	version for correct operation with mingw-3.1x version requirements.
	* mingw-w64-crt/misc/dirent.c: reverted revision 76 change for bug
	#1801043, not valid any longer. (do we manually need to copy that
	field???)

2010-01-07  Jonathan Yong  <jon_y@users.sourceforge.net>

	* Makefile.am (src_libmingwex): Add misc/tdelete.c
	misc/tfind.c misc/tsearch.c misc/twalk.c.
	* misc/tdelete.c: New.
	* misc/tfind.c: New.
	* misc/tsearch.c: New.
	* misc/twalk.c: New.
	* Makefile.in: Regenerated.

2010-01-04  Ozkan Sezer  <sezeroz@gmail.com>

	* configure.ac (--enable-wildcard): New configure time option in
	order to enable command line globbing by default.
	(__ENABLE_GLOBBING): New config.h macro, 0 or -1.
	* crt/wildcard.c: Updated to use the new __ENABLE_GLOBBING macro.
	* crt/CRT_noglob.c: New file with _dowildcard set as 0.
	* Makefile.am: Added crt/CRT_noglob.c to the build.
	* configure: Regenerated.
	* config.h.in: Regenerated.
	* Makefile.in: Regenerated.

2009-12-24  Ozkan Sezer  <sezeroz@gmail.com>

	Merged from the trunk:
	* stdio/fseeko64.c: Remove override of _lseeki64.

2009-12-10  Kai Tietz  <kai.tietz@onevision.com>

	Merged from trunk.
	* libsrc/wspiapi/: Take formatting of functions from wspiapi.h header.

2009-12-01  Kai Tietz  <kai.tietz@onevision.com>

	Merged from trunk
	* lib32/crypt32.def: Regenerated by gendef.

2009-10-25  Charles Wilson  <cwilso11@users.sourceforge.net>

	* crt/pseudo-reloc.c:  Merge cygwin-specific code.

2009-10-21  Ozkan Sezer  <sezeroz@gmail.com>

	* crt/crt_handler.c (_image_base__): use the __MINGW_LSYMBOL macro for
	linker symbols instead of hardcoded names (from trunk r1482.)
	* crt/crtexe.c (_image_base__): Likewise.
	* crt/pesect.c (_image_base__): Likewise.
	* misc/delayimp.c (_image_base__): Likewise.

2009-10-20  Ozkan Sezer  <sezeroz@gmail.com>

	* crt/pseudo-reloc.c:  Backport revs. 1450 and 1483 from trunk:
	Added the __report_error() helper and removed the assert() calls
	along with the DEBUG #ifdefs.  Merged documentation updates and
	most of the whitespace changes from cygwin.  Additional whitespace
	changes.  Shortened some of the error messages.  Removed assert.h
	#include which isn't necessary anymore.

2009-10-03  Kai Tietz  <kai.tietz@onevision.com>

	Merged from trunk
	* libsrc/wia-uuid.c: New.
	* Makefile.am: Add libsrc/wia-uuid.c to libuuid.a lib.
	* Makefile.in: Regenerated.

	Merged from trunk
	* misc/basename.c, misc/dirname.c: New.
	* Makefile.am: Add basename.c and dirname.c to libmingwex.a lib.
	* Makefile.in: Regenerated.

2009-09-20  Ozkan Sezer  <sezeroz@gmail.com>

	* intrins/ilock*.c:  Added non-underscored functions as aliases to the
	real ones.

2009-09-18  Kai Tietz  <kai.tietz@onevision.com>

	* Implement time_t related functions by stubs in libmingwex.a and do
	export them in .def as DATA. So just the imp_<name> is present and we
	avoid collisions in names. Reasoned is this patch by dlltool's inability
	to alias symbols.

2009-09-17  Kai Tietz  <kai.tietz@onevision.com>

	* lib32/lib64: Add for time specific function the _<name>32 version to def
	files.
	* misc: Adjust time functions to use _<name>32 on demand.

2009-09-15  Kai Tietz  <kai.tietz@onevision.com>

	* lib32/lib64: Add symbols _localtime32, _gmtime32, and _mkgmtime32.
	* misc/...: Add version for 32-bit time_t case.

2009-09-10  Kai Tietz  <kai.tietz@onevision.com>

	* lib32/ and lib64/: Comment in msvcrXX.def and in msvcrt.def the
	symbols pow and powf.

2009-09-09  Mook  <mook.gcc@gmail.com>

	Patch/2820174 r=NightStrike
	* configure.ac: Automatically detect whether to build the 32 or 64
	bit library based on what the compiler accepts.
	* Makefile.am: Explicitly use -m64 for 64 bit library.
	* configure, Makefile.in: Regenerated.

2009-09-08  Ozkan Sezer  <sezeroz@gmail.com>

	* intrincs/readcr8.c, intrincs/writecr8.c: readcr8() and writecr8()
	not prototyped in intrin.h for x86. Manually added prototypes to the
	relevant *.c files.

2009-09-08  Ozkan Sezer  <sezeroz@gmail.com>

	* intrincs/*.c:  Update all declarations to match intrin.h. Include
	only intrin.h, not windows.h.  Removed aliases for non-underscored
	InterlockedExchange and InterlockedCompareExchange.  Added non-
	underscored aliases for InterlockedAdd, InterlockedAdd64 and
	InterlockedBitTestAndComplement, which aren't actually prototyped
	in intrin.h but are wrappers around other intrinsics.  currentfiber.c,
	currentteb.c, fiberdata.c, membarrier.c, mul128ex.c and umul128ex.c
	remain untouched.
	* Makefile.am (membarrier.c): Moved under src_libmingwex32 (x86-only)
	* Makefile.in: Regenerated.

2009-09-08  Kai Tietz  <kai.tietz@onevision.com>

	* Add __volatile__ to __asm__ statements.

2009-09-05  Ozkan Sezer  <sezeroz@gmail.com>

	* _findfirst64i32, _findnext64i32, _fstat64i32, _fstat, _stat64i32,
	_stat, _wfindfirst64i32, _wfindnext64i32, _wstat64i32, _wstat: Zero
	the input buffer in case the function we wrap around fails. This
	fixes the native builds of binutils/bfd due to an unitialized use
	warning about a stat structure, too.

2009-09-05  Kai Tietz  <kai.tietz@onevision.com>

	* misc/_crt_veh.c: Removed.
	* crt/crtexe.c (_CRT_VEH): Removed.
	* Makefile.am (misc/_crt_veh.c): Removed.
	* Makefile.in: Regenerated.

2009-09-04  Kai Tietz  <kai.tietz@onevision.com>

	* crt/crt_handler.c: New.
	* crt/crtexe.c (__tmainCRTStartup): Call __mingw_init_ehandler
	for 64-bit case.
	* crt/crtdll.c: Likewise.
	* crt/pesect.c (_FindPESectionByName): New.
	(_FindPESectionExec): New.
	(_GetPEImageBase): New.

2009-09-03  Kai Tietz  <kai.tietz@onevision.com>

	* crt/crtdll.c: Cleanup unused code.
	* crt/crtexe.c: Likewise.

	* Makefile.am: Add file misc/_crt_veh.c.
	* Makefile.in: Regenerated.
	* misc/_crt_veh.c: New.
	* crt/crtexec.c (_CRT_VEH): Use variable to decide
	if vectored exception handling should be used.

2009-08-27  Kai Tietz  <kai.tietz@onevision.com>

	* stdio/_ftime.c: New.
	* lib32/moldname-msvcrt.def: Remove ftime.
	* lib64/moldname-msvcrt.def: Likewise.
	* Makefile.am: Add stdio/_ftime.c to build.
	* Makefile.in: Regenerated.

2009-08-26  Kai Tietz  <kai.tietz@onevision.com>

	* ...: Remove use of _INTEGRAL_MAX_BITS checks <= 64.
	* ...: Cleanup code for _USE_32BIT_TIME_T case.
	* misc/_wctime32.c: New.

2009-08-23  Ozkan Sezer  <sezeroz@gmail.com>

	* Makefile.am: Added math/_chgsignl.S.
	* Makefile.in: Regenerated.

2009-08-23  Kai Tietz  <kai.tietz@onevision.com>

	* math/_chgsignl.S: Implemented _chgsignl().

	* ...: Add missing prototypes.

2009-08-22  Ozkan Sezer  <sezeroz@gmail.com>

	* fstat, stat, wstat: Instead of calling a function, "inline" (copy
	the body of) the called function and avoid the cast which overcomes
	the strict aliasing violation.  For the _USE_32BIT_TIME_T case, use
	memcpy.  Remove the _no_optimize attributes which are not necessary
	anymore.  The inlined versions from sys/stat.h should work fine now.

	* _findfirst64i32, _findnext64i32, _fstat64i32, _stat64i32,
	_wfindfirst64i32, _wfindnext64i32, _wstat64i32: Do not copy
	the structures to the argument buffer if the called function
	fails.

2009-08-21  Ozkan Sezer  <sezeroz@gmail.com>

	* Renamed stdio/_fwstat64i32.c to _wstat64i32.c.  Split
	stdio/_findfirst64i32.c, stdio/_findnext64i32.c, stdio/_fstat64i32.c,
	stdio/_fwstat64i32.c and stdio/_wstat64i32.c so that we have one
	function per file.  stdio/_fstat.c, _stat.c, _stat64i32.c, _wstat.c,
	_wfindfirst64i32.c and _wfindnext64i32.c are the new files.  Adjusted
	Makefile.am and regenerated Makefile.in.

	* Split libsrc/ws2tcpip.c and libsrc/wspiapi.c into the new derictories
	libsrc/ws2tcpip and libsrc/wspiapi respectively so that we have one
	function per file. Adjusted Makefile.am and regenerated Makefile.in.

2009-08-16  Kai Tietz  <kai.tietz@onevision.com>

	* intrincs/writefsbyte.c: New.
	* intrincs/writefsdword.c: New.
	* intrincs/readfsbyte.c: New.
	* intrincs/writefsword.c: New.
	* intrincs/readfsword.c: New.
	* intrincs/readfsdword.c: New.
	* Makefile.am (src_libmingwex32): Added 32-bit specific intrinsic
	function libmingwex,a library.
	* Makefile.in: Regenerated.

2009-08-14  Kai Tietz  <kai.tietz@onevision.com>

	* testcases/t_intrinc.cc: New testcase.
	* intrincs/ilockdec.c, intrincs/ilockdec16.c, intrincs/ilockdec64.c,
	intrincs/ilockinc.c, intrincs/ilockinc16.c, and intrincs/ilockinc64.c:
	Adjust to emulate VC intrinsic function behavior.

2009-08-08  Kai Tietz  <kai.tietz@onevision.com>

	* crt/crt0_w.c (UNICODE): Define it for build.

2009-07-31  Ozkan Sezer  <sezeroz@gmail.com>

	* _fstat64i32.c (stat, fstat): Do not optimize due to strict aliasing
	issues.
	* _fwstat64i32.c(wstat): Likewise.

2009-07-29  Kai Tietz  <kai.tietz@onevision.com>

	* intrincs/__stosd.c: New.
	* intrincs/__stosq.c: New.
	* intrincs/__stosw.c: New.
	* Makefile.am: Add new files above.
	* Makefile.in: Regenerated.

2009-07-29  Ozkan Sezer  <sezeroz@gmail.com>

	* intrincs/dbgassert.c: Deleted. (made into a macro in winnt.h)

2009-07-29  Kai Tietz  <kai.tietz@onevision.com>

	* intrincs/dbgassert.c: Fix assembly for x86.
	* intrincs/membarrier.c: Likewise.
	* intrincs/__stosb.c: New.
	* Makefile.am: Add __stosb.c
	* Makefile.in: Regenerated.

2009-07-29  Ozkan Sezer  <sezeroz@gmail.com>

	* intrincs/dbgassert.c, membarrier.c: New. For cases where inlining
	is disabled.
	* Makefile.am: Added the new files to build for w64.
	* Makefile.in: Regenerated.

2009-07-28  Kai Tietz  <kai.tietz@onevision.com>

	* intrincs/currentfiber.c, intrincs/fiberdata.c: Add 32-bit
	compatible code using inline assembler.

2009-07-29  Ozkan Sezer  <sezeroz@gmail.com>

	* intrincs/ilockadd.c, intrincs/ilockadd64.c, intrincs/mul128ex.c,
	intrincs/umul128ex.c: New. For cases where inlining is disabled.
	* Makefile.am: Added the new files to build for w64.
	* Makefile.in: Regenerated.

2009-07-28  Kai Tietz  <kai.tietz@onevision.com>

	PR/2687501
	* stdio/_fstat64i32.c (stat,fstat): Add _imp__<symbol> variable.

2009-07-28  Ozkan Sezer  <sezeroz@gmail.com>

	* misc/wmemchr.c: Added NULL pointer checks.
	* misc/wmemcmp.c: Likewise.

2009-07-28  Ozkan Sezer  <sezeroz@gmail.com>

	* misc/fwide.c, misc/mbsinit.c, misc/wmemchr.c, misc/wmemcmp.c,
	misc/wmemcpy.c, misc/wmemmove.c, misc/wmemset.c:  Copied over code
	from the inline versions in wchar.h.

2009-07-28  Ozkan Sezer  <sezeroz@gmail.com>

	* intrincs/readcr0.c: New.
	* Makefile.am: Added intrincs/readcr0.c to the build.
	* Makefile.in: Regenerated.

2009-07-27  Ozkan Sezer  <sezeroz@gmail.com>

	* intrincs/ilockcxch.c (_InterlockedCompareExchange): Renamed from
	InterlockedCompareExchange. Provide InterlockedCompareExchange as an
	alias to _InterlockedCompareExchange.
	* intrincs/ilockexch.c (_InterlockedExchange): Renamed from
	InterlockedExchange. Provide InterlockedExchange as an alias to
	_InterlockedExchange.
	* intrincs/ilockcxch_.c, intrincs/ilockexch_.c: Removed.
	* Makefile.am: Removed intrincs/ilockcxch_.c and intrincs/ilockexch_.c
	from the build.
	* Makefile.in: Regenerated.

2009-07-27  Ozkan Sezer  <sezeroz@gmail.com>

	* intrincs/*: Define __CRT__NO_INLINE before the includes to prevent
	declaration mismatches.

2009-07-27  Ozkan Sezer  <sezeroz@gmail.com>

	* libsrc/ws2tcpip.c: New. Add function implementations of inline
	version in ws2tcpip.h.
	* Makefile.am: Added libsrc/ws2tcpip.c to libws2_32.a.
	* Makefile.in: Regenerated.
	* libsrc/wspiapi.c: Define WIN32_LEAN_AND_MEAN before includes. 
	Undef __CRT__NO_INLINE before defining it.

2009-07-27  Kai Tietz  <kai.tietz@onevision.com>

	* libsrc/wspiapi.c: Add function implementations of inline
	version in wspiapi.h

2009-07-27  Ozkan Sezer  <sezeroz@gmail.com>

	misc/
	* fwide.c, mbsinit.c, wmemchr.c, wmemcmp.c, wmemcpy.c, wmemmove.c, wmemset.c:
	Define __CRT__NO_INLINE before the includes to prevent declaration mismatches.
	FIXME: The functions are #if 0'ed out in all of these sources, so we don't have
	their non-inlined versions in libmingwex.a.
	FIXME-2: We also don't have non-inlined versions of several other functions
	in libmingwex.a, either. To be looked into...

2009-07-27  Ozkan Sezer  <sezeroz@gmail.com>

	* misc/imaxabs.c: Define __CRT__NO_INLINE before the includes to prevent
	declaration mismatches.
	* stdio/_Exit.c: Likewise.
	* stdio/atoll.c: Likewise.
	* stdio/lltoa.c: Likewise.
	* stdio/lltow.c: Likewise.
	* stdio/ulltoa.c: Likewise.
	* stdio/ulltow.c: Likewise.
	* stdio/vsnprintf.c: Likewise.
	* stdio/vsnwprintf.c: Likewise.
	* stdio/wtoll.c: Likewise.
	* crt/wcscmpi.c: Likewise.
	* crt/strcasecmp.c: Likewise. Also undefine strcasecmp.
	* crt/strncasecmp.c: Likewise. Also undefine strncasecmp.
	* misc/_mkgmtime.c, misc/ctime.c, misc/difftime.c, misc/gmtime.c,
	misc/localtime.c, misc/mktime.c, misc/time.c: Likewise. Also added fixme
	notes about the broken _USE_32BIT_TIME_T condition.

2009-07-27  Ozkan Sezer  <sezeroz@gmail.com>

	stdio/
	* _fstat64i32.c, _fwstat64i32.c: Added fixme notes about the broken
	_USE_32BIT_TIME_T condition. Or'ed the condition with _INTEGRAL_MAX_BITS
	< 64 because the 64 bit time_t is not available in such a case.
	* _findfirst64i32.c (_findfirst64i32): only compile if _INTEGRAL_MAX_BITS
	>= 64 because the 64 bit time_t is not available otherwise.
	(_wfindfirst64i32): Likewise.
	* _findnext64i32.c (_findnext64i32): Likewise.
	(_wfindnext64i32): Likewise.
	* _fstat64i32.c (_fstat64i32): Likewise.
	(_stat64i32): Likewise.
	* _fwstat64i32.c (_wstat64i32): Likewise.

2009-07-27  Ozkan Sezer  <sezeroz@gmail.com>

	* stdio/_findnext64i32.c: Define __CRT__NO_INLINE before the includes to
	prevent declaration mismatches.
	* _findnext64i32.c: Likewise.
	* _fstat64i32.c: Likewise.
	* _fwstat64i32.c: Likewise.

2009-07-17  Ozkan Sezer  <sezeroz@gmail.com>
	    Kai Tietz  <kai.tietz@onevision.com>

	* misc/io_intrin.c: Deleted. Broken out its contents, one function
	per file, into new sources in the 'intrincs' directory.
	* intrincs/cpuid.c, intrincs/inbyte.c, intrincs/inbytestring.c,
	intrincs/indword.c, intrincs/indwordstring.c, intrincs/inword.c,
	intrincs/inwordstring.c, intrincs/outbyte.c, intrincs/outbytestring.c,
	intrincs/outdword.c, intrincs/outdwordstring.c, intrincs/outword.c,
	intrincs/outwordstring.c, intrincs/rdtsc.c, intrincs/readcr2.c,
	intrincs/readcr3.c, intrincs/readcr4.c, intrincs/readcr8.c,
	intrincs/readmsr.c, intrincs/writecr0.c, intrincs/writecr2.c,
	intrincs/writecr3.c, intrincs/writecr4.c, intrincs/writecr8.c,
	intrincs/writemsr.c: New.
	* Makefile.am: Removed misc/io_intrin.c from build. Adjusted for the
	new intrincs/*.c files.
	* Makefile.in: Regenerated.

2009-07-16  Ozkan Sezer  <sezeroz@gmail.com>
	    Kai Tietz  <kai.tietz@onevision.com>

	* misc/wininterlocked.c: Deleted. Broken out its contents, one function
	per file, in the new directory 'intrincs'.  Removed an __x86_64 ifdef
	which was already under a _WIN64 ifdef, because we only support x86_64
	as w64 for the moment.  Removed all _WIN64 ifdefs in the newly generated
	files, except for NtCurrentTeb() in intrincs/currentteb.c, and built the
	win64-only functions only in win64-builds.
	* intrincs/ :
	bitscanfwd.c, bitscanfwd64.c, bitscanrev.c, bitscanrev64.c, bittest.c,
	bittest64.c, bittestc.c, bittestc64.c, bittestci.c, bittestr.c,
	bittestr64.c, bittestri.c, bittestri64.c, bittests.c, bittests64.c,
	bittestsi.c, bittestsi64.c, currentfiber.c, currentteb.c, fiberdata.c,
	ilockand.c, ilockand64.c, ilockcxch.c, ilockcxch16.c, ilockcxch64.c,
	ilockcxch_.c, ilockcxchptr.c, ilockdec.c, ilockdec16.c, ilockdec64.c,
	ilockexch.c, ilockexch64.c, ilockexch_.c, ilockexchadd.c, ilockexchadd64.c,
	ilockexchptr.c, ilockinc.c, ilockinc16.c, ilockinc64.c, ilockor.c,
	ilockor64.c, ilockxor.c, ilockxor64.c, readgsbyte.c, readgsdword.c,
	readgsqword.c, readgsword.c, writegsbyte.c, writegsdword.c, writegsqword.c,
	writegsword.c: New.
	* Makefile.am: Adjusted for the new intrincs/* files. wininterlocked.c
	removed from build.
	* Makefile.in: Regenerated.

2009-06-28  jonY  <10walls@gmail.com>

	* lib32/normaliz.def, lib64/normaliz.def: New.

2009-06-27  Kai Tietz  <kai.tietz@onevision.com>

	* gdtoa/strtof.c (__strtof): Pre initialize local variable u to
	avoid warning.

2009-06-26  Kai Tietz  <kai.tietz@onevision.com>

	* threads/: Removed.

2009-06-26  Kai Tietz  <kai.tietz@onevision.com>

	* crt/tlssup.c (__mingw_TLScallback): Use for TLS cleanup.
	* libsrc/mingwthrd_mt.c: Make it a dummy library file.
	* libsrc/dummy_mingwthrd.c: Add TLS clean functions.
	* libsrc/mingwthrd_nomt.c (_CRT_MT): For default set constant
	to value 2.
	Add win32 thread specific call methods.

2009-06-19  Kai Tietz  <kai.tietz@onevision.com>

	* crt/crt0_c.c: Allow use of main/wmain as -mwindows entry point
	and pass proper Arguments.
	* crt/crt0_w.c: Likewise.
	* crt/crtexe.c: Use for -mwindows case also main/wmain with proper
	arguments.

2009-05-15  Kai Tietz  <kai.tietz@onevision.com>

	* threads/: Add sources for EH cleanup DLL.
	* libsrc/dummy_mingwthrd.c: Likewise.

2009-05-11  Ozkan Sezer  <sezeroz@gmail.com>

	* crt/wildcard.c: documented the _dowildcard variable.
	* crt/crtexe.c (__tmainCRTStartup): added the missing '*' spotted by
	Ivan Maidanski.
	* crt/CRT_glob.c: New. Used to create CRT_glob.o, a helper object to
	turn on command line wildcard expansion.
	* Makefile.am: Added CRT_glob.o.
	* Makefile.in, config.h.in, configure: regenerated.

2009-04-20  Ozkan Sezer  <sezeroz@gmail.com>

	FR/2619978:
	* mingw-w64-crt/gdtoa/strtof.c, mingw-w64-crt/gdtoa/strtopx.c:  Prepend
	the strtof and strtold symbols with '__mingw_' to provide both of strtof
	and strtold which rely on msvcrt, and __mingw_strtof and __mingw_strtold
	which rely on the internal gdtoa library.
	* mingw-w64-headers/include/stdlib.h:  Properly provide the prototypes
	for __mingw_strtof and __mingw_strtold.

2009-04-20  Ozkan Sezer  <sezeroz@gmail.com>

	* gdtoa/misc.c: Sync'ed with the netlib.org sources from April 20, 2009.
	The author's changelog states: "do not attempt to allocate large memory
	blocks from the private memory pool (which was an unlikely event, but a
	bug)."
	* gdtoa/strtopx.c: Sync'ed with the netlib.org sources from April 20, 2009.
	The author's changelog states: supply explicit bit for Infinity. "Note
	that the Q routines (which do not supply this bit) are appropriate for
	Sparc quad precision (probably known as long double with most current
	compilers)."

2009-04-19  Ozkan Sezer  <sezeroz@gmail.com>

	* gdtoa/gdtoa.h: Go back to defining 'Long' as 'long' instead of int
	in order to maintain compatibility and avoid compiler warnings.

2009-04-18  Kai Tietz  <kai.tietz@onevision.com>

	* pow.c: Fix strict aliasing for scalar/floating point
	modifications (required for -O2 and gcc 4.4+).
	* tanhl.c: Likewise.
	* lgammal.c: Likewise.
	* tgammal.c: Likewise.
	* powl.c: Likewise.
	* cephes_mconf.h: Likewise.
	* sinhl.c: Likewise.
	* erfl.c: Likewise.
	* lgamma.c: Likewise.
	* tgamma.c: Likewise.

2009-04-16  Ozkan Sezer  <sezeroz@gmail.com>

	* gdtoa/strtopx.c: The references I found indicate that the
	mainstream code is incorrect for the STRTOG_Infinite case.  See, for
	example, http://docs.sun.com/source/819-3688/data.rep.app.html, or
	http://www.amath.unc.edu/sysadmin/DOC4.0/c-compiler/user_guide/data.represent.app.doc.html

	* gdtoa/gdtoaimp.h, gdtoa/gethex.c, gdtoa/strtodg.c: Defined a
	SET_ERRNO() macro for less ifdefs in actual C code.

2009-04-16  Ozkan Sezer  <sezeroz@gmail.com>

	* gdtoa/strtopx.c: Added the maintream code of case STRTOG_Infinite
	in commented out form: it makes out of Infinite a Zero value. Until
	we know better we should keep our version.

	* gdtoa/qnan.c: Added a comment about why the union has an array of 8
	instead of 5.

	* gdtoa/README, gdtoa/gdtoaimp.h, gdtoa/gethex.c, gdtoa/g__fmt.c,
	gdtoa/strtodg.c: Merged the locale-specific decimal point character
	cache code from netlib.org.  We are building with NO_LOCALE_CACHE,
	though, because when user alters the decimal point in locale during
	the execution of a program, we wouldn't do the desired thing.

	* gdtoa/gdtoaimp.h, gdtoa/g_dfmt.c, gdtoa/misc.c: Reduce Kmax, and use
	MALLOC and free for huge blocks, which are possible only in pathological
	cases, such as dtoa calls in mode 3 with thousands of digits requested,
	or strtod() calls with thousand of digits. from the netlib.org sources.

	* gdtoa/g_xfmt.c: Added maintream code for general purposes and kept
	our fpclassiy() code for mingw builds.

	* gdtoa/gethex.c: Avoid compiler warnings about pointer targets differing
	in signedness.

	* gdtoa/README.mingw: New.

2009-04-15  Kai Tietz  <kai.tietz@onevision.com>

	* math/copysign.c: Avoid breaking of strict aliasing.

2009-04-15  Ozkan Sezer  <sezeroz@gmail.com>

	* gdtoa/dtoa.c, gdtoa/gdtoa.c: Sync'ed with the netlib.org sources.
	* gdtoa/gdtoa.h:  Minor cleanup.
	* gdtoa/gdtoa_fltrnds.h: New.
	* gdtoa/README, gdtoa/dtoa.c, gdtoa/g_dfmt.c, gdtoa/g_ffmt.c,
	gdtoa/g_xfmt.c, gdtoa/gdtoaimp.h, gdtoa/strtof.c, gdtoa/strtopx.c:
	Merged the Honor_FLT_ROUNDS/fegetround() bits from the current
	netlib.org sources.

	* gdtoa/gdtoaimp.h, gdtoa/strtodg.c: decrement() now returns void.

	* gdtoa/strtodg.c: fix a botch in the test of whether to increase
	rvbits before terminating the big for(;;) loop with dsign true (from
	netlib.org sources.)

	* gdtoa/gethex.c (gethex): Use ULbits as the multiplier, not 32 (from
	netlib.org sources.)

	* gdtoa/strtodg.c: Merge the rest of the rounding changes since the
	commit rev.776.

	* gdtoa/gethex.c (gethex): Another 32/ULbits change.

	* gdtoa/hexnan.c: Allow optional initial 0x or 0X.
	* gdtoa/gdtoaimp.h: Update accordingly for GDTOA_NON_PEDANTIC_NANCHECK.

	* gdtoa/gethex.c: fix an off-by-one bug in a rounding test. merge the
	rest of the rounding stuff. (from netlib.org sources.)

	* gdtoa/README, gdtoa/g__fmt.c, gdtoa/g_dfmt.c, gdtoa/g_ffmt.c,
	gdtoa/g_xfmt.c, gdtoa/gethex.c, gdtoa/smisc.c, gdtoa/strtodg.c,
	gdtoa/gdtoa.h, gdtoa/gdtoaimp.h: Merged the locale-specific decimal
	point fixes from netlib.org: if compiled with -DUSE_LOCALE, use the
	current locale's decimal point character string. bufsize changed from
	unsigned to size_t. g__fmt() now explicitly checks bufsize. fix
	glitches in the strto* routines when compiled with -DUSE_LOCALE and
	the locale's decimal-point string is two or more characters long.
	The mingw build does compile with USE_LOCALE and was exposed to this
	bug.
	* gdtoa/g__fmt.c: Fixed a compiler warning with -DUSE_LOCALE builds.

	* gdtoa/gethex.c, gdtoa/strtodg.c: Add missing cases of setting errno
	to ERANGE (from netlib.org sources.)

2009-04-14  Ozkan Sezer  <sezeroz@gmail.com>

	* gdtoa/dmisc.c, gdtoa/dtoa.c, gdtoa/gdtoa.c, gdtoa/gdtoa.h,
	gdtoa/gdtoaimp.h, gdtoa/misc.c, gdtoa/smisc.c, gdtoa/strtodg.c,
	gdtoa/strtof.c, gdtoa/ulp.c: merged the aliasing violation changes from
	the latest netlib.org sources.

	* gdtoa/misc.c: Restored the d0 and d1 macros in b2d() and d2b() for
	smaller diffs with the netlib.org sources.

2009-04-13  Ozkan Sezer  <sezeroz@gmail.com>

	* gdtoa/dtoa.c, gdtoa/gdtoa.c, gdtoa/gdtoaimp.h, gdtoa/misc.c,
	gdtoa/smisc.c, gdtoa/strtodg.c, gdtoa/ulp.c: Revmoved support for IBM,
	CRAY and VAX modes and replaced typecast assignments by union usage:
	The IBM, CRAY and VAX macros still live in the gdtoa.h and gdtoaimp.h,
	but all the actual code supporting them are deleted for more a clear
	code.
	* gdtoa/gdtoa.h: For mingw32/64, define Long as int (32 bit integer)
	instead of long. Undefine NO_LONG_LONG (we always have 'long long'.)
	* gdtoa/gdtoaimp.h: Always define INFNAN_CHECK when IEEE_Arith is
	defined (which already is the case for mingw32/64, from current gdtoa
	source at netlib.org.) Wrap the MULTIPLE_THREADS and USE_LOCALE
	definitions at the top of the file between __MINGWxx__ ifdefs.
	* gdtoa/gd_arith.h, gdtoa/gd_qnan.h: Regenerated.

2009-04-13  Ozkan Sezer  <sezeroz@gmail.com>
	* gdtoa/dmisc.c, gdtoa/dtoa.c, gdtoa/g__fmt.c, gdtoa/g_dfmt.c,
	gdtoa/g_ffmt.c, gdtoa/g_xfmt.c, gdtoa/gdtoa.c, gdtoa/gdtoa.h,
	gdtoa/gdtoaimp.h, gdtoa/gethex.c, gdtoa/gmisc.c, gdtoa/hd_init.c,
	gdtoa/hexnan.c, gdtoa/misc.c, gdtoa/smisc.c, gdtoa/strtodg.c,
	gdtoa/strtodnrp.c, gdtoa/strtof.c, gdtoa/strtopx.c, gdtoa/sum.c,
	gdtoa/ulp.c: Removed all KR_headers stuff along with ANSI, CONST,
	Void and Char things. Aligned the closing braces with the opening
	braces (wnitespace.)

2009-04-13  Kai Tietz  <kai.tietz@onevision.com>

	* gdtoa/strtopx.c: Fix strict aliasing warnings.

2009-04-13  Ozkan Sezer  <sezeroz@gmail.com>

	* gdtoa/dtoa.c, gdtoa/gdtoa.c, gdtoa/gdtoaimp.h, gdtoa/misc.c,
	gdtoa/smisc.c, gdtoa/strtodg.c gdtoa/ulp.c: Fixed gcc-4.4 strict
	aliasing issues by adding some ifdef magic. strtopx.c still needs
	some more work.

2009-04-13  Kai Tietz  <kai.tietz@onevision.com>

	* crtexe.c (__mingw_vex): Removed.
	Don't initialize gs:0 by -1.

2009-04-12  Ozkan Sezer  <sezeroz@gmail.com>

	* gdtoa/misc.c (b2d): Don't initialize d to 0.0 despite the 'd is
	used uninitialized' warning, otherwise gcc >= 4.4 miscompiles this
	with >= -O2.  Should stay this way until at least gcc is fixed.

2009-04-08  Kai Tietz  <kai.tietz@onevision.com>

	* crt/crtexe.c (__mingw_AddVectoredExceptionHandler): Removed.
	Don't call AddVectoredExceptionHandler in 32-bit case.
	Don't set fs:[0] to -1.
	* misc/delayimp.c (PULONG): Don't define in 32-bit case.

2009-04-01  Kai Tietz  <kai.tietz@onevision.com>

	PR/2723829
	* misc/mingw_getsp.S: Fix wrong .code64.

2009-03-28  Kai Tietz  <kai.tietz@onevision.com>

	* misc/fesetenv.c: Replace _imp__<sym> by __MINGW_IMP_SYMBOL(sym).
	* complex/cpow.c: Likewise.
	* include/internal.h: Likewise.
	* crt/CRT_fp8.c: Likewise.
	* crt/atonexit.c: Likewise.
	* crt/crtexe.c: Likewise.

2009-03-17  Kai Tietz  <kai.tietz@onevision.com>

	* crt/crtexe.c (wmainCRTStartup): Rename it to mainCRTStartup.
	(wWinMainCRTStartup): Rename to wWinMainCRTStartup.
	Make sure that for wmain call __main is called, too.

2009-03-16  Ozkan Sezer  <sezero@users.sourceforge.net>

	* misc/fetestexcept.c: added missing has_sse check.
	* misc/fesetexceptflag.c: likewise.

2009-03-13  Kai Tietz  <kai.tietz@onevision.com>

	* crt/mingw_custom.c (__mingw_get_crt_info): Moved from
	mingw_helpers.c.
	* minw_helpers.c (__mingw_get_crt_info): Removed.
	General check if _DLL was already defined.

2009-03-11  Kai Tietz  <kai.tietz@onevision.com>

	* misc/mingw_usleep.c: New.

2009-03-11  Alexey Pushkin  <Alexey.Pushkin@mererand.com>

	* crt/crtexe.c (_MINGW_INSTALL_DEBUG_MATHERR): Use for
	optional debugging code for _matherr.
	* crt/merr.c (_MINGW_INSTALL_DEBUG_MATHERR): New.
	(_matherr): Show more details for debugging math
	exceptions.

2009-02-27  Kai Tietz  <kai.tietz@onevision.com>

	* crt/mingw_helper.c (__mingw_get_crt_info): Append
	underscores to internal macros __MINGW64_VERSION, ...

2009-02-20  Kai Tietz  <kai.tietz@onevision.com>

	PR/2615526
	* tanhl.c: Add constant padding for 64-bits long double.
	* lgammal.c: Likewise.
	* tgammal.c: Likewise.
	* powl.c: Likewise
	* cephes_mconf.h: Likewise.
	* sinhl.c: Likewise.
	* erfl.c: Likewise.

2009-02-16  Kai Tietz  <kai.tietz@onevision.com>

	* lib32/moldname-msvcrt.def (fstat): Remove.
	(stat): Remove.

2009-02-07  Kai Tietz  <kai.tietz@onevision.com>

	* revstamp.h: New.

2008-11-11  Kai Tietz  <kai.tietz@onevision.com>

	* crt64/pseudo-reloc.c: Support of new pseudo relocation
	version.

2008-09-29  Kai Tietz  <kai.tietz@onevision.com>

	* misc/wininterlocked.c (InterlockedExchangeAdd): New.
	(InterlockedExchangeAdd64): New.

2008-09-16  Kai Tietz  <kai.tietz@onevision.com>

	Patch/2108279 by Jaroslav Smid
	* lib64/uxtheme.def: New Vista API for BeginBufferedPaint,
	BufferedPaintClear, BufferedPaintInit, BufferedPaintSetAlpha,
	BufferedPaintUnInit, EndBufferedPaint, GetBufferedPaintBits,
	GetBufferedPaintDC, GetBufferedPaintTargetDC, and
	GetBufferedPaintTargetRect.

2008-09-12  Kai Tietz  <kai.tietz@onevision.com>

	Patch/2106947 by Jaroslav Smid
	* lib64/dwmapi.def: New.

2008-08-27  Kai Tietz  <kai.tietz@onevision.com>

	* crt64/crtexe.c (_TUCHAR): Replaced by _TCHAR.

2008-08-14  Kai Tietz  <kai.tietz@onevision.com>

	* stdio/ftello64.c: Use fgetpos.

2008-07-29  Kai Tietz  <kai.tietz@onevision.com>

	* misc/execv.c: Change return type to int.
	* misc/execve.c: Likewise.
	* misc/execvp.c: Likewise.
	* execvpe.c: Likewise.

2008-06-14  Kai Tietz  <kai.tietz@onevision.com>

	* crt64/crtexe.c (duplicate_ppstrings): Correct
	type cast of allocated buffer.

2008-04-10  Kai Tietz  <kai.tietz@onevision.com>

	* gdtoa: New.

2008-04-09  Kai Tietz  <kai.tietz@onevision.com>

	PR/1938117
	* vsscanf.c: Fix assembly typo.

2008-04-08  Kai Tietz  <kai.tietz@onevision.com>

	* profile/COPYING: New.
	* profile/CYGWIN_LICENSE: New.
	* profile/gcrt0.c: New.
	* profile/gmon.c: New.
	* profile/gmon.h: New.
	* profile/mcount.c: New.
	* profile/profil.c: New.
	* profile/profil.h: New.
	* profile/profile.h: New.

2008-01-30  Kai Tietz  <kai.tietz@onevision.com>

	* misc/io_intrin.c: Correct arguments for __readmsr.

2008-01-28  Kai Tietz  <kai.tietz@onevision.com>

	* crt64/fmode.c: Set default to TEXT.

2008-01-28  sduplichan  <sduplichan@users.sourceforge.net>

	* misc/io_intrin.c: Add further intrinsic functions.

2008-01-26  Kai Tietz  <kai.tietz@onevision.com>

	* stdio/_findfirst64i32.c: Correct wide-character version to
	call _wfindfirst64.
	* misc/io_intrin.c: Add intrin I/O functions.

2008-01-25  Kai Tietz  <kai.tietz@onevision.com>

	* stdio/fseeko64.c: Correct feeko64.

2008-01-23  Kai Tietz  <kai.tietz@onevision.com>

	* crt64/dirent.c: Add add _tGetFileAttributes for win95.
	* misc/wcrtomb.c: EILSEQ check just for codepage zero.
	* misc/gettimeofday.c: Reenabled gettimeofday function.

2008-01-16  Kai Tietz  <kai.tietz@onevision.com>

	* stdio/fseeko64.c: Add os error mapping.

2008-01-05  Kai Tietz  <kai.tietz@onevision.com>

	* misc/ and crt64/: Removed dos line-endings.
	* crt64/moldname-msvcrt.def: Removed stat and fstat. PR/1863020.

2007-11-22  Kai Tietz  <kai.tietz@onevision.com>

	* crtexe.c: Corrected fs:0, gs:0 initialization. This
	let setjmp longjmp work proper.

2007-11-19  Kai Tietz  <kai.tietz@onevision.com>

	* _findfirst64i32.c: Add wide char methods.
	* _findnext64i32.c: Likewise.

2007-11-15  Kai Tietz  <kai.tietz@onevision.com>

	* misc/wininterlocked.c: Add NtCurrentTeb function. PR/1832340.

2007-10-22  20-40  <20-40@annonymous>

	* crtexe.c: Add _pei386_runtime_relocator.
	* crtdll.c: Likewise.

2007-10-22  Kai Tietz  <kai.tietz@onevision.com>

	* crtexe.c: Add exception handler basic routines.
	SEH support experimental.

2007-10-19  Kai Tietz  <kai.tietz@onevision.com>

	* fseeko64.c: (_flush): New method.
	(_fseeki64): Use _flush instead of fflush.

2007-10-18  Kai Tietz  <kai.tietz@onevision.com>

	* Makefile: Disable build of alarm.c in misc.

2007-10-09  Kai Tietz  <kai.tietz@onevision.com>

	* _fstat64i32.c,_fwstat64i32.c: New.

2007-10-05  zhou drangon  <drangon.mail@gmail.com>

	* misc/spawnv.c: Corrected mode argument.
	* misc/spawnve.c: Likewise.
	* misc/spawnvp.c: Likewise.
	* misc/spawnvpe.c: Likewise.

2007-10-04  Kai Tietz  <kai.tietz@onevision.com>

	* misc/execv.c:
	* misc/execve.c: New.
	* misc/execvp.c: New.
	* misc/execvpe.c: New.
	* misc/spawnv.c: New.
	* misc/spawnve.c: New.
	* misc/spawnvp.c: New.
	* misc/spawnvpe.c: New.
	* Makefile: Add execv.c, execve.c, execvp.c, execvpe.c,
	spawnv.c, spawnve.c, spawnvp.c, and spawnvpe.c to build.

2007-10-01  Kai Tietz  <kai.tietz@onevision.com>

	* misc/difftime64.c: New.
	* misc/difftime32.c: New.
	* Makefile: Add difftime32.c and difftime64.c.

2007-10-01  zhou drangon  <drangon.mail@gmail.com>

	* math/remquof.S: Fixed typos.
	* math/ceill.S: Likewise.
	* math/floorl.S: Likewise.

2007-09-27  Kai Tietz  <kai.tietz@onevision.com>

	* math/logf.S: Removed.
	* math/floorf.S: Removed.
	* math/log10f.S: Removed.
	* math/copysignf.S: Removed.
	* math/copysign.S: Removed.
	* math/logf.c: New.
	* math/floorf.c: New.
	* math/log10f.c: New.
	* math/copysignf.c: New.
	* math/copysign.c: New.
	* math/ceill.S: Adjust calling convention.
	* math/copysignl.S: Likewise.
	* math/cosl.S: Likewise.
	* math/exp2.S: Likewise.
	* math/exp2f.S: Likewise.
	* math/exp2l.S: Likewise.
	* math/floorl.S: Likewise.
	* math/fma.S: Likewise.
	* math/fmaf.S: Likewise.
	* math/frexpl.S: Likewise.
	* math/ilogb.S: Likewise.
	* math/ilogbf.S: Likewise.
	* math/ilogbl.S: Likewise.
	* math/log10l.S: Likewise.
	* math/log1p.S: Likewise.
	* math/log1pf.S: Likewise.
	* math/log1pl.S: Likewise.
	* math/log2.S: Likewise.
	* math/log2f.S: Likewise.
	* math/log2l.S: Likewise.
	* math/logl.S: Likewise.
	* math/nearbyint.S: Likewise.
	* math/nearbyintf.S: Likewise.
	* math/nearbyintl.S: Likewise.
	* math/remainder.S: Likewise.
	* math/remainderf.S: Likewise.
	* math/remainderl.S: Likewise.
	* math/remquo.S: Likewise.
	* math/remquof.S: Likewise.
	* math/remquol.S: Likewise.
	* math/scalbn.S: Likewise.
	* math/scalbnf.S: Likewise.
	* math/scalbnl.S: Likewise.
	* math/sinl.S: Likewise.
	* math/tanl.S: Likewise.

2007-09-26  Kai Tietz  <kai.tietz@onevision.com>

	* Makefile: Add _findfirst64i32.c.
	Add _findnext64i32.c.
	* stdio/_findfirst64i32.c: New.
	* stdio/_findnext64i32.c: New.
	* math/sinf.S: Removed.
	* math/cosf.S: Removed.
	* math/tanf.S: Removed.
	* math/ceilf.S: Removed.
	* math/sinf.c: New.
	* math/cosf.c: New.
	* math/tanf.c: New.
	* math/ceilf.c: New.

2007-09-24  Kai Tietz  <kai.tietz@onevision.com>

	* dirent.c: (_topendir): Let d_name point to dd_dta.name.
	PR/1801043
	* mktime.c, difftime.c, ctime.c, gmtime.c, localtime.c,
	_mkgmtime.c, time.c: New files in misc.
	* Makefile: Add new files to build.

2007-09-21  Kai Tietz  <kai.tietz@onevision.com>

	* misc/wininterlocked.c: Remove InterlockedExchangeAdd64 and
	InterlockedExchangeAdd.

2007-09-20  Kai Tietz  <kai.tietz@onevision.com>

	* Makefile: Add build file misc/wininterlocked.c.
	* misc/wininterlocked.c: New file implementing
	inline methods defined by winnt.h.

2007-09-19  Kai Tietz  <kai.tietz@onevision.com>

	* Makefile: removed termios and TERMIOS_OBJS.
	* termios/: Removed.

2007-09-11  Kai Tietz  <kai.tietz@onevision.com>

	* math/cephes_emath.c: (__emdnorm): Work around
	negation of unsigned short bug by using xor logic
	PR/1792793.
	* tlssup.c: (__dyn_tls_init, __dyn_tls_dtor): Type
	cast warnings PR/1792786.
	* misc/gettimeofday.c: (mingw_gettimeofday): New POSIX compatible
	version of gettimeofday method.

2007-08-10  Kai Tietz  <kai.tietz@onevision.com>

	* math/cbrtl.c: [PR/1781604] Warning incompatible implicit declaration.
	* math/erfl.c: [PR/1781602] Warning incompatible implicit declaration.

2007-08-21  Kai Tietz  <kai.tietz@onevision.com>

	* Makefile: Add isblank.c and iswblank.c.
	* isblank.c, iswblank.c: New.

2007-08-21  Professor Brian Ripley  <ripley@stats.ox.ac.uk>

	* dllmain.c: Remove deprecated reference to global
	variable '_pRawDllMain'.

2007-08-14  NightStrike  <nightstrike@gmail.com>

	* Makefile: PR/1772766 remove unused DLLWRAP?.

2007-08-14  Kai Tietz  <kai.tietz@onevision.com>

	* dllcrt.c: Introduce call for DllEntryPoint if present.
	* dllentry.c: New.
	* Makefile: Add dllentry.c to libmingw.a.

2007-07-25  Kai Tietz  <kai.tietz@onevision.com>

	* mingw_helpers.c: New file for libmingw32.a.
	* crtdll.c, crtexe.c: (__dyn_tls_init_callback,
	_decode_pointer, _encode_pointer, mingw_app_type): Moved
	implementation to mingw_helpers.c.

2007-07-25  Kai Tietz  <kai.tietz@onevision.com>

	* crtbegin.c, crtend.c: New.
	* Makfile: generate crtbegin.o and crtend.o objects.
	* CRT_fp10.c: Renamed according to Makefile.
	* CRT_fp8.c: Renamed according to Makefile.

2007-07-19  Kai Tietz  <kai.tietz@onevision.com>

	* Makefile: Add crt0_c.c and crt0_w.c
	* crt0_c.c: New.
	* crt0_w.c: New.
	* crtexe.c: Combine win/console for sake of -mconsole and
	-mwindows and move default main for win into libmingw32.a.

2007-07-19  NightStrike  <nightstrike@gmail.com>

	* Makefile: Replace EXE by EXEEXT as autoconf defines it.

2007-07-18  Kai Tietz  <kai.tietz@onevision.com>

	* Makefile: Enable windows starup.
	Add misc/wassert.c to libmingwex.a.
	* misc/wassert.c: Add _wassert method.

2007-07-17  Kai Tietz  <kai.tietz@onevision.com>

	* crtexe.c: Define argv, envp unicode specific.
	Corrected definition of __initenv and __winitenv.
	* internal.h: Corrected definition of __initenv and __winitenv.

2007-07-17  Professor Brian Ripley  <ripley@stats.ox.ac.uk>

	* Makefile: Replaced hardcoded /usr/local by $prefix.
	Removed install of none existing docdir.

2007-07-15  Kai Tietz  <kai.tietz@onevision.com>

	* Contributed initial crt set.


Local Variables:
version-control: never
End:
