This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Merged ARM-Thumb branch...


Hi Paul, Hi Scott,

: >3) FUNCTION_PROFILER is defined in arm.h.  It uses two other
: > defines (ARM_FUNCTION_PROFILER, THUMB_FUNCTION_PROFILER).  In
: > linux-elf.h FUNCTION_PROFILER is undefined, then redefined.  I
: > need to test this again, but the definition in linux-elf.h is the
: > one I have been using since 2.8.1 with glibc 2.x.  I think it
: > should probably undefine ARM_FUNCTION_PROFILER then redefine it,
: > rather than FUNCTION_PROFILER.  The other alternative is the
: > current definition of ARM_PROFILER is broken, or needed for other
: > platforms.  
: > Comments?
: 
: The ARM_/THUMB_FUNCTION_PROFILER macros are new in the branch.
: You're right that linux-elf should probably override them instead of
: FUNCTION_PROFILER.  I imagine the existing ARM_PROFILER in arm.h is
: suitable for RISC iX and NetBSD.

OK, I have applied the patch below to correct this.  I took the
liberty of assuming that the same fix for linux-elf.h is needed for
netbsd.h.

Cheers
	Nick

2000-02-09  Nick Clifton  <nickc@cygnus.com>

	* config/arm/linux-elf.h (FUNCTION_PROFILER): Rename to
	ARM_FUNCTION_PROFILER. 

	* config/arm/netbsd.h (FUNCTION_PROFILER): Rename to
	ARM_FUNCTION_PROFILER. 

Index: config/arm/linux-elf.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/arm/linux-elf.h,v
retrieving revision 1.12.2.3
diff -p -r1.12.2.3 linux-elf.h
*** linux-elf.h	1999/12/18 13:33:29	1.12.2.3
--- linux-elf.h	2000/02/09 18:42:04
*************** const_section ()							\
*** 304,311 ****
  #define FP_DEFAULT FP_SOFT3
  
  /* Call the function profiler with a given profile label.  */
! #undef  FUNCTION_PROFILER
! #define FUNCTION_PROFILER(STREAM, LABELNO)  				\
  {									\
    fprintf (STREAM, "\tbl\tmcount%s\n", NEED_PLT_RELOC ? "(PLT)" : "");	\
  }
--- 304,311 ----
  #define FP_DEFAULT FP_SOFT3
  
  /* Call the function profiler with a given profile label.  */
! #undef  ARM_FUNCTION_PROFILER
! #define ARM_FUNCTION_PROFILER(STREAM, LABELNO)  			\
  {									\
    fprintf (STREAM, "\tbl\tmcount%s\n", NEED_PLT_RELOC ? "(PLT)" : "");	\
  }

Index: config/arm/netbsd.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/arm/netbsd.h,v
retrieving revision 1.8.8.2
diff -p -r1.8.8.2 netbsd.h
*** netbsd.h	1999/10/28 09:29:59	1.8.8.2
--- netbsd.h	2000/02/09 18:44:36
*************** Boston, MA 02111-1307, USA.  */
*** 105,112 ****
     compiling the profiling functions.  Since we break Acorn CC
     compatibility below a little more won't hurt.  */
  
! #undef FUNCTION_PROFILER
! #define FUNCTION_PROFILER(STREAM,LABELNO)  				    \
  {									    \
    fprintf(STREAM, "\tmov\t%sip, %slr\n", REGISTER_PREFIX, REGISTER_PREFIX); \
    fprintf(STREAM, "\tbl\tmcount\n");					    \
--- 105,112 ----
     compiling the profiling functions.  Since we break Acorn CC
     compatibility below a little more won't hurt.  */
  
! #undef  ARM_FUNCTION_PROFILER
! #define ARM_FUNCTION_PROFILER(STREAM,LABELNO)  				    \
  {									    \
    fprintf(STREAM, "\tmov\t%sip, %slr\n", REGISTER_PREFIX, REGISTER_PREFIX); \
    fprintf(STREAM, "\tbl\tmcount\n");					    \

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]