[LLVMdev] building for sparc-sun-solaris2.10

Luke Dalessandro luked at cs.rochester.edu
Fri Oct 31 13:10:17 PDT 2008


I am trying to do some research that involves instrumenting LLVM IR, 
that I need to test for performance and scalability on a bunch of systems.

I've started trying by trying to get sparc-sun-solaris2.10 (niagara) 
working. It appears that neither llvm nor llvm-gcc will build natively 
on the system, so I think that I need to build an llvm-gcc cross compiler.

The documentation for building gcc (in general) as a cross compiler 
seems to be somewhat dated... and I'm not a very accomplished gnu 
hacker. I /think/ that I need to do 5 things.

1) Get the solaris include files. No problem.
2) Build binutils for the target. No Problem.
3) Build a stage1 gcc. Problem.
4) Build a glibc.
5) Build a full gcc.

I configured llvm-gcc with

./../../src/llvm-gcc-svn/configure
--prefix=/Users/luked/opt/sparc
--program-prefix=sparc-llvm-
--enable-languages=c,c++
--build=i686-apple-darwin9
--host=i686-apple-darwin9
--target=sparc-sun-solaris2.10
--disable-nls
--with-gmp=/opt/local
--with-mpfr=/opt/local
--enable-llvm=/Users/luked/install/obj/llvm-svn
--without-headers
--with-newlib

which appears to work fine. While building I get the error at the end of 
the email, which I'm fairly sure is related to something that I am doing 
wrong, but I'm not sure what it is.

I've been following the instructions in 
https://www6.software.ibm.com/developerworks/education/l-cross/l-cross-ltr.pdf 


Any advice would be great.

Luke

/Users/luked/install/obj/sparc/llvm-gcc/./gcc/xgcc 
-B/Users/luked/install/obj/sparc/llvm-gcc/./gcc/ 
-B/Users/luked/opt/sparc/sparc-sun-solaris2.10/bin/ 
-B/Users/luked/opt/sparc/sparc-sun-solaris2.10/lib/ -isystem 
/Users/luked/opt/sparc/sparc-sun-solaris2.10/include -isystem 
/Users/luked/opt/sparc/sparc-sun-solaris2.10/sys-include -O2 -g -O2 
-DIN_GCC -DCROSS_DIRECTORY_STRUCTURE   -W -Wall -Wwrite-strings 
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition 
-isystem ./include  -I. -I. -I../../../../src/llvm-gcc-svn/gcc 
-I../../../../src/llvm-gcc-svn/gcc/. 
-I../../../../src/llvm-gcc-svn/gcc/../include 
-I../../../../src/llvm-gcc-svn/gcc/../libcpp/include 
-I/opt/local/include -I/opt/local/include 
-I../../../../src/llvm-gcc-svn/gcc/../libdecnumber -I../libdecnumber 
-I/Users/luked/install/obj/llvm-svn/include 
-I/Users/luked/install/src/llvm-svn/include  \
		-c ../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c -o gmon.o
/Users/luked/install/obj/sparc/llvm-gcc/./gcc/xgcc 
-B/Users/luked/install/obj/sparc/llvm-gcc/./gcc/ 
-B/Users/luked/opt/sparc/sparc-sun-solaris2.10/bin/ 
-B/Users/luked/opt/sparc/sparc-sun-solaris2.10/lib/ -isystem 
/Users/luked/opt/sparc/sparc-sun-solaris2.10/include -isystem 
/Users/luked/opt/sparc/sparc-sun-solaris2.10/sys-include -O2 -O2 -g -O2 
  -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE   -W -Wall -Wwrite-strings 
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition 
-isystem ./include  -I. -I. -I../../../../src/llvm-gcc-svn/gcc 
-I../../../../src/llvm-gcc-svn/gcc/. 
-I../../../../src/llvm-gcc-svn/gcc/../include 
-I../../../../src/llvm-gcc-svn/gcc/../libcpp/include 
-I/opt/local/include -I/opt/local/include 
-I../../../../src/llvm-gcc-svn/gcc/../libdecnumber -I../libdecnumber 
-I/Users/luked/install/obj/llvm-svn/include 
-I/Users/luked/install/src/llvm-svn/include  -g0 
-finhibit-size-directive -fno-inline-functions -fno-exceptions 
-fno-zero-initialized-in-bss -fno-toplevel-reorder -Dinhibit_libc -fPIC \
	  -c ../../../../src/llvm-gcc-svn/gcc/crtstuff.c -DCRT_END \
	  -o crtend.o
In file included from 
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:36:
../../../../src/llvm-gcc-svn/gcc/tsystem.h:90:19: error: stdio.h: No 
such file or directory
../../../../src/llvm-gcc-svn/gcc/tsystem.h:93:23: error: sys/types.h: No 
such file or directory
../../../../src/llvm-gcc-svn/gcc/tsystem.h:96:19: error: errno.h: No 
such file or directory
../../../../src/llvm-gcc-svn/gcc/tsystem.h:103:20: error: string.h: No 
such file or directory
../../../../src/llvm-gcc-svn/gcc/tsystem.h:104:20: error: stdlib.h: No 
such file or directory
../../../../src/llvm-gcc-svn/gcc/tsystem.h:105:20: error: unistd.h: No 
such file or directory
../../../../src/llvm-gcc-svn/gcc/tsystem.h:111:18: error: time.h: No 
such file or directory
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:37:37: error: 
fcntl.h: No such file or directory
In file included from ./tm.h:5,
                  from 
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:39:
./options.h:462: error: 'HOST_BITS_PER_INT' undeclared here (not in a 
function)
./options.h:462: error: bit-field 'padding' width not an integer constant
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c: In function 
'monstartup':
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:113: warning: 
implicit declaration of function 'sbrk'
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:113: warning: 
assignment makes pointer from integer without a cast
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:115: warning: 
implicit declaration of function 'write'
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:137: warning: 
assignment makes pointer from integer without a cast
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c: In function 
'_mcleanup':
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:182: error: 
'PATH_MAX' undeclared (first use in this function)
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:182: error: 
(Each undeclared identifier is reported only once
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:182: error: 
for each function it appears in.)
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:187: warning: 
implicit declaration of function 'getenv'
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:187: warning: 
assignment makes pointer from integer without a cast
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:193: warning: 
implicit declaration of function 'strrchr'
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:193: warning: 
incompatible implicit declaration of built-in function 'strrchr'
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:199: warning: 
implicit declaration of function 'sprintf'
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:199: warning: 
incompatible implicit declaration of built-in function 'sprintf'
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:199: warning: 
implicit declaration of function 'getpid'
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:205: warning: 
implicit declaration of function 'creat'
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:207: warning: 
implicit declaration of function 'perror'
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:232: warning: 
implicit declaration of function 'close'
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:182: warning: 
unused variable 'buf'
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c: In function 
'internal_mcount':
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:300: warning: 
implicit declaration of function 'atexit'
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c: In function 
'moncontrol':
../../../../src/llvm-gcc-svn/gcc/config/sparc/gmon-sol2.c:413: warning: 
implicit declaration of function 'profil'
make[2]: *** [gmon.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [all-gcc] Error 2
make: *** [all] Error 2



More information about the llvm-dev mailing list