_eprol renamed _$eprol so it looks like the label it is.
authorPeter B. Kessler <peter@ucbvax.Berkeley.EDU>
Wed, 11 Nov 1981 05:21:45 +0000 (21:21 -0800)
committerPeter B. Kessler <peter@ucbvax.Berkeley.EDU>
Wed, 11 Nov 1981 05:21:45 +0000 (21:21 -0800)
SCCS-vsn: lib/libc/gmon/gmon.c 1.5

usr/src/lib/libc/gmon/gmon.c

index 3de50bb..1007afa 100644 (file)
@@ -1,4 +1,4 @@
-static char *sccsid = "@(#)gmon.c      1.4 (Berkeley) %G%";
+static char *sccsid = "@(#)gmon.c      1.5 (Berkeley) %G%";
 
 #include <stdio.h>
 
 
 #include <stdio.h>
 
@@ -25,9 +25,14 @@ static       char *sccsid = "@(#)gmon.c      1.4 (Berkeley) %G%";
      */
 
 char **environ;
      */
 
 char **environ;
+    /*
+     * etext is added by the loader, and is the end of the text space.
+     * eprol is a local symbol, and labels almost the beginning of text space.
+     *     its name is changed so it doesn't look like a function.
+     */
 extern unsigned char   etext;
 extern unsigned char   etext;
-asm( "#define _eprol eprol" );
 extern unsigned char   eprol;
 extern unsigned char   eprol;
+asm( "#define _eprol _$eprol" );
 
 asm( "#define _start start" );
 start()
 
 asm( "#define _start start" );
 start()
@@ -55,7 +60,7 @@ start()
     if ( targv >= (char **) ( *argv ) )
        --targv;
     environ = targv;
     if ( targv >= (char **) ( *argv ) )
        --targv;
     environ = targv;
-asm("eprol:");
+asm("_eprol:");
     _mstartup( &eprol , &etext );
     exit( main( kfp -> kargc , argv , environ ) );
 }
     _mstartup( &eprol , &etext );
     exit( main( kfp -> kargc , argv , environ ) );
 }