OSDN Git Service

* profil.h (PROFADDR): Prevent overflow when text segments are larger than
authorcgf <cgf>
Mon, 28 Apr 2003 20:10:53 +0000 (20:10 +0000)
committercgf <cgf>
Mon, 28 Apr 2003 20:10:53 +0000 (20:10 +0000)
256k.
* profil.c (profthr_func): Raise thread priority for more accurate sampling.
* path.cc (hash_path_name): Use ino_t as type.

winsup/cygwin/ChangeLog
winsup/cygwin/include/cygwin/types.h
winsup/cygwin/profil.c
winsup/cygwin/profil.h
winsup/cygwin/winsup.h

index 598f91b..adb1c0c 100644 (file)
@@ -1,3 +1,14 @@
+2003-04-28  Brian Ford  <ford@vss.fsi.com>
+
+       * profil.h (PROFADDR): Prevent overflow when text segments are larger
+       than 256k.
+       * profil.c (profthr_func): Raise thread priority for more accurate
+       sampling.
+
+2003-04-26  Christopher Faylor  <cgf@redhat.com>
+
+       * path.cc (hash_path_name): Use ino_t as type.
+
 2003-04-26  Christopher Faylor  <cgf@redhat.com>
 
        * errno.cc (_sys_nerr): Fix compile error erroneously checked in on
index 78b240e..eacee88 100644 (file)
@@ -90,11 +90,7 @@ typedef __gid16_t gid_t;
 
 #ifndef __ino_t_defined
 #define __ino_t_defined
-#ifdef __CYGWIN_USE_BIG_TYPES1__
 typedef unsigned long long ino_t;
-#else
-typedef unsigned long ino_t;
-#endif
 #endif /*__ino_t_defined*/
 
 #ifndef __BIT_TYPES_DEFINED
index 7be0839..cbfffc1 100644 (file)
@@ -62,6 +62,8 @@ profthr_func (LPVOID arg)
   struct profinfo *p = (struct profinfo *) arg;
   u_long pc, idx;
 
+  SetThreadPriority(p->profthr, THREAD_PRIORITY_TIME_CRITICAL);
+
   for (;;)
     {
       pc = (u_long) get_thrpc (p->targthr);
index 582b2a7..7ec4dfa 100644 (file)
@@ -24,7 +24,7 @@ details. */
 
 /* convert an index into an address */
 #define PROFADDR(idx, base, scale)     \
-       ((base) + ((((idx) << 16) / (scale)) << 1))
+       ((base) + ((((unsigned long long)(idx) << 16) / (scale)) << 1))
 
 /* convert a bin size into a scale */
 #define PROFSCALE(range, bins)         (((bins) << 16) / ((range) >> 1))
index 456339e..8060ffa 100644 (file)
@@ -198,7 +198,7 @@ int __stdcall writable_directory (const char *file);
 int __stdcall stat_dev (DWORD, int, unsigned long, struct __stat64 *);
 extern BOOL allow_ntsec;
 
-unsigned long __stdcall hash_path_name (unsigned long hash, const char *name) __attribute__ ((regparm(2)));
+unsigned long __stdcall hash_path_name (ino_t hash, const char *name) __attribute__ ((regparm(2)));
 void __stdcall nofinalslash (const char *src, char *dst) __attribute__ ((regparm(2)));
 extern "C" char *__stdcall rootdir (char *full_path) __attribute__ ((regparm(1)));