title: how can I prevent arm-none-eabi compiler generating main symbol
body: <p>I'm using <code>arm-none-eabi</code> to compile source file. 
  after compiling and generating elf file. I got the following symbols using nm command</p>
  
  <pre><code>00021da8 T ISR_Init
           U main
           U malloc
  010008b0 D MASTER_AHB_MAP
  </code></pre>
  
  <p>I'm using gdb to debug, but I have problem with <code>main</code> symbol which is not defined.
  gdb generate following error :  </p>
  
  <pre><code>Function "main" not defined.
  </code></pre>
  
  <p>when I change my entry point to main, it works fine.
  I'm developing bare metal program, so I didn't define <code>main</code> anywhere in my program.</p>
  
  <p>I linked my program with those following libraries</p>
  
  <pre><code>(GNU_ARM_TOOL)/lib/gcc/arm-none-eabi/4.8.4/armv7-ar/thumb/fpu
  (GNU_ARM_TOOL)/arm-none-eabi/lib/armv7-ar/thumb/fpu
  </code></pre>
  
  <p>for my understanding, the <code>main</code> symbol is generated from one of the above libraries. my question is how can I  or how can I avoid the compiler generating the undefined symbol <code>main</code>, or at least delete the undefined <code>main</code> symbol in the final <code>elf</code> file to avoid gdb error.</p>