David Mosberger's fixes for cross compiling gprof.
[deliverable/binutils-gdb.git] / gprof / gmon.h
index cef8516fe770285e13df4480cde9a964281105cf..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
   {
-    /* FIXME: This is wrong; bfd_vma need not correspond any
-       particular size on the target.  */
-    char low_pc[sizeof (bfd_vma)];     /* base pc address of sample buffer */
-    char high_pc[sizeof (bfd_vma)];    /* max pc address of sampled buffer */
+    /* 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
   };
 
@@ -82,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
@@ -113,9 +122,9 @@ struct tostruct
  */
 struct raw_arc
   {
-    char from_pc[sizeof (bfd_vma)];
-    char self_pc[sizeof (bfd_vma)];
-    char count[sizeof (long)];
+    char from_pc[GMON_PTR_SIZE];
+    char self_pc[GMON_PTR_SIZE];
+    char count[4];
   };
 
 /*
This page took 0.025812 seconds and 4 git commands to generate.