Compiling newlib for the [sparc-leon3-elf] target

Orlando Arias orlandoarias@gmail.com
Mon Jan 9 15:44:00 GMT 2017


Greetings,

I have been trying to build the newlib/libgloss stack and associated
libraries for the sparc-leon3-elf package. Currently, I am using a
slightly patched binutils and gcc to perform this process. The patches
can be found in [1]. The patches are supposed to add the missing linker
script in binutils and change the default linker command gcc issues for
the sparc-elf target.

The situation I am having when building newlib is specifically with the
libraries associated for the leon3. An old build by Gaisler generates a
few separate directories:

lib/
lib/soft/
lib/soft/v8
lib/ut699
lib/v8
lib/v8/ut699

each with separate versions of the C runtime, AMBA plug and play
routines, the baremetal leon3 libraries. However, when I build it, none
of these directories get created, and the resulting leon3 libraries
begin exposing duplicate symbols [as if what should be in independent
directories are merged into the same file]. When linking programs, ld is
right to complain about the situation and generates no binaries.

I am configuring newlib/libgloss with:

export _target=sparc-leon3-elf
export CFLAGS_FOR_TARGET="-Os -g -ffunction-sections -fdata-sections"
export CFLAGS=${CFLAGS_FOR_TARGET}

../configure \
  --prefix=/usr \
  --target=${_target} \
  --with-cpu=leon3 \
  --enable-multilib \
  --with-sysroot=/usr/${_target}

Binutils [2.27 with linked patches] was configured with:
../configure --prefix=/usr \
  --target=${_target} \
  --with-program-prefix=${_target}- \
  --with-sysroot=/usr/${_target} \
  --enable-shared \
  --disable-nls \
  --with-gnu-as \
  --with-gnu-ld \
  --enable-plugins \
  --disable-gold \
  --enable-multilib \
  --with-cpu=leon3 \
  --with-float=soft \
  --disable-werror
make configure-host
make

GCC [6.3.0 with linked patches] was bootstrapped as:
../configure \
  --target=${_target} \
  --with-sysroot=/usr/${_target} \
  --prefix=/usr \
  --enable-languages=c \
  --disable-shared \
  --disable-nls \
  --disable-threads \
  --disable-libgomp \
  --disable-mudflap \
  --disable-libssp \
  --disable-multilib \
  --with-float=soft \
  --with-newlib \
  --without-headers \
  --with-float=soft \
  --with-cpu=leon

make all-gcc

Any ideas what I could be missing here? Thank you.

Cheers,
Orlando.

[1]
https://beta.groups.yahoo.com/neo/groups/LEON_SPARC/conversations/messages/24660

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: OpenPGP digital signature
URL: <http://sourceware.org/pipermail/newlib/attachments/20170109/98e8b1b7/attachment.sig>


More information about the Newlib mailing list