程序入口

程序入口

The first instruction to execute in a program is called the entry point. You can use the

ENTRY linker script command to set the entry point. The argument is a symbol name:

ENTRY(symbol)

There are several ways to set the entry point. The linker will set the entry point by trying

each of the following methods in order, and stopping when one of them succeeds:

       • the ‘-e’ entry command-line option;

       • the ENTRY(symbol) command in a linker script;

       • the value of the symbol start, if defined;

       • the address of the first byte of the ‘.text’ section, if present;

       • The address 0.

按照以上的指示有5种情况,但是在kernel/arch/unicore/boot/compressed下的vmlinux.lds(有同目录下的vmlinux.lds.in经过处理生成)写明ENTRY(_start),但是在函数中却没有_start全局标号,但是在.输出.text区中指明_start = .; 感觉很怪异,我们把ENTRY(_start)换成ENTRY(start)也是对的,而且生成的vmlinux没有任何不同

原文地址:https://www.cnblogs.com/openix/p/2469663.html