patch sparc problems in egcs

Jeffrey A Law
Sun Feb 28 18:15:00 GMT 1999

  In message < >you write:
  > I wanted to get the basic block profiling (gcc -ax) working on
  > sparc-sun-solaris2.5.1, right now it is broken, a program compiled
  > with gcc -ax will not link because of some mismatched symbols. 
  > sparc.h uses in all the *PROFILER macros ___bb* for the basic block
  > function calls and sysv4.h uses __bb* 
  > The functions in libgcc.a are named __bb*
  > solaris2.5.1 gets some of *PROFILER macros from sparc.h some from
  > sysv4.h, hence the mismatched symbols. 
  > The *PROFILER macros from sysv4.h are incorrect, because they don't
  > follow what the documentation says: take into consideration the value
  > of profile_block_flag.
  > The patch solves all these problems.
  > I think it could be applied to the egcs-1.1.2 branch, as on
  > sparc-solaris any program compiled with -ax will not link. 
  > Tue Feb  9 00:11:17 1999  Dan Nicolaescu  <>
  > 	* config/sparc/sparc.h (FUNCTION_BLOCK_PROFILER): Add a nop after
  > 	call. 
  > 	* config/sparc/sol2.h (HAVE_POPEN): Add define, needed so
  > 	libgcc2.c can produce compressed trace files. 

  > 	* config/sparc/sysv4.h (BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER):
  > 	if 0. They are incorrect according to the documentation, should
  > 	check the profile_block_flag.
  > 	(FUNCTION_BLOCK_PROFILER_EXIT): New macros, copied from sparc.h
  > 	modified the labels to start with a "." and changed the ___bb*
  > 	functions to __bb*.
We'll need a copyright assignment before we can use this code.  See


More information about the Gcc-patches mailing list