快乐虾http://blog.csdn.net/lights_joy/lights@hb165.com本文适用于ADI bf561 DSP优视BF561EVB开发板uclinux-2008r1-rc8 (移植到vdsp5)Visual DSP++ 5.0欢迎转载,但请保留作者信息在include/asm/processor.h中有这样一个定义:/** Default implementation of macro that returns current* instruction pointer ("program counter").*/#define current_text_addr() ({ __label__ _l; _l: &&_l;})它的作用就是取当前PC的值,但是这行语句在VDSP下会引起一个错误:../../security/commoncap.c"../../include/linux/skbuff.h", line 897: cc1454:error: taking the addressof a label is not a supported featureskb_over_panic(skb, len, current_text_addr());^"../../include/linux/skbuff.h", line 922: cc1454:error: taking the addressof a label is not a supported featureskb_under_panic(skb, len, current_text_addr());^2 errors detected in the compilation of "../../security/commoncap.c".cc3089: fatal error: Compilation failedTool failed with exit/exception code: 1.Build was unsuccessful.对其做如下修改:staticinlineunsignedlong current_text_addr(void){unsignedlong pc;__asm__ __volatile__("%0 = rets;/n/t":"=d"(pc));return pc;}