现在的位置: 首页 > 综合 > 正文

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

2013年09月11日 ⁄ 综合 ⁄ 共 642字 ⁄ 字号 评论关闭
 

在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这种数据类型有关。

抱歉!评论已关闭.