您的位置:首页 > 运维架构 > Linux

uclinux-2008R1-RC8(bf561)到VDSP5的移植(50):jiffies_64的定义问题

2008-07-02 20:55 423 查看
在uclinux中,jiffies_64的声明为:
#define __jiffy_data __attribute__((section(".data")))
extern u64 __jiffy_data jiffies_64;
其定义在kernel/timer.c:
u64 __jiffy_data jiffies_64 __cacheline_aligned_in_smp = INITIAL_JIFFIES;
这样的定义看起来没有什么问题,但是在编译kernel/timer.c时却造成了一个非常奇怪的错误,出错提示为:
[Error ea1008] "e:/temp/acc08143dff000/acc08143dff001.s":3601 '.epcdata':
The symbol has already been defined and cannot be redefined.

[Error ea1008] "e:/temp/acc08143dff000/acc08143dff001.s":3608 '.epcdata.end':
The symbol has already been defined and cannot be redefined.
但是如果将定义改为:
extern u64 /*__jiffy_data*/ jiffies_64;
u64 /*__jiffy_data*/ jiffies_64 __cacheline_aligned_in_smp = INITIAL_JIFFIES;
则没有任何问题。
猜测这和u64这种数据类型有关。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: