Yes! For kernel mode each program has its own main() implementation, not
the definition.
BR,
Alan

On Tue, Jan 9, 2024 at 10:34 PM Gregory Nutt <spudan...@gmail.com> wrote:

>
> On 1/9/2024 7:28 PM, Alan C. Assis wrote:
> > Hi Yf,
> > Just look at your System.map and you will see that all those main()
> became
> > <program>_main.
> >
> > It isn't possible to have a unique main() symbol, otherwise we will have
> a
> > duplicated symbol, also even if the compiler accepted that, how could
> NuttX
> > know you want to call the main from Hello instead of the main from Alarm?
> >
> > BR,
> >
> > Alan
> This is not true in the kernel build mode.  All applications run at
> exactly the same virtual address and the entry point is main() for all
> of them.  In the kernel build, all applications are loadable modules.
> None of the symbols in the loadable modules will appear in System.map
> since each application module is separately compiled and linked.

Reply via email to