David Mosberger's fixes for cross compiling gprof.
[deliverable/binutils-gdb.git] / gprof / gmon.h
index 019cb6cc0aea95f177a172f952d40b15816b3a20..28a54bcbaf2bad12285c981f39448de445940a96 100644 (file)
@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 1991 The Regents of the University of California.
+ * Copyright (c) 1991, 2001 The Regents of the University of California.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
 
 struct raw_phdr
   {
-#ifdef TARGET_alpha
-    char low_pc[8];            /* base pc address of sample buffer */
-    char high_pc[8];           /* max pc address of sampled buffer */
-#else
-    char low_pc[4];            /* base pc address of sample buffer */
-    char high_pc[4];           /* max pc address of sampled buffer */
-#endif
+    /* FIXME: Checking a host compiler define means that we can't use
+       a cross gprof to the alpha.  */
+    char low_pc[GMON_PTR_SIZE];        /* base pc address of sample buffer */
+    char high_pc[GMON_PTR_SIZE];/* max pc address of sampled buffer */
     char ncnt[4];              /* size of sample buffer (plus this header) */
 
+    char version[4];           /* version number */
+    char profrate[4];          /* profiling clock rate */
+    char spare[3*4];           /* reserved */
+  };
+
+#define GMONVERSION     0x00051879
+
+struct old_raw_phdr
+  {
+    char low_pc[GMON_PTR_SIZE];        /* base pc address of sample buffer */
+    char high_pc[GMON_PTR_SIZE];/* max pc address of sampled buffer */
+    char ncnt[4];              /* size of sample buffer (plus this header) */
+
+    /* FIXME: Checking host compiler defines here means that we can't
+       use a cross gprof alpha OSF.  */
 #if defined (__alpha__) && defined (__osf__)
     /*
      * DEC's OSF v3.0 uses 4 bytes of padding to bring the header to
      * a size that is a multiple of 8.
      */
     char pad[4];
-#else
-#ifdef BSD44_FORMAT
-    char version[4];                   /* version number */
-    char profrate[4];                  /* profiling clock rate */
-    char spare[3*4];                   /* reserved */
-#endif
 #endif
   };
 
@@ -85,7 +91,7 @@ struct raw_phdr
  *      calls   $0,(r0)
  *      calls   $0,(r0)
  *
- * which is separated by only three bytes, thus HASHFRACTION is 
+ * which is separated by only three bytes, thus HASHFRACTION is
  * calculated as:
  *
  *      HASHFRACTION = 3 / (2 * 2 - 1) = 1
@@ -116,15 +122,9 @@ struct tostruct
  */
 struct raw_arc
   {
-#ifdef TARGET_alpha
-    char from_pc[8];
-    char self_pc[8];
-    char count[8];
-#else
-    char from_pc[4];
-    char self_pc[4];
+    char from_pc[GMON_PTR_SIZE];
+    char self_pc[GMON_PTR_SIZE];
     char count[4];
-#endif
   };
 
 /*
This page took 0.02552 seconds and 4 git commands to generate.