Prachi Chouksey
Prachi Chouksey

Reputation: 153

Cannot find entry symbol _start

My c code on compiling on gcc is giving the error Cannot find entry symbol _start defaulting to 00000. Can anyone tell me why and how to correct it?

The command line is arm-none-eabi-gcc -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=softfp file path and the target platform is a-8 sitara cortex processor.

Upvotes: 13

Views: 42693

Answers (2)

pravu pp
pravu pp

Reputation: 882

The only reason the compiler threw the above error is because the start code(_start function) generated by the OS for running your code cannot find the default or registered function main. So either you can use _start function instead of main function but the compilation command should be gcc -nostartfiles filename.c but using _start there are a lot of exceptions so better to use main instead.

Upvotes: 9

Giuseppe Scrivano
Giuseppe Scrivano

Reputation: 1635

the -none- part means that your toolchain doesn't build for a particular operating system, so you must define a _start entry point. For non-bare-metal toolchains that build for a particular operating system, _start is provided by the standard library that in order will call main when everything is set up.

Upvotes: 7

Related Questions