weak弱符号 alias当弱符号没有其它定义时使用指定函数 以下是u-boot的例子
static int __def_eth_init(bd_t *bis) { return -1; } int cpu_eth_init(bd_t *bis) __attribute__((weak, alias("__def_eth_init"))); int board_eth_init(bd_t *bis) __attribute__((weak, alias("__def_eth_init")));
u-boot中允许根据硬件自定义cpu级和板级的net初始化函数,当不需要定制时,可以不定义,以默认函数代替。 上面的代码将cpu_eth_init和board_eth_init符号弱化(weak),如果没有定义这两个函数,就直接用__def_eth_init替代(alias)