arm[eb]-eabi-gcc for cortex-r4[f] with newlib has problems with multilib/libraries.

David Fernandez
Fri Jul 5 23:02:00 GMT 2013

On 15/06/13 01:05, David Fernandez wrote:
> Hi there,
> I've built an arm[eb]-eabi-gcc for --with-cpu=cortex-r4[f]
> --with-mode=thumb --with-newlib, both manually and with crosstool-ng. In
> all cases, I get a strange problem when building a main function with
> ful C runtime library support like this (include the latest version, but
> it happens with the little endian, and with the cortex-r4 too):
> $ armeb-eabi-gcc -mbig-endian -mthumb -march=armv7-r -mcpu=cortex-r4f -o
> alignpack alignpack.c
> /opt/x-tools/armeb-unknown-eabi/lib/gcc/armeb-unknown-eabi/4.7.2/../../../../armeb-unknown-eabi/bin/ld:
> error:
> /opt/x-tools/armeb-unknown-eabi/lib/gcc/armeb-unknown-eabi/4.7.2/../../../../armeb-unknown-eabi/lib/libc.a(lib_a-strlen-armv7.o):
> Conflicting architecture profiles A/R
> /opt/x-tools/armeb-unknown-eabi/lib/gcc/armeb-unknown-eabi/4.7.2/../../../../armeb-unknown-eabi/bin/ld:
> failed to merge target specific data of file
> /opt/x-tools/armeb-unknown-eabi/lib/gcc/armeb-unknown-eabi/4.7.2/../../../../armeb-unknown-eabi/lib/libc.a(lib_a-strlen-armv7.o)
> collect2: error: ld returned 1 exit status
> I'm pretty sure that when I built this same kind of compiler for a
> cortex-m3, it did not do this.
> Anyway, find attached the alignpack.c, and the crosstool-ng log. I had
> to use newlib-2.0.0 to make it work with the tuple armeb-xxx.
> I've tried additional multilib permutations, but the errors keep appearing.
> Any thoughts?
> Regards.
> David Fernandez
Hi there,

After two weeks, the solution to this problem pop out to me. It was a
problem in the newlib strlen implementation, that was forcing the
armv7-a architecture.

This was solved some time ago in the cvs sources for newlib.

David F.

For unsubscribe information see

More information about the crossgcc mailing list