环境
uboot1.3.4
arm-linux-gnueabi-gcc version 5.3.1 20160205 (Debian 5.3.1-8)
错误信息:
board.c:108:6: error: ‘coloured_LED_init’ aliased to external symbol ‘__coloured_LED_init’
void coloured_LED_init (void) __attribute__((weak, alias("__coloured_LED_init")));
对应的内容为:
void inline __coloured_LED_init (void) {}
void coloured_LED_init (void) __attribute__((weak, alias("__coloured_LED_init")));
写了一个小程序测试了一下,发现是由于inline引起的,尝试添加编译参数-fno-inline
,再次测试仍然报错,只好去掉了inline,其它几个地方也一样,去掉inline,编译通过.
测试程序如下:
void __show_boot_progress (int val) {}
//inline void __show_boot_progress(int val) {};
void show_boot_progress (int val) __attribute__((__weak__, __alias__("__show_boot_progress")));
int main()
{
return 0;
}