aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin/profil.h
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2013-06-18 09:45:37 +0000
committerCorinna Vinschen <corinna@vinschen.de>2013-06-18 09:45:37 +0000
commit943072f45ca34caf7b55db16f412bed94f7c27bc (patch)
treee796b9b0b1179779b5388554aa81d3198206ecb5 /winsup/cygwin/profil.h
parentc38196884232bb12c0c4e04d1d31f6cbe1aca446 (diff)
downloadnewlib-943072f45ca34caf7b55db16f412bed94f7c27bc.zip
newlib-943072f45ca34caf7b55db16f412bed94f7c27bc.tar.gz
newlib-943072f45ca34caf7b55db16f412bed94f7c27bc.tar.bz2
* Makefile.in (VPATH): Drop CONFIG_DIR.
(EXTRA_DLL_OFILES): Remove. (DLL_OFILES): Remove EXTRA_DLL_OFILES. (ASFLAGS): Define as -D_WIN64 on x86_64. (GMON_OFILES): Add mcountFunc.o. ($(srcdir)/$(TLSOFFSETS_H)): Use target_cpu rather than CONFIG_DIR. * configure.ac (CONFIG_DIR): Remove definition. * configure: Regenerate. * gcrt0.c: Use latest version from Mingw-w64 project. * gmon.c: Ditto. * gmon.h: Ditto. * mcount.c: Ditto. * mcountFunc.S: Ditto, new file. * profil.c: Ditto. * profil.h: Ditto. * config: Remove entire directory.
Diffstat (limited to 'winsup/cygwin/profil.h')
-rw-r--r--winsup/cygwin/profil.h27
1 files changed, 18 insertions, 9 deletions
diff --git a/winsup/cygwin/profil.h b/winsup/cygwin/profil.h
index a25b6ed..f33591d 100644
--- a/winsup/cygwin/profil.h
+++ b/winsup/cygwin/profil.h
@@ -1,6 +1,6 @@
/* profil.h: gprof profiling header file
- Copyright 1998, 1999, 2000, 2001, 2003, 2012 Red Hat, Inc.
+ Copyright 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
This file is part of Cygwin.
@@ -8,7 +8,10 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
-#include <stdint.h>
+/*
+ * This file is taken from Cygwin distribution. Please keep it in sync.
+ * The differences should be within __MINGW32__ guard.
+ */
/* profiling frequency. (No larger than 1000) */
#define PROF_HZ 100
@@ -25,22 +28,28 @@ details. */
})
/* convert an index into an address */
-#define PROFADDR(idx, base, scale) \
- ((base) + ((((unsigned long long)(idx) << 16) / (scale)) << 1))
+#define PROFADDR(idx, base, scale) \
+ ((base) \
+ + ((((unsigned long long)(idx) << 16) \
+ / (unsigned long long)(scale)) << 1))
/* convert a bin size into a scale */
#define PROFSCALE(range, bins) (((bins) << 16) / ((range) >> 1))
typedef void *_WINHANDLE;
+#ifdef __MINGW32__
+#include <_bsd_types.h>
+#endif /* __MINGW32__*/
struct profinfo {
_WINHANDLE targthr; /* thread to profile */
_WINHANDLE profthr; /* profiling thread */
- uint16_t *counter; /* profiling counters */
- uintptr_t lowpc, highpc; /* range to be profiled */
- unsigned int scale; /* scale value of bins */
+ _WINHANDLE quitevt; /* quit event */
+ u_short *counter; /* profiling counters */
+ size_t lowpc, highpc; /* range to be profiled */
+ u_int scale; /* scale value of bins */
};
-int profile_ctl (struct profinfo *, char *, size_t, size_t, unsigned int);
-int profil (char *, size_t, size_t, unsigned int);
+int profile_ctl(struct profinfo *, char *, size_t, size_t, u_int);
+int profil(char *, size_t, size_t, u_int);