织梦CMS - 轻松建站从此开始!

罗索

【已解决】armv4l/dsputil_arm_s.S:79:error:selected processor

jackyhwei 发布于 2010-05-19 18:54 点击:次 
在make buildroot的rootfs的时候,编译MPlayer-1.0rc1出了问题: armv4l/dsputil_arm_s.S:79:error:selected processor does not support 'pld[r1]'
TAG:

【已解决】armv4l/dsputil_arm_s.S:79:error:selected processor does not support 'pld[r1]'

在make buildroot的rootfs的时候,编译MPlayer-1.0rc1出了问题:
armv4l/dsputil_arm_s.S:79:error:selected processor does not support 'pld[r1]'

和网上某位一样:
s3c2410嵌入式平台 交叉编译X264 FFMPEG 求助!
“好像是说不支持的指令,感觉非常奇怪,指定了arch=arm 的,怎么会出现不支持的指令呢。难道是我的版本不对”

自己确定已经配置成arm了,但是却有不支持的指令,很是奇怪,
后来去网上找到了如下解释:

Re: 3.5.4.1 status update and BSP request: msg#00003

The PLD instruction can just be ignored on arm4 - worst case it can be
commented/patched out or made conditional on arm5+. Its there to
"preload" memory so its safe to just ignore it on arches which don't
support it. I believe glibc uses macros for the function which only
result in the instruction being present in the arm5+ case. If you still
have problems, let me know and I'll try and look into it.

意思是,PLD这个指令,只有ARM5以上才支持,而此处,我的配置是arm922T,属于arm4,
不支持这个指令,可以直接忽略它。所以,用下面这个人的方法,
手动添加通过宏定义判断,就可以避开此问题了:

在cygwin下移植ffmpeg到wince
“3. armv4l/dsputil_arm_s.S:79:error:selected processor does not support 'pld[r1]'
这个是外部要定义下吧,
#ifndef HAVE_PLD
.macro pld reg
.endm
#endif

也就是,修改dsputil_arm_s.S,在前面添加上:
#ifndef HAVE_PLD
.macro pld reg
.endm
#endif

即可。其实做的更好的,应该是通过判定arm系统结构是5以下,不支持此PLD指令,然后再加上此定义。

【解决办法2】
网上有人换了个arm gcc编译器版本也可以解决此问题:
http://www.itdp.de/mplayer-users/2006-03/msg00308.html
“It seems this problem is realted to the ARM GCC 4.0. I used another ARM GCC 4.1
and did not receive this error message.”

(serial_story)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201005/9448.html]
本文出处:百度博客 作者:serial_story
顶一下
(0)
0%
踩一下
(1)
100%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容