[LLVMdev] LLVM for ARM target

akramul azim bijoy123_8 at yahoo.com
Sun Jan 2 15:49:02 PST 2011


In the last step after building and installing binutils 2.21 for ARM and LLVM-src, I am trying to build LLVM-GCC. However, I get the repeated system config checking promt. I used the following configuration:
 
I created a directory called arm_objects and then I write:
 
$ ../llvm-gcc-4.2/configure --target=arm-linux --program-prefix=llvm- --prefix=/llv
m/arm --enable-pic --disable-optimized --enable-bindings=none --enable-llvm=$PW
D/../llvm-src --enable-languages=c,c++ --disable-multilib --disable-bootstrap -
-with-sysroot=/llvm/arms/sys-root --with-arch=armv5te --disable-libssp --with-g
nu-ld --with-gnu-as
 
$ make
 
when I run make I get the following promt again and again:
 
CONFIG_SHELL="/bin/sh" /bin/sh ./config.status --recheck
running /bin/sh ../llvm-gcc-4.2/configure   --target=arm-linux --program-prefix=
llvm- --prefix=/llvm/arm --disable-optimized --enable-bindings=none --enable-llv
m=/llvm/arm_objects/../llvm-src --disable-multilib --disable-bootstrap --with-sy
sroot=/llvm/arms/sys-root --enable-languages=c,c++ --no-create --no-recursion
loading cache ./config.cache
checking host system type... i686-pc-cygwin
checking target system type... arm-unknown-linux-gnu
checking build system type... i686-pc-cygwin
checking for a BSD compatible install... (cached) /usr/bin/install -c
checking whether ln works... (cached) yes
checking whether ln -s works... (cached) yes
checking for gcc... (cached) gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gnatbind... (cached) gnatbind
checking whether compiler driver understands Ada... (cached) yes
checking how to compare bootstrapped objects... (cached) cmp --ignore-initial=16
 $$f1 $$f2
checking for correct version of gmp.h... yes
checking for correct version of mpfr.h... yes
checking for any version of mpfr.h... yes
*** This configuration is not supported in the following subdirectories:
     target-libada gnattools target-libgfortran target-libffi target-zlib target
-libjava zlib target-libobjc target-boehm-gc
    (Any other directories should still work fine.)
checking for bison... (cached) bison -y
checking for bison... (cached) bison
checking for gm4... (cached) m4
checking for flex... (cached) flex
checking for flex... (cached) flex
checking for makeinfo... (cached) makeinfo
checking for expect... (cached) expect
checking for runtest... (cached) runtest
checking for i686-pc-cygwin-ar... (cached) ar
checking for i686-pc-cygwin-as... (cached) as
checking for i686-pc-cygwin-dlltool... (cached) dlltool
checking for i686-pc-cygwin-ld... (cached) /usr/lib/gcc/i686-pc-cygwin/4.3.4/../
../../../i686-pc-cygwin/bin/ld.exe
checking for i686-pc-cygwin-lipo... no
checking for lipo... no
checking for i686-pc-cygwin-nm... (cached) nm
checking for i686-pc-cygwin-ranlib... (cached) ranlib
checking for i686-pc-cygwin-strip... (cached) strip
checking for i686-pc-cygwin-windres... (cached) windres
checking for i686-pc-cygwin-objcopy... (cached) objcopy
checking for i686-pc-cygwin-objdump... (cached) objdump
checking for arm-linux-cc... no
checking for arm-linux-gcc... no
checking for arm-linux-c++... no
checking for arm-linux-g++... no
checking for arm-linux-cxx... no
checking for arm-linux-gxx... no
checking for arm-linux-gcc... no
checking for arm-linux-gcj... no
checking for arm-linux-gfortran... no
checking for ar... no
checking for arm-linux-ar... no
checking for as... no
checking for arm-linux-as... no
checking for dlltool... no
checking for arm-linux-dlltool... no
checking for ld... no
checking for arm-linux-ld... no
checking for lipo... no
checking for arm-linux-lipo... no
checking for nm... no
checking for arm-linux-nm... no
checking for objdump... no
checking for arm-linux-objdump... no
checking for ranlib... no
checking for arm-linux-ranlib... no
checking for strip... no
checking for arm-linux-strip... no
checking for windres... no
checking for arm-linux-windres... no
checking where to find the target ar... pre-installed
checking where to find the target as... pre-installed
checking where to find the target cc... just compiled
checking where to find the target c++... just compiled
checking where to find the target c++ for libstdc++... just compiled
checking where to find the target dlltool... pre-installed
checking where to find the target gcc... just compiled
checking where to find the target gcj... pre-installed
checking where to find the target gfortran... pre-installed
checking where to find the target ld... pre-installed
checking where to find the target lipo... pre-installed
checking where to find the target nm... pre-installed
checking where to find the target objdump... pre-installed
checking where to find the target ranlib... pre-installed
checking where to find the target strip... pre-installed
checking where to find the target windres... pre-installed
checking whether to enable maintainer-specific portions of Makefiles... no
 
