用arm-linux-gnueabihf移植MP3播放器libmad-0.15.1b的时候出现错误提示
2017-08-05 18:03
387 查看
diff --git a/package/libmad/libmad-0.15.1b-thumb2-fixed-arm.patch b/package/libmad/libmad-0.15.1b-thumb2-fixed-arm.patch new file mode 100644 index 0000000..befda48 --- /dev/null +++ b/package/libmad/libmad-0.15.1b-thumb2-fixed-arm.patch @@ -0,0 +1,40 @@ +Fixes Thumb2-related build failure + +Patch below comes from the Debian libmad package. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +From: Dave Martin +Subject: "rsc" doesnt exist anymore in thumb2 + +diff --git a/fixed.h b/fixed.h +index 4b58abf..ba4bc26 100644 +--- a/fixed.h ++++ b/fixed.h +@@ -275,12 +275,25 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t x, mad_fixed_t y) + : "+r" (lo), "+r" (hi) \ + : "%r" (x), "r" (y)) + ++#ifdef __thumb__ ++/* In Thumb-2, the RSB-immediate instruction is only allowed with a zero ++ operand. If needed this code can also support Thumb-1 ++ (simply append "s" to the end of the second two instructions). */ ++# define MAD_F_MLN(hi, lo) \ ++ asm ("rsbs %0, %0, #0\n\t" \ ++ "sbc %1, %1, %1\n\t" \ ++ "sub %1, %1, %2" \ ++ : "+&r" (lo), "=&r" (hi) \ ++ : "r" (hi) \ ++ : "cc") ++#else /* ! __thumb__ */ + # define MAD_F_MLN(hi, lo) \ + asm ("rsbs %0, %2, #0\n\t" \ + "rsc %1, %3, #0" \ +- : "=r" (lo), "=r" (hi) \ ++ : "=&r" (lo), "=r" (hi) \ + : "0" (lo), "1" (hi) \ + : "cc") ++#endif /* __thumb__ */ + + # define mad_f_scale64(hi, lo) \ + ({ mad_fixed_t __result; \ diff --git a/package/libmad/libmad-0.15.1b-thumb2-imdct-arm.patch b/package/libmad/libmad-0.15.1b-thumb2-imdct-arm.patch new file mode 100644 index 0000000..414b9c8 --- /dev/null +++ b/package/libmad/libmad-0.15.1b-thumb2-imdct-arm.patch @@ -0,0 +1,20 @@ +Fixes Thumb2 related build failure + +Patch below comes from the Debian libmad package. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +From: Konstantinos Margaritis <markos@debian.org> +Subject: use "adr" instead of "add" to make code ready for thumb2 + +--- ./imdct_l_arm.S.orig 2010-02-25 13:25:23.000000000 +0100 ++++ ./imdct_l_arm.S 2010-02-25 13:27:26.000000000 +0100 +@@ -468,7 +468,7 @@ + + @---- + +- add r2, pc, #(imdct36_long_karray-.-8) @ r2 = base address of Knn array (PIC safe ?) ++ adr r2, imdct36_long_karray + + + loop:
亲测可用
相关文章推荐
- 编译mysql4.0时候出现错误提示checking "LinuxThreads"... "Not found"
- 记录Sqlserver2012附加Sqlserver2008的数据库出错的解决方案一、摘要 最近在实验里面用台式编写好了一个软件,想移植到家里的笔记本上。在附加数据的时候却出现了错误,具体也没有提示
- 【OpenCV】arm-linux-gcc 3.4.1 移植OpenCV 1.0 出现[cvpyrsegmentation.lo] Error 1 错误
- 【ARM-Linux开发】wubi.exe安装Ubuntu14.04出现为/检查磁盘时发生严重错误的解决方法
- 编译用于Linux-arm 的Qt4.8.0 opensource 出现 clock_gettime() 未找的错误解决办法
- IDEA编译时候出现问题:代码不提示错误,编译时出错解决办法
- 更改mvc版本的时候,手动修改交3.0改到4.0,将razor改到2.0,仍然提示出现错误,mvc3.0
- sqlserver还原数据库的时候出现提示无法打开备份设备的解决方法(设备出现错误或设备脱)
- arm-linux-gcc 移植u-boot2015.04时make menuconfig 错误
- 从多方查找资源并测试终于解决了问题,特记录下。 其实如果在安装的时候,正确的安装,就不会出现下面的信息了. 如在Linux下安装,提示密码的时候,输入Root账号的密码就不会出现这个问题了!
- Linux系统下 安装nginx时出现提示的错误:configure: error: You need a C++ compiler for C++ support.
- 使用PEAR的Services_Twitter包的时候出现错误提示
- 在用虚拟机装linux5的时候出现了“出现错误-未找到要在其中创建新文件系统的有效设备”的提示之后就无法安
- 提示错误:arm-linux-gcc: Command not found
- 我下载了渲云的客户端,但是安装的时候出现了错误提示
- 新手在Linux安装mysql中如何解决出现mysql: unrecognized service的错误提示
- 当用webBrowser1加载网页的时候,网页中出现js错误,会弹出一个提示,如何屏蔽不提示
- 把linux运行的Qt程序移植到windows下出现的错误
- Linux PC和ARM版的QT环境设置及到ARM移植&常见错误解决方法
- 安装交叉编译工具,执行arm-linux-gcc –v命令出现提示找不到该文件或目录?解决方法