* 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.
This commit is contained in:
Christopher Faylor 2003-04-28 20:10:54 +00:00
parent eae4b2b0bc
commit 6ef342e460
5 changed files with 15 additions and 6 deletions

View 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

View 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

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

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

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