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这种数据类型有关。
#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这种数据类型有关。
相关文章推荐
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(52):cache.s的问题
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(53):reboot.c的问题
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(55): filemap.c的问题
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(47): d_alloc引出的问题
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(48): __cmpxchg的问题
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(13):未命名union的问题
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(42):__bad_size的问题
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(43):__builtin_return_address的问题
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(44):kmalloc和kzalloc的问题
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(49):kernel_thread_helper的问题
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(64): Milestone:发布第一版
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(54): initramfs的问题
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(27):cpumask_t
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(30):atomic_t
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(33):__ebss_l1
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(38):cache与spinlock
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(39):链接重排
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(15):WARN()
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(51):fork.c编译失败
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(62): Failed to open '#include' file 'bf561.h'