Index: winsup/cygwin/environ.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/environ.cc,v retrieving revision 1.183 diff -u -r1.183 environ.cc --- winsup/cygwin/environ.cc 18 May 2010 14:30:50 -0000 1.183 +++ winsup/cygwin/environ.cc 9 Feb 2011 13:47:57 -0000 @@ -156,7 +156,7 @@ to the beginning of the environment variable name. *in_posix is any known posix value for the environment variable. Returns a pointer to the appropriate conversion structure. */ -win_env * __stdcall +win_env * __stdcall __attribute__ ((regparm (3))) getwinenv (const char *env, const char *in_posix, win_env *temp) { if (!conv_start_chars[(unsigned char)*env]) @@ -219,7 +219,7 @@ free (src); MALLOC_CHECK; } - +typedef char* (__stdcall *pfnenv)(const char*,int*); /* Returns pointer to value associated with name, if any, else NULL. Sets offset to be the offset of the name/value combination in the environment array, for use by setenv(3) and unsetenv(3). @@ -253,7 +253,7 @@ /* Primitive getenv before the environment is built. */ -static char __stdcall * +static char* __stdcall getearly (const char * name, int *) { char *ret; @@ -275,7 +275,7 @@ return NULL; } -static char * (*findenv_func)(const char *, int *) = (char * (*)(const char *, int *)) getearly; +static pfnenv findenv_func = &getearly; /* Returns ptr to value associated with name, if any, else NULL. */ @@ -830,7 +830,7 @@ FreeEnvironmentStringsW (rawenv); out: - findenv_func = (char * (*)(const char*, int*)) my_findenv; + findenv_func = my_findenv; __cygwin_environ = envp; update_envptrs (); if (envp_passed_in) @@ -856,7 +856,7 @@ return strcmp (*p, *q); } -char * __stdcall +char * __stdcall __attribute__ ((regparm (3))) getwinenveq (const char *name, size_t namelen, int x) { WCHAR name0[namelen - 1]; @@ -956,7 +956,7 @@ filled with null terminated strings, terminated by double null characters. Converts environment variables noted in conv_envvars into win32 form prior to placing them in the string. */ -char ** __stdcall +char ** __stdcall __attribute__ ((regparm (3))) build_env (const char * const *envp, PWCHAR &envblock, int &envc, bool no_envblock) { Index: winsup/cygwin/exception.h =================================================================== RCS file: /cvs/src/src/winsup/cygwin/exception.h,v retrieving revision 1.3 diff -u -r1.3 exception.h --- winsup/cygwin/exception.h 1 Mar 2010 06:39:47 -0000 1.3 +++ winsup/cygwin/exception.h 9 Feb 2011 13:47:57 -0000 @@ -20,8 +20,8 @@ static int handle (EXCEPTION_RECORD *, exception_list *, CONTEXT *, void *); public: #ifdef DEBUG_EXCEPTION - exception (); - ~exception (); + exception (){}; + ~exception (){}; #else exception () __attribute__ ((always_inline)) { Index: winsup/cygwin/fhandler_floppy.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/fhandler_floppy.cc,v retrieving revision 1.57 diff -u -r1.57 fhandler_floppy.cc --- winsup/cygwin/fhandler_floppy.cc 12 Jan 2011 09:16:51 -0000 1.57 +++ winsup/cygwin/fhandler_floppy.cc 9 Feb 2011 13:47:58 -0000 @@ -57,7 +57,8 @@ __seterrno (); else { - di = &((DISK_GEOMETRY_EX *) dbuf)->Geometry; + DISK_GEOMETRY_EX *dgx = (DISK_GEOMETRY_EX *) dbuf; + di = &dgx->Geometry; if (!DeviceIoControl (get_handle (), IOCTL_DISK_GET_PARTITION_INFO_EX, NULL, 0, pbuf, 256, &bytes_read, NULL)) Index: winsup/cygwin/hookapi.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/hookapi.cc,v retrieving revision 1.19 diff -u -r1.19 hookapi.cc --- winsup/cygwin/hookapi.cc 11 Sep 2008 04:34:23 -0000 1.19 +++ winsup/cygwin/hookapi.cc 9 Feb 2011 13:47:59 -0000 @@ -252,7 +252,7 @@ fh.origfn = NULL; fh.hookfn = fn; char *buf = (char *) alloca (strlen (name) + sizeof ("_64")); - int i; + int i = -1; // Iterate through each import descriptor, and redirect if appropriate for (PIMAGE_IMPORT_DESCRIPTOR pd = pdfirst; pd->FirstThunk; pd++) { Index: winsup/cygwin/syscalls.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/syscalls.cc,v retrieving revision 1.573 diff -u -r1.573 syscalls.cc --- winsup/cygwin/syscalls.cc 31 Jan 2011 13:58:59 -0000 1.573 +++ winsup/cygwin/syscalls.cc 9 Feb 2011 13:48:01 -0000 @@ -1569,7 +1569,7 @@ } /* Cygwin internal */ -int __stdcall +int __stdcall __attribute__ ((regparm (2))) stat_worker (path_conv &pc, struct __stat64 *buf) { int res = -1; @@ -3765,8 +3765,12 @@ status = UuidCreate (&Uuid); if (status == RPC_S_OK) { - data[4] = *(unsigned *)&Uuid.Data4[2]; - data[5] = *(unsigned short *)&Uuid.Data4[6]; + unsigned d4; + unsigned short d5; + memcpy (&d4, &Uuid.Data4[2], sizeof (unsigned)); + memcpy (&d5, &Uuid.Data4[6], sizeof (unsigned short)); + data[4] = d4; + data[5] = d5; // Unfortunately Windows will sometimes pick a virtual Ethernet card // e.g. VMWare Virtual Ethernet Adaptor debug_printf ("MAC address of first Ethernet card: %02x:%02x:%02x:%02x:%02x:%02x", Index: winsup/cygwin/include/cygwin/in6.h =================================================================== RCS file: /cvs/src/src/winsup/cygwin/include/cygwin/in6.h,v retrieving revision 1.6 diff -u -r1.6 in6.h --- winsup/cygwin/include/cygwin/in6.h 18 Jan 2007 10:25:40 -0000 1.6 +++ winsup/cygwin/include/cygwin/in6.h 9 Feb 2011 13:48:01 -0000 @@ -16,10 +16,7 @@ #define INET6_ADDRSTRLEN 46 #define IN6_ARE_ADDR_EQUAL(a, b) \ - (((const uint32_t *)(a))[0] == ((const uint32_t *)(b))[0] \ - && ((const uint32_t *)(a))[1] == ((const uint32_t *)(b))[1] \ - && ((const uint32_t *)(a))[2] == ((const uint32_t *)(b))[2] \ - && ((const uint32_t *)(a))[3] == ((const uint32_t *)(b))[3]) + (!memcmp ((a), (b), 4 * sizeof (uint32_t))) #define IN6_IS_ADDR_UNSPECIFIED(addr) \ (((const uint32_t *)(addr))[0] == 0 \ Index: winsup/cygwin/passwd.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/passwd.cc,v retrieving revision 1.86 diff -u -r1.86 passwd.cc --- winsup/cygwin/passwd.cc 28 Sep 2010 14:49:31 -0000 1.86 +++ winsup/cygwin/passwd.cc 9 Feb 2011 13:48:00 -0000 @@ -98,11 +98,14 @@ { endptr = strchr (sid_string + 2, 0) - 1; for (int i = 0; i < pr.curr_lines; i++) - if ((pw = passwd_buf + i)->pw_dir > pw->pw_gecos + 8) - for (ptr1 = endptr, ptr2 = pw->pw_dir - 2; - *ptr1 == *ptr2; ptr2--) + { + pw = passwd_buf + i; + if (pw->pw_dir > pw->pw_gecos + 8) + for (ptr1 = endptr, ptr2 = pw->pw_dir - 2; + *ptr1 == *ptr2; ptr2--) if (!*--ptr1) return pw; + } } return NULL; } Index: winsup/cygwin/cygheap.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/cygheap.cc,v retrieving revision 1.155 diff -u -r1.155 cygheap.cc --- winsup/cygwin/cygheap.cc 31 May 2010 18:52:02 -0000 1.155 +++ winsup/cygwin/cygheap.cc 9 Feb 2011 13:47:57 -0000 @@ -178,10 +178,10 @@ /* Copyright (C) 1997, 2000 DJ Delorie */ -static void *_cmalloc (unsigned size) __attribute ((regparm(1))); -static void *__stdcall _crealloc (void *ptr, unsigned size) __attribute ((regparm(2))); +static void *__stdcall _cmalloc (unsigned size) __attribute__ ((regparm(1))); +static void *__stdcall _crealloc (void *ptr, unsigned size) __attribute__ ((regparm(2))); -static void *__stdcall +static void *__stdcall __attribute__ ((regparm(1))) _cmalloc (unsigned size) { _cmalloc_entry *rvc; @@ -215,7 +215,7 @@ return rvc->data; } -static void __stdcall +static void __stdcall __attribute__((regparm(1))) _cfree (void *ptr) { cygheap_protect.acquire (); @@ -226,7 +226,7 @@ cygheap_protect.release (); } -static void *__stdcall +static void *__stdcall __attribute__ ((regparm(2))) _crealloc (void *ptr, unsigned size) { void *newptr; @@ -295,7 +295,7 @@ return cmalloc (x, n, "cmalloc"); } -inline static void * +inline static void * __stdcall __attribute__ ((regparm(2))) crealloc (void *s, DWORD n, const char *fn) { MALLOC_CHECK; @@ -309,19 +309,19 @@ return creturn (t, c, n, fn); } -extern "C" void *__stdcall +extern "C" void *__stdcall __attribute__ ((regparm(2))) crealloc (void *s, DWORD n) { return crealloc (s, n, NULL); } -extern "C" void *__stdcall +extern "C" void *__stdcall __attribute__ ((regparm(2))) crealloc_abort (void *s, DWORD n) { return crealloc (s, n, "crealloc"); } -extern "C" void __stdcall +extern "C" void __stdcall __attribute__ ((regparm(1))) cfree (void *s) { assert (!inheap (s)); @@ -329,7 +329,7 @@ MALLOC_CHECK; } -extern "C" void __stdcall +extern "C" void __stdcall __attribute__ ((regparm(2))) cfree_and_set (char *&s, char *what) { if (s && s != almost_null) @@ -349,19 +349,19 @@ return creturn (x, c, n, fn); } -extern "C" void *__stdcall +extern "C" void *__stdcall __attribute__ ((regparm(3))) ccalloc (cygheap_types x, DWORD n, DWORD size) { return ccalloc (x, n, size, NULL); } -extern "C" void *__stdcall +extern "C" void *__stdcall __attribute__ ((regparm(3))) ccalloc_abort (cygheap_types x, DWORD n, DWORD size) { return ccalloc (x, n, size, "ccalloc"); } -extern "C" PWCHAR __stdcall +extern "C" PWCHAR __stdcall __attribute__ ((regparm(1))) cwcsdup (const PWCHAR s) { MALLOC_CHECK; @@ -373,7 +373,7 @@ return p; } -extern "C" PWCHAR __stdcall +extern "C" PWCHAR __stdcall __attribute__ ((regparm(1))) cwcsdup1 (const PWCHAR s) { MALLOC_CHECK; @@ -385,7 +385,7 @@ return p; } -extern "C" char *__stdcall +extern "C" char *__stdcall __attribute__ ((regparm(1))) cstrdup (const char *s) { MALLOC_CHECK; @@ -397,7 +397,7 @@ return p; } -extern "C" char *__stdcall +extern "C" char *__stdcall __attribute__ ((regparm(1))) cstrdup1 (const char *s) { MALLOC_CHECK; Index: winsup/cygwin/dcrt0.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/dcrt0.cc,v retrieving revision 1.390 diff -u -r1.390 dcrt0.cc --- winsup/cygwin/dcrt0.cc 26 Dec 2010 21:11:37 -0000 1.390 +++ winsup/cygwin/dcrt0.cc 9 Feb 2011 13:47:57 -0000 @@ -1034,7 +1034,7 @@ sig_dispatch_pending (true); } -void __stdcall +void __stdcall __attribute__ ((regparm (1), noreturn)) do_exit (int status) { syscall_printf ("do_exit (%d), exit_state %d", status, exit_state); @@ -1198,7 +1198,7 @@ } #ifdef DEBUGGING -void __stdcall +void __stdcall __attribute__((regparm (1))) cygbench (const char *s) { if (GetEnvironmentVariableA ("CYGWIN_BENCH", NULL, 0)) Index: winsup/cygwin/debug.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/debug.cc,v retrieving revision 1.63 diff -u -r1.63 debug.cc --- winsup/cygwin/debug.cc 5 Aug 2009 04:44:27 -0000 1.63 +++ winsup/cygwin/debug.cc 9 Feb 2011 13:47:57 -0000 @@ -103,7 +103,7 @@ return NULL; } -void __stdcall +void __stdcall __attribute__ ((regparm (3))) modify_handle (const char *func, int ln, HANDLE h, const char *name, bool inh) { lock_debug here; @@ -119,7 +119,7 @@ } /* Add a handle to the linked list of known handles. */ -void __stdcall +void __stdcall __attribute__ ((regparm (3))) add_handle (const char *func, int ln, HANDLE h, const char *name, bool inh) { handle_list *hl; @@ -213,7 +213,7 @@ /* Close a known handle. Complain if !force and closing a known handle or if the name of the handle being closed does not match the registered name. */ -bool __stdcall +bool __stdcall __attribute__ ((regparm (3))) close_handle (const char *func, int ln, HANDLE h, const char *name, bool force) { bool ret; Index: winsup/cygwin/errno.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/errno.cc,v retrieving revision 1.75 diff -u -r1.75 errno.cc --- winsup/cygwin/errno.cc 19 Jan 2011 09:15:17 -0000 1.75 +++ winsup/cygwin/errno.cc 9 Feb 2011 13:47:57 -0000 @@ -301,7 +301,7 @@ int NO_COPY_INIT _sys_nerr = sizeof (_sys_errlist) / sizeof (_sys_errlist[0]); }; -int __stdcall +int __stdcall __attribute__ ((regparm(2))) geterrno_from_win_error (DWORD code, int deferrno) { for (int i = 0; errmap[i].w != 0; ++i) @@ -318,7 +318,7 @@ /* seterrno_from_win_error: Given a Windows error code, set errno as appropriate. */ -void __stdcall +void __stdcall __attribute__ ((regparm(3))) seterrno_from_win_error (const char *file, int line, DWORD code) { syscall_printf ("%s:%d windows error %d", file, line, code); @@ -327,7 +327,7 @@ /* seterrno_from_nt_status: Given a NT status code, set errno as appropriate. */ -void __stdcall +void __stdcall __attribute__ ((regparm(3))) seterrno_from_nt_status (const char *file, int line, NTSTATUS status) { DWORD code = RtlNtStatusToDosError (status); @@ -338,7 +338,7 @@ } /* seterrno: Set `errno' based on GetLastError (). */ -void __stdcall +void __stdcall __attribute__ ((regparm(2))) seterrno (const char *file, int line) { seterrno_from_win_error (file, line, GetLastError ()); Index: winsup/cygwin/exceptions.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/exceptions.cc,v retrieving revision 1.351 diff -u -r1.351 exceptions.cc --- winsup/cygwin/exceptions.cc 24 Oct 2010 15:26:05 -0000 1.351 +++ winsup/cygwin/exceptions.cc 9 Feb 2011 13:47:57 -0000 @@ -450,7 +453,7 @@ extern "C" DWORD __stdcall RtlUnwind (void *, void *, void *, DWORD); static void __stdcall rtl_unwind (exception_list *, PEXCEPTION_RECORD) __attribute__ ((noinline, regparm (3))); -void __stdcall +void __stdcall __attribute__ ((noinline, regparm (3))) rtl_unwind (exception_list *frame, PEXCEPTION_RECORD e) { __asm__ ("\n\ @@ -797,7 +800,7 @@ return interrupted; } -void __stdcall +void __stdcall __attribute__((regparm(3))) _cygtls::interrupt_setup (int sig, void *handler, struct sigaction& siga) { push ((__stack_t) sigdelayed); @@ -1154,7 +1157,7 @@ mask_sync.release (); } -int __stdcall +int __stdcall __attribute__ ((regparm (1))) sigpacket::process () { DWORD continue_now; Index: winsup/cygwin/fhandler.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/fhandler.cc,v retrieving revision 1.373 diff -u -r1.373 fhandler.cc --- winsup/cygwin/fhandler.cc 1 Feb 2011 08:46:48 -0000 1.373 +++ winsup/cygwin/fhandler.cc 9 Feb 2011 13:47:57 -0000 @@ -644,7 +644,7 @@ an \n. If last char is an \r, look ahead one more char, if \n then modify \r, if not, remember char. */ -void __stdcall +void __stdcall __attribute__ ((regparm (3))) fhandler_base::read (void *in_ptr, size_t& len) { char *ptr = (char *) in_ptr; @@ -1006,14 +1006,14 @@ return res; } -ssize_t __stdcall +ssize_t __stdcall __attribute__ ((regparm (3))) fhandler_base::pread (void *, size_t, _off64_t) { set_errno (ESPIPE); return -1; } -ssize_t __stdcall +ssize_t __stdcall __attribute__ ((regparm (3))) fhandler_base::pwrite (void *, size_t, _off64_t) { set_errno (ESPIPE); @@ -1078,7 +1078,7 @@ return -1; } -int __stdcall +int __stdcall __attribute__ ((regparm (2))) fhandler_base::fstat (struct __stat64 *buf) { debug_printf ("here"); @@ -1121,7 +1121,7 @@ return 0; } -int __stdcall +int __stdcall __attribute__ ((regparm (2))) fhandler_base::fstatvfs (struct statvfs *sfs) { /* If we hit this base implementation, it's some device in /dev. @@ -1794,7 +1794,7 @@ return res; } -void __stdcall +void __stdcall __attribute__ ((regparm (3))) fhandler_base_overlapped::read_overlapped (void *ptr, size_t& len) { DWORD nbytes; Index: winsup/cygwin/fhandler_clipboard.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/fhandler_clipboard.cc,v retrieving revision 1.44 diff -u -r1.44 fhandler_clipboard.cc --- winsup/cygwin/fhandler_clipboard.cc 24 Jul 2009 20:54:33 -0000 1.44 +++ winsup/cygwin/fhandler_clipboard.cc 9 Feb 2011 13:47:57 -0000 @@ -180,7 +180,7 @@ } } -void __stdcall +void __stdcall __attribute__ ((regparm (3))) fhandler_dev_clipboard::read (void *ptr, size_t& len) { HGLOBAL hglb; Index: winsup/cygwin/fhandler_console.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/fhandler_console.cc,v retrieving revision 1.222 diff -u -r1.222 fhandler_console.cc --- winsup/cygwin/fhandler_console.cc 7 Feb 2011 11:18:19 -0000 1.222 +++ winsup/cygwin/fhandler_console.cc 9 Feb 2011 13:47:58 -0000 @@ -249,7 +249,7 @@ || dev_state->use_mouse >= 3)); } -void __stdcall +void __stdcall __attribute__ ((regparm (3))) fhandler_console::read (void *pv, size_t& buflen) { HANDLE h = get_io_handle (); Index: winsup/cygwin/fhandler_disk_file.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/fhandler_disk_file.cc,v retrieving revision 1.348 diff -u -r1.348 fhandler_disk_file.cc --- winsup/cygwin/fhandler_disk_file.cc 26 Jan 2011 10:55:13 -0000 1.348 +++ winsup/cygwin/fhandler_disk_file.cc 9 Feb 2011 13:47:58 -0000 @@ -290,7 +290,7 @@ This returns the content of a struct fattr3 as defined in RFC 1813. The content is the NFS equivalent of struct stat. so there's not much to do here except for copying. */ -int __stdcall +int __stdcall __attribute__ ((regparm (2))) fhandler_base::fstat_by_nfs_ea (struct __stat64 *buf) { fattr3 *nfs_attr = pc.nfsattr (); @@ -330,7 +330,7 @@ return 0; } -int __stdcall +int __stdcall __attribute__ ((regparm (2))) fhandler_base::fstat_by_handle (struct __stat64 *buf) { /* Don't use FileAllInformation info class. It returns a pathname rather @@ -389,7 +389,7 @@ return fstat_helper (buf, fsi.NumberOfLinks); } -int __stdcall +int __stdcall __attribute__ ((regparm (2))) fhandler_base::fstat_by_name (struct __stat64 *buf) { NTSTATUS status; @@ -434,7 +434,7 @@ return fstat_helper (buf, 1); } -int __stdcall +int __stdcall __attribute__ ((regparm (2))) fhandler_base::fstat_fs (struct __stat64 *buf) { int res = -1; @@ -478,7 +478,7 @@ return res; } -int __stdcall +int __stdcall __attribute__ ((regparm (3))) fhandler_base::fstat_helper (struct __stat64 *buf, DWORD nNumberOfLinks) { @@ -667,13 +667,13 @@ return 0; } -int __stdcall +int __stdcall __attribute__ ((regparm (2))) fhandler_disk_file::fstat (struct __stat64 *buf) { return fstat_fs (buf); } -int __stdcall +int __stdcall __attribute__ ((regparm (2))) fhandler_disk_file::fstatvfs (struct statvfs *sfs) { int ret = -1, opened = 0; @@ -765,7 +765,7 @@ return ret; } -int __stdcall +int __stdcall __attribute__ ((regparm (1))) fhandler_disk_file::fchmod (mode_t mode) { extern int chmod_device (path_conv& pc, mode_t mode); @@ -873,7 +873,7 @@ return res; } -int __stdcall +int __stdcall __attribute__ ((regparm (2))) fhandler_disk_file::fchown (__uid32_t uid, __gid32_t gid) { int oret = 0; @@ -940,7 +940,7 @@ return res; } -int _stdcall +int _stdcall __attribute__ ((regparm (3))) fhandler_disk_file::facl (int cmd, int nentries, __aclent32_t *aclbufp) { int res = -1; @@ -1412,7 +1412,7 @@ return res; } -ssize_t __stdcall +ssize_t __stdcall __attribute__ ((regparm (3))) fhandler_disk_file::pread (void *buf, size_t count, _off64_t offset) { ssize_t res; @@ -1432,7 +1432,7 @@ return res; } -ssize_t __stdcall +ssize_t __stdcall __attribute__ ((regparm (3))) fhandler_disk_file::pwrite (void *buf, size_t count, _off64_t offset) { int res; @@ -1710,7 +1710,7 @@ return res; } -__ino64_t __stdcall +__ino64_t __stdcall __attribute__ ((regparm (2))) readdir_get_ino (const char *path, bool dot_dot) { char *fname; Index: winsup/cygwin/fhandler_dsp.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/fhandler_dsp.cc,v retrieving revision 1.52 diff -u -r1.52 fhandler_dsp.cc --- winsup/cygwin/fhandler_dsp.cc 24 Jul 2009 20:54:33 -0000 1.52 +++ winsup/cygwin/fhandler_dsp.cc 9 Feb 2011 13:47:58 -0000 @@ -1040,7 +1040,7 @@ return len; } -void __stdcall +void __stdcall __attribute__ ((regparm (3))) fhandler_dev_dsp::read (void *ptr, size_t& len) { debug_printf ("ptr=%08x len=%d", ptr, len); Index: winsup/cygwin/fhandler_fifo.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/fhandler_fifo.cc,v retrieving revision 1.43 diff -u -r1.43 fhandler_fifo.cc --- winsup/cygwin/fhandler_fifo.cc 6 Apr 2010 15:09:44 -0000 1.43 +++ winsup/cygwin/fhandler_fifo.cc 9 Feb 2011 13:47:58 -0000 @@ -281,7 +281,7 @@ return wait (true) ? write_overlapped (ptr, len) : -1; } -int __stdcall +int __stdcall __attribute__ ((regparm (2))) fhandler_fifo::fstatvfs (struct statvfs *sfs) { fhandler_disk_file fh (pc); Index: winsup/cygwin/fhandler_mailslot.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/fhandler_mailslot.cc,v retrieving revision 1.12 diff -u -r1.12 fhandler_mailslot.cc --- winsup/cygwin/fhandler_mailslot.cc 14 Jan 2010 18:46:01 -0000 1.12 +++ winsup/cygwin/fhandler_mailslot.cc 9 Feb 2011 13:47:58 -0000 @@ -25,7 +25,7 @@ { } -int __stdcall +int __stdcall __attribute__ ((regparm (2))) fhandler_mailslot::fstat (struct __stat64 *buf) { debug_printf ("here"); Index: winsup/cygwin/fhandler_mem.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/fhandler_mem.cc,v retrieving revision 1.56 diff -u -r1.56 fhandler_mem.cc --- winsup/cygwin/fhandler_mem.cc 14 Jan 2010 18:46:01 -0000 1.56 +++ winsup/cygwin/fhandler_mem.cc 9 Feb 2011 13:47:58 -0000 @@ -162,7 +162,7 @@ return ulen; } -void __stdcall +void __stdcall __attribute__ ((regparm (3))) fhandler_dev_mem::read (void *ptr, size_t& ulen) { if (!ulen || pos >= mem_size) Index: winsup/cygwin/fhandler_procsys.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/fhandler_procsys.cc,v retrieving revision 1.4 diff -u -r1.4 fhandler_procsys.cc --- winsup/cygwin/fhandler_procsys.cc 2 Oct 2010 08:44:08 -0000 1.4 +++ winsup/cygwin/fhandler_procsys.cc 9 Feb 2011 13:47:58 -0000 @@ -315,7 +315,7 @@ return fhandler_virtual::closedir (dir); } -void __stdcall +void __stdcall __attribute__ ((regparm (3))) fhandler_procsys::read (void *ptr, size_t& len) { NTSTATUS status; Index: winsup/cygwin/fhandler_random.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/fhandler_random.cc,v retrieving revision 1.40 diff -u -r1.40 fhandler_random.cc --- winsup/cygwin/fhandler_random.cc 30 Oct 2009 10:53:54 -0000 1.40 +++ winsup/cygwin/fhandler_random.cc 9 Feb 2011 13:47:58 -0000 @@ -111,7 +111,7 @@ return len; } -void __stdcall +void __stdcall __attribute__ ((regparm (3))) fhandler_dev_random::read (void *ptr, size_t& len) { if (!len) Index: winsup/cygwin/fhandler_raw.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/fhandler_raw.cc,v retrieving revision 1.70 diff -u -r1.70 fhandler_raw.cc --- winsup/cygwin/fhandler_raw.cc 3 Jan 2009 05:12:20 -0000 1.70 +++ winsup/cygwin/fhandler_raw.cc 9 Feb 2011 13:47:58 -0000 @@ -32,7 +32,7 @@ delete [] devbuf; } -int __stdcall +int __stdcall __attribute__ ((regparm (2))) fhandler_dev_raw::fstat (struct __stat64 *buf) { debug_printf ("here"); Index: winsup/cygwin/fhandler_socket.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/fhandler_socket.cc,v retrieving revision 1.266 diff -u -r1.266 fhandler_socket.cc --- winsup/cygwin/fhandler_socket.cc 31 Jan 2011 08:53:57 -0000 1.266 +++ winsup/cygwin/fhandler_socket.cc 9 Feb 2011 13:47:59 -0000 @@ -783,7 +783,7 @@ return -1; } -int __stdcall +int __stdcall __attribute__ ((regparm (2))) fhandler_socket::fstat (struct __stat64 *buf) { int res; @@ -810,7 +810,7 @@ return res; } -int __stdcall +int __stdcall __attribute__ ((regparm (2))) fhandler_socket::fstatvfs (struct statvfs *sfs) { if (get_device () == FH_UNIX) Index: winsup/cygwin/fhandler_tty.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/fhandler_tty.cc,v retrieving revision 1.216 diff -u -r1.216 fhandler_tty.cc --- winsup/cygwin/fhandler_tty.cc 29 Nov 2010 20:51:38 -0000 1.216 +++ winsup/cygwin/fhandler_tty.cc 9 Feb 2011 13:47:59 -0000 @@ -790,7 +790,7 @@ return towrite; } -void __stdcall +void __stdcall __attribute__ ((regparm (3))) fhandler_tty_slave::read (void *ptr, size_t& len) { int totalread = 0; @@ -1183,7 +1183,7 @@ return retval; } -int __stdcall +int __stdcall __attribute__ ((regparm (2))) fhandler_tty_slave::fstat (struct __stat64 *st) { fhandler_base::fstat (st); @@ -1289,7 +1289,7 @@ close_maybe (inuse); } -int __stdcall +int __stdcall __attribute__ ((regparm (1))) fhandler_tty_slave::fchmod (mode_t mode) { int ret = -1; @@ -1315,7 +1315,7 @@ return ret; } -int __stdcall +int __stdcall __attribute__ ((regparm (2))) fhandler_tty_slave::fchown (__uid32_t uid, __gid32_t gid) { int ret = -1; @@ -1496,7 +1496,7 @@ return i; } -void __stdcall +void __stdcall __attribute__ ((regparm (3))) fhandler_pty_master::read (void *ptr, size_t& len) { len = (size_t) process_slave_output ((char *) ptr, len, pktmode); Index: winsup/cygwin/fhandler_virtual.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/fhandler_virtual.cc,v retrieving revision 1.53 diff -u -r1.53 fhandler_virtual.cc --- winsup/cygwin/fhandler_virtual.cc 6 Sep 2010 09:47:01 -0000 1.53 +++ winsup/cygwin/fhandler_virtual.cc 9 Feb 2011 13:47:59 -0000 @@ -181,7 +181,7 @@ return 0; } -void __stdcall +void __stdcall __attribute__ ((regparm (3))) fhandler_virtual::read (void *ptr, size_t& len) { if (len == 0) @@ -266,7 +266,7 @@ return res; } -int __stdcall +int __stdcall __attribute__ ((regparm (2))) fhandler_virtual::fstatvfs (struct statvfs *sfs) { /* Virtual file system. Just return an empty buffer with a few values Index: winsup/cygwin/fhandler_windows.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/fhandler_windows.cc,v retrieving revision 1.30 diff -u -r1.30 fhandler_windows.cc --- winsup/cygwin/fhandler_windows.cc 24 Jul 2009 20:54:33 -0000 1.30 +++ winsup/cygwin/fhandler_windows.cc 9 Feb 2011 13:47:59 -0000 @@ -79,7 +79,7 @@ return SendMessage (ptr->hwnd, ptr->message, ptr->wParam, ptr->lParam); } -void __stdcall +void __stdcall __attribute__ ((regparm (3))) fhandler_windows::read (void *buf, size_t& len) { MSG *ptr = (MSG *) buf; Index: winsup/cygwin/fhandler_zero.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/fhandler_zero.cc,v retrieving revision 1.31 diff -u -r1.31 fhandler_zero.cc --- winsup/cygwin/fhandler_zero.cc 24 Jul 2009 20:54:33 -0000 1.31 +++ winsup/cygwin/fhandler_zero.cc 9 Feb 2011 13:47:59 -0000 @@ -41,7 +41,7 @@ return len; } -void __stdcall +void __stdcall __attribute__ ((regparm (3))) fhandler_dev_zero::read (void *ptr, size_t& len) { memset (ptr, 0, len); Index: winsup/cygwin/miscfuncs.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/miscfuncs.cc,v retrieving revision 1.58 diff -u -r1.58 miscfuncs.cc --- winsup/cygwin/miscfuncs.cc 12 Mar 2010 23:13:47 -0000 1.58 +++ winsup/cygwin/miscfuncs.cc 9 Feb 2011 13:47:59 -0000 @@ -169,7 +169,7 @@ return string; } -int __stdcall +int __stdcall __attribute__ ((regparm (2))) check_invalid_virtual_addr (const void *s, unsigned sz) { MEMORY_BASIC_INFORMATION mbuf; Index: winsup/cygwin/ntea.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/ntea.cc,v retrieving revision 1.23 diff -u -r1.23 ntea.cc --- winsup/cygwin/ntea.cc 12 Jan 2010 10:14:59 -0000 1.23 +++ winsup/cygwin/ntea.cc 9 Feb 2011 13:47:59 -0000 @@ -29,7 +29,7 @@ #define NEXT_FEA(p) ((PFILE_FULL_EA_INFORMATION) (p->NextEntryOffset \ ? (char *) p + p->NextEntryOffset : NULL)) -ssize_t __stdcall +ssize_t __stdcall __attribute__ ((regparm (3))) read_ea (HANDLE hdl, path_conv &pc, const char *name, char *value, size_t size) { OBJECT_ATTRIBUTES attr; @@ -197,7 +197,7 @@ return ret; } -int __stdcall +int __stdcall __attribute__ ((regparm (3))) write_ea (HANDLE hdl, path_conv &pc, const char *name, const char *value, size_t size, int flags) { Index: winsup/cygwin/path.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/path.cc,v retrieving revision 1.622 diff -u -r1.622 path.cc --- winsup/cygwin/path.cc 2 Feb 2011 09:59:10 -0000 1.622 +++ winsup/cygwin/path.cc 9 Feb 2011 13:48:00 -0000 @@ -351,7 +351,7 @@ static void __stdcall mkrelpath (char *dst, bool caseinsensitive) __attribute__ ((regparm (2))); -static void __stdcall +static void __stdcall __attribute__ ((regparm (2))) mkrelpath (char *path, bool caseinsensitive) { tmp_pathbuf tp; @@ -1306,7 +1306,7 @@ /* nofinalslash: Remove trailing / and \ from SRC (except for the first one). It is ok for src == dst. */ -void __stdcall +void __stdcall __attribute__ ((regparm (2))) nofinalslash (const char *src, char *dst) { int len = strlen (src); @@ -2774,7 +2774,7 @@ done during the opendir call and the hash or the filename within the directory. FIXME: Not bullet-proof. */ /* Cygwin internal */ -__ino64_t __stdcall +__ino64_t __stdcall __attribute__ ((regparm (2))) hash_path_name (__ino64_t hash, PUNICODE_STRING name) { if (name->Length == 0) @@ -2788,7 +2788,7 @@ return hash; } -__ino64_t __stdcall +__ino64_t __stdcall __attribute__ ((regparm (2))) hash_path_name (__ino64_t hash, PCWSTR name) { UNICODE_STRING uname; @@ -2796,7 +2796,7 @@ return hash_path_name (hash, &uname); } -__ino64_t __stdcall +__ino64_t __stdcall __attribute__ ((regparm (2))) hash_path_name (__ino64_t hash, const char *name) { UNICODE_STRING uname; Index: winsup/cygwin/pinfo.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/pinfo.cc,v retrieving revision 1.266 diff -u -r1.266 pinfo.cc --- winsup/cygwin/pinfo.cc 12 Dec 2010 05:48:29 -0000 1.266 +++ winsup/cygwin/pinfo.cc 9 Feb 2011 13:48:00 -0000 @@ -424,7 +424,7 @@ /* Test to determine if a process really exists and is processing signals. */ -bool __stdcall +bool __stdcall __attribute__ ((regparm (1))) _pinfo::exists () { return this && !(process_state & PID_EXITED); Index: winsup/cygwin/pipe.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/pipe.cc,v retrieving revision 1.125 diff -u -r1.125 pipe.cc --- winsup/cygwin/pipe.cc 14 Aug 2010 11:16:09 -0000 1.125 +++ winsup/cygwin/pipe.cc 9 Feb 2011 13:48:00 -0000 @@ -366,7 +366,7 @@ return 0; } -int __stdcall +int __stdcall __attribute__ ((regparm (2))) fhandler_pipe::fstatvfs (struct statvfs *sfs) { set_errno (EBADF); Index: winsup/cygwin/sec_helper.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/sec_helper.cc,v retrieving revision 1.88 diff -u -r1.88 sec_helper.cc --- winsup/cygwin/sec_helper.cc 17 Apr 2010 15:51:09 -0000 1.88 +++ winsup/cygwin/sec_helper.cc 9 Feb 2011 13:48:00 -0000 @@ -519,7 +519,7 @@ return true; } -PSECURITY_ATTRIBUTES __stdcall +PSECURITY_ATTRIBUTES __stdcall __attribute__ ((regparm (3))) __sec_user (PVOID sa_buf, PSID sid1, PSID sid2, DWORD access2, BOOL inherit) { PSECURITY_ATTRIBUTES psa = (PSECURITY_ATTRIBUTES) sa_buf; Index: winsup/cygwin/signal.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/signal.cc,v retrieving revision 1.91 diff -u -r1.91 signal.cc --- winsup/cygwin/signal.cc 20 Sep 2010 22:28:57 -0000 1.91 +++ winsup/cygwin/signal.cc 9 Feb 2011 13:48:00 -0000 @@ -177,7 +177,7 @@ return handle_sigprocmask (how, set, oldset, _my_tls.sigmask); } -int __stdcall +int __stdcall __attribute__ ((regparm (3))) handle_sigprocmask (int how, const sigset_t *set, sigset_t *oldset, sigset_t& opmask) { /* check that how is in right range */ @@ -218,7 +218,7 @@ return 0; } -int __stdcall +int __stdcall __attribute__ ((regparm (2))) _pinfo::kill (siginfo_t& si) { sig_dispatch_pending (); Index: winsup/cygwin/sigproc.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/sigproc.cc,v retrieving revision 1.331 diff -u -r1.331 sigproc.cc --- winsup/cygwin/sigproc.cc 12 Sep 2010 19:13:09 -0000 1.331 +++ winsup/cygwin/sigproc.cc 9 Feb 2011 13:48:01 -0000 @@ -168,7 +168,7 @@ return false; } -bool __stdcall +bool __stdcall __attribute__ ((regparm (1))) pid_exists (pid_t pid) { return pinfo (pid)->exists (); @@ -186,7 +186,7 @@ /* Handle all subprocess requests */ -int __stdcall +int __stdcall __attribute__ ((regparm (2))) proc_subproc (DWORD what, DWORD val) { int rc = 1; @@ -390,7 +390,7 @@ } /* Clear pending signal */ -void __stdcall +void __stdcall __attribute__ ((regparm (1))) sig_clear (int target_sig) { if (&_my_tls != _sig_tls) @@ -486,7 +486,7 @@ } } -int __stdcall +int __stdcall __attribute__ ((regparm (2))) sig_send (_pinfo *p, int sig) { if (sig == __SIGHOLD) @@ -518,7 +518,7 @@ If pinfo *p == NULL, send to the current process. If sending to this process, wait for notification that a signal has completed before returning. */ -int __stdcall +int __stdcall __attribute__ ((regparm (3))) sig_send (_pinfo *p, siginfo_t& si, _cygtls *tls) { int rc = 1; @@ -940,7 +940,7 @@ /* Check the state of all of our children to see if any are stopped or * terminated. */ -static int __stdcall +static int __stdcall __attribute__ ((regparm (1))) checkstate (waitq *parent_w) { int potential_match = 0; Index: winsup/cygwin/spawn.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/spawn.cc,v retrieving revision 1.299 diff -u -r1.299 spawn.cc --- winsup/cygwin/spawn.cc 20 Jan 2011 11:09:21 -0000 1.299 +++ winsup/cygwin/spawn.cc 9 Feb 2011 13:48:01 -0000 @@ -101,7 +101,7 @@ of name is placed in buf and returned. Otherwise the contents of buf is undefined and NULL is returned. */ -const char * __stdcall +const char * __stdcall __attribute__ ((regparm (3))) find_exec (const char *name, path_conv& buf, const char *mywinenv, unsigned opt, const char **known_suffix) { Index: winsup/cygwin/strfuncs.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/strfuncs.cc,v retrieving revision 1.45 diff -u -r1.45 strfuncs.cc --- winsup/cygwin/strfuncs.cc 19 Jan 2011 09:41:54 -0000 1.45 +++ winsup/cygwin/strfuncs.cc 9 Feb 2011 13:48:01 -0000 @@ -395,7 +395,7 @@ - The functions always create 0-terminated results, no matter what. If the result is truncated due to buffer size, it's a bug in Cygwin and the buffer in the calling function should be raised. */ -size_t __stdcall +size_t __stdcall __attribute__ ((regparm (3))) sys_cp_wcstombs (wctomb_p f_wctomb, const char *charset, char *dst, size_t len, const wchar_t *src, size_t nwc) { @@ -481,7 +481,7 @@ return n; } -size_t __stdcall +size_t __stdcall __attribute__ ((regparm (3))) sys_wcstombs (char *dst, size_t len, const wchar_t * src, size_t nwc) { return sys_cp_wcstombs (cygheap->locale.wctomb, cygheap->locale.charset, @@ -498,7 +498,7 @@ Note that this code is shared by cygserver (which requires it via __small_vsprintf) and so when built there plain calloc is the only choice. */ -size_t __stdcall +size_t __stdcall __attribute__ ((regparm (3))) sys_wcstombs_alloc (char **dst_p, int type, const wchar_t *src, size_t nwc) { size_t ret; @@ -524,7 +524,7 @@ conversion. This is so that fhandler_console can switch to an alternate charset, which is the charset returned by GetConsoleCP (). Most of the time this is used for box and line drawing characters. */ -size_t __stdcall +size_t __stdcall __attribute__ ((regparm (3))) sys_cp_mbstowcs (mbtowc_p f_mbtowc, const char *charset, wchar_t *dst, size_t dlen, const char *src, size_t nms) { @@ -633,7 +633,7 @@ return count; } -size_t __stdcall +size_t __stdcall __attribute__ ((regparm (3))) sys_mbstowcs (wchar_t * dst, size_t dlen, const char *src, size_t nms) { return sys_cp_mbstowcs (cygheap->locale.mbtowc, cygheap->locale.charset, @@ -641,7 +641,7 @@ } /* Same as sys_wcstombs_alloc, just backwards. */ -size_t __stdcall +size_t __stdcall __attribute__ ((regparm (3))) sys_mbstowcs_alloc (wchar_t **dst_p, int type, const char *src, size_t nms) { size_t ret; Index: winsup/cygwin/window.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/window.cc,v retrieving revision 1.39 diff -u -r1.39 window.cc --- winsup/cygwin/window.cc 1 Sep 2010 18:24:11 -0000 1.39 +++ winsup/cygwin/window.cc 9 Feb 2011 13:48:01 -0000 @@ -25,7 +25,7 @@ muto NO_COPY wininfo::_lock; -int __stdcall +int __stdcall __attribute__ ((regparm (3))) wininfo::process (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { #ifndef NOSTRACE @@ -49,14 +49,14 @@ } } -static LRESULT CALLBACK +static LRESULT CALLBACK __attribute__ ((regparm (3))) process_window_events (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { return winmsg.process (hwnd, uMsg, wParam, lParam); } /* Handle windows events. Inherits ownership of the wininfo lock */ -DWORD WINAPI +DWORD WINAPI __attribute__ ((regparm (1))) wininfo::winthread () { MSG msg;