mzhaom / gperftools

Fast, multi-threaded malloc() and nifty performance analysis tools
https://code.google.com/p/gperftools/
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

Build fails on solaris sparc #106

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
$ uname -a
SunOS machine-name 5.10 Generic_138888-03 sun4v sparc SUNW,Sun-Blade-T6320
Solaris

$ pwd
/home/directory/google-perftools-1.0

$ make
 g++ -DHAVE_CONFIG_H -I. -I. -I./src -I./src -DNO_TCMALLOC_SAMPLES
-D_REENTRANT -pthreads -DNDEBUG -Wall -Wwrite-strings -Woverloaded-virtual
-Wno-sign-compare -g -O2 -MT libtcmalloc_minimal_la-tcmalloc.lo -MD -MP -MF
.deps/libtcmalloc_minimal_la-tcmalloc.Tpo -c src/tcmalloc.cc  -fPIC -DPIC
-o .libs/libtcmalloc_minimal_la-tcmalloc.o
./src/base/atomicops-internals-x86.h: In function 'void
ExtractStats(TCMallocStats*, uint64_t*)':
./src/base/atomicops-internals-x86.h:79: error: impossible constraint in 'asm'
./src/base/atomicops-internals-x86.h:79: error: impossible constraint in 'asm'
./src/base/atomicops-internals-x86.h:79: error: impossible constraint in 'asm'
make: *** [libtcmalloc_minimal_la-tcmalloc.lo] Error 1

Are there any plans to port these tools to sparc?

Original issue reported on code.google.com by lev...@gmail.com on 9 Feb 2009 at 5:24

GoogleCodeExporter commented 9 years ago
There are no plans that I know of -- I don't even have a sparc machine to test 
on! 
But if you do want to take the effort to port to sparc -- it'll be the assembly 
code
in atomicops and stacktrace, I think, mostly -- I'll be very happy to 
incorporate
them into a future release of perftools!

Note that perftools does run, more or less, on solaris x86 (though with the gcc
compiler, not the sun compiler), so hopefully you won't have to do much
solaris-porting; it will mostly be sparc-porting.

Original comment by csilv...@gmail.com on 9 Feb 2009 at 10:46

GoogleCodeExporter commented 9 years ago
Ah. Unfortunately my ability to program in ASM, especially SPARC, is poor at 
best. I
will keep it in mind, and try to port it in my spare time.

Thanks for the prompt reply and some pointers on what to port!

Original comment by lev...@gmail.com on 10 Feb 2009 at 8:05

GoogleCodeExporter commented 9 years ago
I think the assembler code in atomicops is the bigger problem.

For stacktrace, solaris 10 has some routines similar to _Unwind_Backtrace which 
is
used in tcmalloc's 64bit Linux stacktraces. On Solaris the function to call is
walkcontext(). As far as I know this function is not available in Solaris 8. 
Solaris
9 has the interface, but I don't whether the implementation work correctly.
walkcontext() works fine on my Solaris 10 x86_64 machine.

Original comment by mirko....@web.de on 12 Feb 2009 at 10:40

GoogleCodeExporter commented 9 years ago
By the way: The software in my company must be compatible with Solaris 8 sparc 
(SUNW
Compiler). So we decided not to use tcmalloc on Solaris. I tried, but the 
effort to
make this happen was way too high.

Original comment by mirko....@web.de on 12 Feb 2009 at 10:45

GoogleCodeExporter commented 9 years ago

Original comment by csilv...@gmail.com on 11 Mar 2009 at 9:23

GoogleCodeExporter commented 9 years ago
Issue 222 has been merged into this issue.

Original comment by csilv...@gmail.com on 8 Mar 2010 at 4:32

GoogleCodeExporter commented 9 years ago
I've decided to close all the porting requests that don't have patches attached 
to them.  We're always happy to look at patches for new architectures and OSes, 
but otherwise we are limited to the CPUs and OSes mentioned in the INSTALL file.

Original comment by csilv...@gmail.com on 31 Aug 2011 at 1:13