2009-12-10 Kai Tietz * libsrc/wspiapi/: Take formatting of functions from wspiapi.h header. 2009-12-07 Kai Tietz * crt/tlssup.c: Add old Windows 9X/Me mingwm10.dll support. Cleanup and prepare source for a contribution to mingw.org venture. 2009-12-05 Jonathan Yong * misc/getopt.c: Merge from Cygwin, new getopt_long_only function 2009-12-04 Kai Tietz * crt/tlsmcrt.c: New. * libsrc/mingwthrd_nomt.c: Moved into libmingw32.a as crt/tlsmthread.c. * dummy_mingwthrd.c: Moved to /crt/tlsthrd.c * Makefile.am: Adjusted for dummy_mingwthrd.c build rule. * Makefile.in: Regenerated. 2009-12-01 Kai Tietz Merged from mingw.org's repository. 2009-11-25 Chris Sutcliffe * mingwex/gdtoa/misc.c: Fix security vulnerability in gdtoa: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-0689 2009-12-01 Kai Tietz * lib32/crypt32.def: Regenerated by gendef. 2009-10-25 Charles Wilson * crt/pseudo-reloc.c: Merge cygwin-specific code. 2009-10-20 Ozkan Sezer * crt/pseudo-reloc.c: 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 any more. 2009-10-08 Kai Tietz * lib32/gpapi.def: New. * lib32/gpedit.def: New. * lib32/gpprefcl.def: New. * lib32/gpscript.def: New. * lib32/gptext.def: New. * Makefile.am: Add new lib32 def-files. * Makefile.in: Regenerated. 2009-10-07 Kai Tietz * crt/pseudo-reloc.c (__report_error): New. 2009-10-03 Kai Tietz * libsrc/wia-uuid.c: New. * Makefile.am: Add libsrc/wia-uuid.c to libuuid.a lib. * Makefile.in: Regenerated. * 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 * intrins/ilock*.c: Added non-underscored functions as aliases to the real ones. 2009-09-18 Kai Tietz * Implement time_t related functions by stubs in libmingwex.a and do export them in .def as DATA. So just the imp_ is present and we avoid collisions in names. Reasoned is this patch by dlltool's inability to alias symbols. 2009-09-17 Kai Tietz * lib32/lib64: Add for time specific function the _32 version to def files. * misc: Adjust time functions to use _32 on demand. 2009-09-15 Kai Tietz * lib32/lib64: Add symbols _localtime32, _gmtime32, and _mkgmtime32. * misc/...: Add version for 32-bit time_t case. 2009-09-10 Kai Tietz * lib32/ and lib64/: Comment in msvcrXX.def and in msvcrt.def the symbols pow and powf. 2009-09-09 Mook 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 * 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 * 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 * Add __volatile__ to __asm__ statements. 2009-09-05 Ozkan Sezer * _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 * 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 * 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 * 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 * 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 * ...: 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 * Makefile.am: Added math/_chgsignl.S. * Makefile.in: Regenerated. 2009-08-23 Kai Tietz * math/_chgsignl.S: Implemented _chgsignl(). * ...: Add missing prototypes. 2009-08-22 Ozkan Sezer * 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 * 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 * 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 * 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 * crt/crt0_w.c (UNICODE): Define it for build. 2009-07-31 Ozkan Sezer * _fstat64i32.c (stat, fstat): Do not optimize due to strict aliasing issues. * _fwstat64i32.c(wstat): Likewise. 2009-07-29 Kai Tietz * 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 * intrincs/dbgassert.c: Deleted. (made into a macro in winnt.h) 2009-07-29 Kai Tietz * 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 * 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 * intrincs/currentfiber.c, intrincs/fiberdata.c: Add 32-bit compatible code using inline assembler. 2009-07-29 Ozkan Sezer * 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 PR/2687501 * stdio/_fstat64i32.c (stat,fstat): Add _imp__ variable. 2009-07-28 Ozkan Sezer * misc/wmemchr.c: Added NULL pointer checks. * misc/wmemcmp.c: Likewise. 2009-07-28 Ozkan Sezer * 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 * intrincs/readcr0.c: New. * Makefile.am: Added intrincs/readcr0.c to the build. * Makefile.in: Regenerated. 2009-07-27 Ozkan Sezer * 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 * intrincs/*: Define __CRT__NO_INLINE before the includes to prevent declaration mismatches. 2009-07-27 Ozkan Sezer * 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 * libsrc/wspiapi.c: Add function implementations of inline version in wspiapi.h 2009-07-27 Ozkan Sezer 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 * 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 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 * 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 Kai Tietz * 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 Kai Tietz * 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 * gdtoa/strtof.c (__strtof): Pre initialize local variable u to avoid warning. 2009-06-26 Kai Tietz * threads/: Removed. 2009-06-26 Kai Tietz * 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 * 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 * threads/: Add sources for EH cleanup DLL. * libsrc/dummy_mingwthrd.c: Likewise. 2009-05-11 Ozkan Sezer * 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 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 * 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 * 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 * 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 * 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 * 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 * math/copysign.c: Avoid breaking of strict aliasing. 2009-04-15 Ozkan Sezer * 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 * 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 * 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 * 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 * gdtoa/strtopx.c: Fix strict aliasing warnings. 2009-04-13 Ozkan Sezer * 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 * crtexe.c (__mingw_vex): Removed. Don't initialize gs:0 by -1. 2009-04-12 Ozkan Sezer * 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 * 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 PR/2723829 * misc/mingw_getsp.S: Fix wrong .code64. 2009-03-28 Kai Tietz * misc/fesetenv.c: Replace _imp__ 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 * 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 * misc/fetestexcept.c: added missing has_sse check. * misc/fesetexceptflag.c: likewise. 2009-03-13 Kai Tietz * 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 * misc/mingw_usleep.c: New. 2009-03-11 Alexey Pushkin * 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 * crt/mingw_helper.c (__mingw_get_crt_info): Append underscores to internal macros __MINGW64_VERSION, ... 2009-02-20 Kai Tietz 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 * lib32/moldname-msvcrt.def (fstat): Remove. (stat): Remove. 2009-02-07 Kai Tietz * revstamp.h: New. 2008-11-11 Kai Tietz * crt64/pseudo-reloc.c: Support of new pseudo relocation version. 2008-09-29 Kai Tietz * misc/wininterlocked.c (InterlockedExchangeAdd): New. (InterlockedExchangeAdd64): New. 2008-09-16 Kai Tietz 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 Patch/2106947 by Jaroslav Smid * lib64/dwmapi.def: New. 2008-08-27 Kai Tietz * crt64/crtexe.c (_TUCHAR): Replaced by _TCHAR. 2008-08-14 Kai Tietz * stdio/ftello64.c: Use fgetpos. 2008-07-29 Kai Tietz * misc/execv.c: Change return type to int. * misc/execve.c: Likewise. * misc/execvp.c: Likewise. * execvpe.c: Likewise. 2008-06-14 Kai Tietz * crt64/crtexe.c (duplicate_ppstrings): Correct type cast of allocated buffer. 2008-04-10 Kai Tietz * gdtoa: New. 2008-04-09 Kai Tietz PR/1938117 * vsscanf.c: Fix assembly typo. 2008-04-08 Kai Tietz * 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 * misc/io_intrin.c: Correct arguments for __readmsr. 2008-01-28 Kai Tietz * crt64/fmode.c: Set default to TEXT. 2008-01-28 sduplichan * misc/io_intrin.c: Add further intrinsic functions. 2008-01-26 Kai Tietz * stdio/_findfirst64i32.c: Correct wide-character version to call _wfindfirst64. * misc/io_intrin.c: Add intrin I/O functions. 2008-01-25 Kai Tietz * stdio/fseeko64.c: Correct feeko64. 2008-01-23 Kai Tietz * 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 * stdio/fseeko64.c: Add os error mapping. 2008-01-05 Kai Tietz * misc/ and crt64/: Removed dos line-endings. * crt64/moldname-msvcrt.def: Removed stat and fstat. PR/1863020. 2007-11-22 Kai Tietz * crtexe.c: Corrected fs:0, gs:0 initialization. This let setjmp longjmp work proper. 2007-11-19 Kai Tietz * _findfirst64i32.c: Add wide char methods. * _findnext64i32.c: Likewise. 2007-11-15 Kai Tietz * 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 * crtexe.c: Add exception handler basic routines. SEH support experimental. 2007-10-19 Kai Tietz * fseeko64.c: (_flush): New method. (_fseeki64): Use _flush instead of fflush. 2007-10-18 Kai Tietz * Makefile: Disable build of alarm.c in misc. 2007-10-09 Kai Tietz * _fstat64i32.c,_fwstat64i32.c: New. 2007-10-05 zhou drangon * misc/spawnv.c: Corrected mode argument. * misc/spawnve.c: Likewise. * misc/spawnvp.c: Likewise. * misc/spawnvpe.c: Likewise. 2007-10-04 Kai Tietz * 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 * misc/difftime64.c: New. * misc/difftime32.c: New. * Makefile: Add difftime32.c and difftime64.c. 2007-10-01 zhou drangon * math/remquof.S: Fixed typos. * math/ceill.S: Likewise. * math/floorl.S: Likewise. 2007-09-27 Kai Tietz * 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 * 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 * 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 * misc/wininterlocked.c: Remove InterlockedExchangeAdd64 and InterlockedExchangeAdd. 2007-09-20 Kai Tietz * Makefile: Add build file misc/wininterlocked.c. * misc/wininterlocked.c: New file implementing inline methods defined by winnt.h. 2007-09-19 Kai Tietz * Makefile: removed termios and TERMIOS_OBJS. * termios/: Removed. 2007-09-11 Kai Tietz * 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 * math/cbrtl.c: [PR/1781604] Warning incompatible implicit declaration. * math/erfl.c: [PR/1781602] Warning incompatible implicit declaration. 2007-08-21 Kai Tietz * Makefile: Add isblank.c and iswblank.c. * isblank.c, iswblank.c: New. 2007-08-21 Professor Brian Ripley * dllmain.c: Remove deprecated reference to global variable '_pRawDllMain'. 2007-08-14 NightStrike * Makefile: PR/1772766 remove unused DLLWRAP?. 2007-08-14 Kai Tietz * dllcrt.c: Introduce call for DllEntryPoint if present. * dllentry.c: New. * Makefile: Add dllentry.c to libmingw.a. 2007-07-25 Kai Tietz * 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 * 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 * 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 * Makefile: Replace EXE by EXEEXT as autoconf defines it. 2007-07-18 Kai Tietz * Makefile: Enable windows starup. Add misc/wassert.c to libmingwex.a. * misc/wassert.c: Add _wassert method. 2007-07-17 Kai Tietz * 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 * Makefile: Replaced hardcoded /usr/local by $prefix. Removed install of none existing docdir. 2007-07-15 Kai Tietz * Contributed initial crt set. Local Variables: version-control: never End: