build error: No rule to make target crtendS.o

Wesley Miaw wesley at
Sat Sep 10 21:26:05 CEST 2011

I'm not getting any errors printed out on the console when I run the ELF or RAW bootstrap binaries. It just prints out a line of garbage (e.g. ? or other random characters). Then I have to hit the reset button. This is 

I tried modifying the load and run memory addresses but that didn't make any difference.

There weren't any build errors as far as I could see. Is there some other error you would like me to try capturing?

Wesley Miaw
wesley at

On Sep 10, 2011, at 3:00 AM, l4-hackers-request at wrote:

> Hi,
> 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
> issue.

More information about the l4-hackers mailing list