Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

arm-none-eabi-gcc [bare metal] cannot find -lstdc++_nano...

5 views
Skip to first unread message

yczo

unread,
Mar 25, 2016, 8:08:42 PM3/25/16
to Help-gp...@gnu.org
Hello everybody, recently I tried to set up a bare metal arm for Cortex M3
from scratch on my gentoo.
I used

binutils-2.26.tar.gz
gcc-4.9.3.tar.gz
gdb-7.11.tar.xz
newlib-2.3.0.20160104.tar.gz

but when I try to compile, shows the following error:

/arm/cortex-M3/lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld:
cannot find -lstdc++_nano
/arm/cortex-M3/lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld:
cannot find -lg_nano
/arm/cortex-M3/lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld:
cannot find -lc_nano
[/code]
Please, can somebody hel me?
Thanks in advance.

pd: Here ist the sequence that i used
[code]
tar xvf binutils-2.26.tar.gz && tar xvf gcc-4.9.3.tar.gz && tar xvf
newlib-2.3.0.20160104.tar.gz && tar xvf gdb-7.11.tar.xz

#export paths
export Objetivo=arm-none-eabi && export Prefijo=/arm/cortex-M3


#binutils compile
cd binutils-2.26

./configure --target=$Objetivo --prefix=$Prefijo
--disable-newlib-supplied-syscalls --enable-interwork --enable-multilib
--with-gnu-as --with-gnu-ld --enable-newlib-nano-malloc --disable-nls
--disable-libssp --with-sysroot --disable-werror
make -j8 all && make install

# The meaning of flags:
# --with-mode=thumb ........ use Thumb instruction set
# --enable-interwork ....... supports calling between ARM and Thumb
instruction set
# --enable-multilib ........ builds for any other unspecified configuration
# --with-gnu-as ............ use only GNU Assembler
# --with-gnu-ld ............ use only GNU Linker
# --disable-nls ............ output only in English


#gcc compile
PATH="${PATH}:/arm/cortex-M3/bin:"
cd ../gcc-4.9.3 && mkdir objdir && cd objdir
../configure --target=$Objetivo --prefix=$Prefijo --without-headers
--disable-shared --disable-newlib-supplied-syscalls --enable-interwork
--with-gnu-as --with-gnu-ld --enable-newlib-nano-malloc --with-system-zlib
--enable-multilib --enable-languages="c,c++" --with-newlib
--with-headers=../../newlib-2.3.0.20160104/newlib/libc/include
--disable-libssp --disable-nls --with-cpu=cortex-m3 --with-tune=cortex-m3
--with-mode=thumb --with-float=soft

#I could not find arm-none-eabi-cc
ln -s $Prefijo/bin/arm-none-eabi-gcc $Prefijo/bin/arm-none-eabi-cc


# The meaning of flags (see https://gcc.gnu.org/install/configure.html):
# --with-system-zlib ...... use the system's zlib library
# --with-newlib ........... newlib is going to be used as the target C
library
# --without-headers ....... do not use target headers from libc (newlib)
when building, because newlib is not build yet.
# --disable-shared ........ only static libraries, because shared are not
supported on the target platform
# make clean


#newlib compile

cd ../../newlib-2.3.0.20160104
./configure --target=$Objetivo --prefix=$Prefijo
--disable-newlib-supplied-syscalls --enable-interwork --enable-multilib
--with-gnu-as --with-gnu-ld --enable-newlib-nano-malloc --disable-nls
--disable-libssp --with-sysroot --disable-werror

make -j8 all && make install

# The meaning of flags:
# --disable-newlib-supplied-syscalls ... disable syscalls, because we are
building for bare-metal target.
# --enable-newlib-nano-malloc ... enable nano implementation of malloc
suitable for devices with limited memory resources
# make clean

#gcc final compile

cd ../gcc-4.9.3/objdir/
../configure --target=$Objetivo --prefix=$Prefijo --disable-shared
--disable-newlib-supplied-syscalls --enable-interwork --with-gnu-as
--with-gnu-ld --enable-newlib-nano-malloc --with-system-zlib
--enable-multilib --enable-languages="c,c++" --with-newlib
--with-headers=../../newlib-2.3.0.20160104/newlib/libc/include
--disable-libssp --disable-nls --with-cpu=cortex-m3 --with-tune=cortex-m3
--with-mode=thumb --with-float=soft
make -j8 all && make install

#GDB compile
cd ../../gdb-7.11
./configure --target=$Objetivo --prefix=$Prefijo
--disable-newlib-supplied-syscalls --enable-interwork --enable-multilib
--with-gnu-as --with-gnu-ld --enable-newlib-nano-malloc --disable-nls
--disable-libssp --with-sysroot --disable-werror
make -j8 all && make install






--
View this message in context: http://gcc.1065356.n5.nabble.com/arm-none-eabi-gcc-bare-metal-cannot-find-lstdc-nano-tp1249231.html
Sent from the gcc - Gnu Help List mailing list archive at Nabble.com.

0 new messages