CONFIG_FILES=Makefile CONFIG_HEADERS= /bin/sh ./config.status
creating Makefile
make: Warning: File `../llvm-gcc-4.2/Makefile.in' has modification time 2.1e+07
s in the future
CONFIG_SHELL="/bin/sh" /bin/sh ./config.status --recheck
running /bin/sh ../llvm-gcc-4.2/configure   --target=arm-linux --program-prefix=
llvm- --prefix=/llvm/arm --disable-optimized --enable-bindings=none --enable-llv
m=/llvm/arm_objects/../llvm-src --disable-multilib --disable-bootstrap --with-sy
sroot=/llvm/arms/sys-root --enable-languages=c,c++ --no-create --no-recursion
loading cache ./config.cache
checking host system type... i686-pc-cygwin
checking target system type... arm-unknown-linux-gnu
checking build system type... i686-pc-cygwin
checking for a BSD compatible install... (cached) /usr/bin/install -c
checking whether ln works... (cached) yes
checking whether ln -s works... (cached) yes
checking for gcc... (cached) gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gnatbind... (cached) gnatbind
checking whether compiler driver understands Ada... (cached) yes
checking how to compare bootstrapped objects... (cached) cmp --ignore-initial=16
 $$f1 $$f2
checking for correct version of gmp.h... yes
checking for correct version of mpfr.h... yes
checking for any version of mpfr.h... yes
*** This configuration is not supported in the following subdirectories:
     target-libada gnattools target-libgfortran target-libffi target-zlib target
-libjava zlib target-libobjc target-boehm-gc
    (Any other directories should still work fine.)
checking for bison... (cached) bison -y
checking for bison... (cached) bison
checking for gm4... (cached) m4
checking for flex... (cached) flex
checking for flex... (cached) flex
checking for makeinfo... (cached) makeinfo
checking for expect... (cached) expect
checking for runtest... (cached) runtest
checking for i686-pc-cygwin-ar... (cached) ar
checking for i686-pc-cygwin-as... (cached) as
checking for i686-pc-cygwin-dlltool... (cached) dlltool
checking for i686-pc-cygwin-ld... (cached) /usr/lib/gcc/i686-pc-cygwin/4.3.4/../
../../../i686-pc-cygwin/bin/ld.exe
checking for i686-pc-cygwin-lipo... no
checking for lipo... no
checking for i686-pc-cygwin-nm... (cached) nm
checking for i686-pc-cygwin-ranlib... (cached) ranlib
checking for i686-pc-cygwin-strip... (cached) strip
checking for i686-pc-cygwin-windres... (cached) windres
checking for i686-pc-cygwin-objcopy... (cached) objcopy
checking for i686-pc-cygwin-objdump... (cached) objdump
checking for arm-linux-cc... no
checking for arm-linux-gcc... no
checking for arm-linux-c++... no
checking for arm-linux-g++... no
checking for arm-linux-cxx... no
checking for arm-linux-gxx... no
checking for arm-linux-gcc... no
checking for arm-linux-gcj... no
checking for arm-linux-gfortran... no
checking for ar... no
checking for arm-linux-ar... no
checking for as... no
checking for arm-linux-as... no
checking for dlltool... no
checking for arm-linux-dlltool... no
checking for ld... no
checking for arm-linux-ld... no
checking for lipo... no
checking for arm-linux-lipo... no
checking for nm... no
checking for arm-linux-nm... no
checking for objdump... no
checking for arm-linux-objdump... no
checking for ranlib... no
checking for arm-linux-ranlib... no
checking for strip... no
checking for arm-linux-strip... no
checking for windres... no
checking for arm-linux-windres... no
checking where to find the target ar... pre-installed
checking where to find the target as... pre-installed
checking where to find the target cc... just compiled
checking where to find the target c++... just compiled
checking where to find the target c++ for libstdc++... just compiled
checking where to find the target dlltool... pre-installed
checking where to find the target gcc... just compiled
checking where to find the target gcj... pre-installed
checking where to find the target gfortran... pre-installed
checking where to find the target ld... pre-installed
checking where to find the target lipo... pre-installed
checking where to find the target nm... pre-installed
checking where to find the target objdump... pre-installed
checking where to find the target ranlib... pre-installed
checking where to find the target strip... pre-installed
checking where to find the target windres... pre-installed
checking whether to enable maintainer-specific portions of Makefiles... no
creating ./config.status
CONFIG_FILES=Makefile CONFIG_HEADERS= /bin/sh ./config.status
creating Makefile
 
 
Can you please tell where is the problem?
 
Akramul


--- On Sun, 2/1/11, akramul azim <bijoy123_8 at yahoo.com> wrote:


From: akramul azim <bijoy123_8 at yahoo.com>
Subject: Re: [LLVMdev] LLVM for ARM target
To: "Bill Wendling" <wendling at apple.com>
Cc: llvmdev at cs.uiuc.edu
Date: Sunday, 2 January, 2011, 4:41 PM






Sorry again, my bad. I actually was using --enable-pics instead of --enable-pic. Now LLVM is being compiled. Hope the last phase llvm-gcc compilation would be a success. Thanks a lot.


Akramul

--- On Sun, 2/1/11, akramul azim <bijoy123_8 at yahoo.com> wrote:


From: akramul azim <bijoy123_8 at yahoo.com>
Subject: Re: [LLVMdev] LLVM for ARM target
To: "Bill Wendling" <wendling at apple.com>
Cc: llvmdev at cs.uiuc.edu
Date: Sunday, 2 January, 2011, 3:12 PM






Sorry I used --enable-pic, not --enable-pics. It was a typo.


Akramul

--- On Sun, 2/1/11, akramul azim <bijoy123_8 at yahoo.com> wrote:


From: akramul azim <bijoy123_8 at yahoo.com>
Subject: Re: [LLVMdev] LLVM for ARM target
To: "Bill Wendling" <wendling at apple.com>
Cc: "Anton Korobeynikov" <anton at korobeynikov.info>, llvmdev at cs.uiuc.edu
Date: Sunday, 2 January, 2011, 2:59 PM






I tried adding --enable-pics but getting the same error. I opened the make file but don't see any flag of enable_pics :-(. Is there any way to get around the problem?


Akramul

--- On Sun, 2/1/11, Bill Wendling <wendling at apple.com> wrote:


From: Bill Wendling <wendling at apple.com>
Subject: Re: [LLVMdev] LLVM for ARM target
To: "akramul azim" <bijoy123_8 at yahoo.com>
Cc: "Anton Korobeynikov" <anton at korobeynikov.info>, llvmdev at cs.uiuc.edu
Date: Sunday, 2 January, 2011, 6:07 AM


On Jan 1, 2011, at 8:29 PM, akramul azim wrote:

> Hi,
>     I am planning to follow the steps to install LLVM for the ARM-target (Processor: Xscale, Architecture: armv5te):
>  
> 1. Install binutils-2.21 (downloaded from gnu.org)
>  
> Steps:
>  
> $ ./configure --target=arm-unknown-linux-gnueabi --program-prefix=arm- --prefix
> =/llvm/arm --with-sysroot=/llvm/arms/sys-root
>  
> $ make
>  
> $ make install
>  
> 
> 2. Install LLVM
>  
> Steps
>  
> $ ../llvm-src/configure --target=arm-linux --prefix=/llvm/arm --disable-optimiz
> ed --enable-bindings=none --disable-multilib --disable-bootstrap --with-sysroot
> =/llvm/arms/sys-root --with-binutils-include=/llvm/binutils-2.21/include --with
> -llvmgccdir=/llvm/llvm-gcc-4.2
>  
> $ make
>  
> $ make install
>  
> 3. Install LLVM-GCC
>  
> Steps:
>  
> $ ../llvm-gcc/configure --target=arm-linux --program-prefix=arm- --prefix=$PWD/
> ../install --disable-optimized --enable-bindings=none --enable-llvm=$PWD/../llv
> m-2.8 --enable-languages=c,c++ --disable-multilib --disable-bootstrap
> $ make
>  
> $ make install
>  
>  
> However, when I try to build LLVM source (second step) by make, I get the following error:
>  
> llvm[2]: Linking Debug Loadable Module LLVMgold.dll
> /llvm/llvm-src/tools/gold/Debug/gold-plugin.o: In function `all_symbols_read_hoo
> k':
> /llvm/llvm-src/tools/gold/gold-plugin.cpp:364: undefined reference to `_lto_code
> gen_create'

It looks like llvm/tools/lto wasn't built in step 1 (you can check to see if this is so). From the Makefile, it will built tools/lto when ENABLE_PIC is 1. Check to see what ENABLE_PIC is set to in the Makefile.config file. If it's not set, try using the --enable-pic flag during LLVM's configure.

-bw





-----Inline Attachment Follows-----


_______________________________________________
LLVM Developers mailing list
LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev


-----Inline Attachment Follows-----


_______________________________________________
LLVM Developers mailing list
LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110102/08c719c2/attachment.html>


More information about the llvm-dev mailing list