Author: ian
Date: Thu Dec 25 04:41:43 2014
New Revision: 276198
URL: https://svnweb.freebsd.org/changeset/base/276198

Log:
  Remove _PROF_PROLOGUE from the EENTRY() macros.  These macros define
  'extra' entry points which are nested within or provide a synonym name
  for another function.  It's most likely not safe to be messing with the
  IP and LR registers at anything other than the primary entry point to a
  function.  Anywhere beyond initial function entry, those registers may
  be in use as scratch or variable registers.

Modified:
  head/sys/arm/include/asm.h

Modified: head/sys/arm/include/asm.h
==============================================================================
--- head/sys/arm/include/asm.h  Thu Dec 25 04:18:31 2014        (r276197)
+++ head/sys/arm/include/asm.h  Thu Dec 25 04:41:43 2014        (r276198)
@@ -90,17 +90,17 @@
 #endif
 
 #define        ENTRY(y)        _ENTRY(_C_LABEL(y)); _PROF_PROLOGUE
-#define        EENTRY(y)       _EENTRY(_C_LABEL(y)); _PROF_PROLOGUE
+#define        EENTRY(y)       _EENTRY(_C_LABEL(y));
 #define        ENTRY_NP(y)     _ENTRY(_C_LABEL(y))
 #define        EENTRY_NP(y)    _EENTRY(_C_LABEL(y))
 #define        END(y)          _END(_C_LABEL(y))
-#define        EEND(y)
+#define        EEND(y)         _EEND(_C_LABEL(y))
 #define        ASENTRY(y)      _ENTRY(_ASM_LABEL(y)); _PROF_PROLOGUE
-#define        ASEENTRY(y)     _EENTRY(_ASM_LABEL(y)); _PROF_PROLOGUE
+#define        ASEENTRY(y)     _EENTRY(_ASM_LABEL(y));
 #define        ASENTRY_NP(y)   _ENTRY(_ASM_LABEL(y))
 #define        ASEENTRY_NP(y)  _EENTRY(_ASM_LABEL(y))
 #define        ASEND(y)        _END(_ASM_LABEL(y))
-#define        ASEEND(y)
+#define        ASEEND(y)       _EEND(_ASM_LABEL(y))
 
 #define        ASMSTR          .asciz
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to