casseopea2 / gperftools

Automatically exported from code.google.com/p/gperftools
BSD 3-Clause "New" or "Revised" License
1 stars 0 forks source link

Build problem on IA-64 #58

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Trying to build google-perftools on a debian ia-64 system with gcc 4.1/4.2,
latest from svn (0.97). The build fails with the following error:

$ g++-4.2 -DHAVE_CONFIG_H -I. -I. -I./src -I./src -pthread -DNDEBUG -Wall
-Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -g -O2 -MT
libtcmalloc_minimal_la-system-alloc.lo -MD -MP -MF
.deps/libtcmalloc_minimal_la-system-alloc.Tpo -c src/system-alloc.cc  -fPIC
-DPIC -o .libs/libtcmalloc_minimal_la-system-alloc.o
In file included from ./src/base/atomicops.h:101,
                 from src/base/spinlock.h:48,
                 from src/system-alloc.cc:53:
./src/base/atomicops-internals-x86.h: In function 'base::subtle::Atomic64
base::subtle::NoBarrier_AtomicIncrement(volatile base::subtle::Atomic64*,
base::subtle::Atomic64)':
./src/base/atomicops-internals-x86.h:337: error: memory input 3 is not
directly addressable

which is this line in NoBarrier_AtomicIncrement:
   : "memory", "%ebx", "%ecx");

Original issue reported on code.google.com by JoachimH...@gmail.com on 20 May 2008 at 10:40

GoogleCodeExporter commented 9 years ago
I realised that this is in the !defined(__x86_64__) part of the file, so I tried
again with CPPFLAGS=-D__x86_64__. Now I get another error, in the same file:

g++ -DHAVE_CONFIG_H -I. -I. -I./src -I./src -D__x86_64__ -pthread -DNDEBUG -Wall
-Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER -g 
-O2 -MT
libtcmalloc_minimal_la-system-alloc.lo -MD -MP -MF
.deps/libtcmalloc_minimal_la-system-alloc.Tpo -c src/system-alloc.cc  -fPIC 
-DPIC -o
.libs/libtcmalloc_minimal_la-system-alloc.o
./src/base/atomicops-internals-x86.h: In function 'void* 
TCMalloc_SystemAlloc(size_t,
size_t*, size_t)':
./src/base/atomicops-internals-x86.h:203: error: impossible constraint in 'asm'

Compiler/assembler information follows:

$ g++ -v
Using built-in specs.
Target: ia64-linux-gnu
Configured with: ../src/configure -v 
--enable-languages=c,c++,fortran,objc,obj-c++
--prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--with-gxx-include-dir=/usr/include/c++/4.2 --program-suffix=-4.2
--enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr
--disable-libmudflap --disable-libssp --with-system-libunwind
--enable-checking=release --build=ia64-linux-gnu --host=ia64-linux-gnu
--target=ia64-linux-gnu
Thread model: posix
gcc version 4.2.3 (Debian 4.2.3-5)
$ as -v
GNU assembler version 2.18.0 (ia64-linux-gnu) using BFD version (GNU Binutils 
for
Debian) 2.18.0.20080103

Original comment by JoachimH...@gmail.com on 21 May 2008 at 10:58

GoogleCodeExporter commented 9 years ago
Yeah, ia64 is a different architecture than x86_64 -- you won't be able to use 
that
code.  It looks like ia64-specific code will have to be written to use tcmalloc 
with
ia64.

Original comment by csilv...@gmail.com on 21 May 2008 at 7:11

GoogleCodeExporter commented 9 years ago
Ok. I'm really only interested in the CPU profiler at this point, maybe it's 
possible
to build that part only. I'll have a look.

Otherwise, if a new library dependency is ok then maybe libatomic-ops could be 
used
for extending this part. From a quick look it seems to support most relevant
platforms with gcc.

Original comment by JoachimH...@gmail.com on 21 May 2008 at 10:09

GoogleCodeExporter commented 9 years ago

Original comment by csilv...@gmail.com on 25 Feb 2009 at 11:12

GoogleCodeExporter commented 9 years ago

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

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:12