build error: No rule to make target crtendS.o

Adam Lackorzynski adam at
Sat Sep 10 01:02:38 CEST 2011


On Fri Sep 09, 2011 at 13:09:09 -0700, Wesley Miaw wrote:
> >> % arm-none-eabi-gcc --version
> >> arm-none-eabi-gcc (Linaro GCC 4.5-2011.02-0) 4.5.2
> >> make[8]: *** No rule to make target
> `/opt/armgcc/lib/gcc/arm-none-eabi/4.5.2//crtendS.o', needed by
> `'.  Stop.
> >
> > Please use the arm-none-linux-gnueabi version of gcc. Looks like we
> > might not need to link crtendS.o at least with 4.5 but I'm not sure
> > currently for other versions.
> I'm having trouble understanding how the bootstrap images are supposed to
> be run on an ARM board if they are compiled with arm-none-linux-gnueabi
> instead of arm-none-eabi. Reading the Sourcery G++ Lite documentation, and
> talking to ARM support, bare metal should be compiled using arm-none-eabi.
> I am able to compile a hello world application for execution off the
> Versatile Express Boot Monitor using arm-none-eabi but not when using
> arm-none-linux-gnueabi (too many headers error). I saw in the bootstrap
> linker script that the data and bss sections are combined to fix this
> problem. But when I try to run one of the E=hello bootstrap images (ELF or
> RAW) I get garbage printed out. With arm-none-eabi I have to specify a
> 'hosted' linker script to get it to output text.
> Fiasco.OC's Features web page states it supports the Versatile Express
> board. I'm unable to find any documentation on it though.
> At this point, would I need to modify the build to use arm-none-eabi and
> the Makeconf.local to use the correct arm-none-eabi linker script and
> build option (e.g. -mcpu=cortex-a9)?

I would like to see the errors you are getting with a non-modified
setup. For basic things like bootstrap it does not matter whether it is
the arm-none-eabi or arm-none-linux-gnueabi as it does not make use of
any of those specifics. I for example use the arm-none-linux-gnueabi
variant just fine. Also, this does not have to do anything with the
specific board such as Versatile Express or others, or with the specific
CPU variant the compiler is targeting for. This is 'just' a compile/link

Adam                 adam at

More information about the l4-hackers mailing list