Browse Source

* profil.h (PROFADDR): Prevent overflow when text segments are larger than

256k.
* profil.c (profthr_func): Raise thread priority for more accurate sampling.
* path.cc (hash_path_name): Use ino_t as type.
Z-emcb-cygwin_daemon
Christopher Faylor 24 years ago
parent
commit
6ef342e460
  1. 11
      winsup/cygwin/ChangeLog
  2. 4
      winsup/cygwin/include/cygwin/types.h
  3. 2
      winsup/cygwin/profil.c
  4. 2
      winsup/cygwin/profil.h
  5. 2
      winsup/cygwin/winsup.h

11
winsup/cygwin/ChangeLog

@ -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

4
winsup/cygwin/include/cygwin/types.h

@ -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

2
winsup/cygwin/profil.c

@ -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);

2
winsup/cygwin/profil.h

@ -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))

2
winsup/cygwin/winsup.h

@ -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)));

Loading…
Cancel
Save