netice 发表于 2015-7-8 22:58:04

关于GCC-4.8.4如何编译CC-A80官方内核3.4.39的方法

之前用GCC-4.8.4编译一直无法编译通过,查论坛发现其他人也遇到同样问题但未解决,于是说说我的方法。
我的编译环境如下:
1.系统Gentoo GNU/Linux (ARM)
2.工具链armv7a-hardfloat-linux-gnueabi-
3.GCC版本GCC-4.8.4

CC-A80官方内核3.4.39
有如下3个问题要解决
1.arch/arm/mach-sunxi/pm/standby/Makefiel 编译参数:-fmin_array_alignment=4-fno_unaligned_access
在GCC-4.8.4中已经不支持。删除这两个参数。
2.arch/arm/mach-sunxi/pm/standby/gen_check_code是X86的二进制执行文件无法在ARM下运行,按Makefile的指令在X86的机上运行后将生成的文件拷到CC-A80对应的文件上,然后注释掉对应的Makefile指令。
3.有一个头文件对两个未定义函数使用了inline修饰,不被GCC-4.8.4支持去掉inline就好,不知是否对性能有影响。另外这个头文件的位置忘记了,编译时看错误提示吧。

以上希望能对大家有帮助

@allen 发表于 2015-7-9 09:11:26

本帖最后由 @allen 于 2015-7-9 09:12 编辑

没有针对于高版本的工具链进行验证和优化。因为一般SDK包都会包含了工具链,而且是4.6版本的,12.04下载下来也是这个版本。

quillan 发表于 2015-7-9 09:53:26




gentoo gnu/linux(ARM)    这个系统上gcc版本默认是4.8.4??

netice 发表于 2015-7-9 15:46:29

quillan 发表于 2015-7-9 09:53 static/image/common/back.gif
gentoo gnu/linux(ARM)    这个系统上gcc版本默认是4.8.4??

是的 目前最新STAGE3的工具链版本是这个

netice 发表于 2015-7-9 15:53:32

@allen 发表于 2015-7-9 09:11 static/image/common/back.gif
没有针对于高版本的工具链进行验证和优化。因为一般SDK包都会包含了工具链,而且是4.6版本的,12.04下载下 ...

gentoo这个系统比较牛,几乎全系统都是用户自己编译,系统软件库自动解决依赖关系,更新都是滚动更新的,软件版本稳定后会被更新成最新稳定版本。为什么不开个Gentoo的板呢。

tianguau 发表于 2015-7-18 21:45:56

我的unbuntu上面的gcc是4.8.4

weety 发表于 2015-10-5 00:18:47

@allen 发表于 2015-7-9 09:11 static/image/common/back.gif
没有针对于高版本的工具链进行验证和优化。因为一般SDK包都会包含了工具链,而且是4.6版本的,12.04下载下 ...

版主,你好,全志能够提供gen_check_code的源代码吗,这样可以在板子上原生编译了。

sunbeyond 发表于 2015-10-6 10:36:04

weety 发表于 2015-10-5 00:18 static/image/common/back.gif
版主,你好,全志能够提供gen_check_code的源代码吗,这样可以在板子上原生编译了。
...

目前是没有的。

weety 发表于 2015-10-6 22:54:03

sunbeyond 发表于 2015-10-6 10:36 static/image/common/back.gif
目前是没有的。

这个程序应该不涉及到全志芯片机密吧,是否可以要求他们提供源代码呢?

weety 发表于 2015-10-10 23:25:57

gen_check_code二进制工具的逆向工程C源码已经搞定,见帖子:http://cubie.cc/forum.php?mod=viewthread&tid=4488&extra=
页: [1] 2
查看完整版本: 关于GCC-4.8.4如何编译CC-A80官方内核3.4.39的方法