Tag: crosstool ng

如何减少ELF部分填充?

我使用crosstool-NG创建了一个带有gcc 6.3.0和glibc 2.25的PowerPC工具链。 我有以下测试程序test.c: int main() { return 0; } 我用命令编译它: powerpc-unknown-linux-gnu-gcc -s -Os -o test test.c 最后的二进制文件是66904字节,比预期的要大得多。 节标题如下所示: $ powerpc-unknown-linux-gnu-readelf -S test There are 27 section headers, starting at offset 0x10120: Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 0] NULL 00000000 000000 000000 00 0 0 0 […]

如何在Crosstools-NG中使用candian以跨越本土的方式在arm板上使用gcc?

据我所知,要在armv5板上使用gcc编译可执行文件,同时使用我的x86机器编译该臂本机gcc,我需要这个设置: 配置工具链组件的机器:配置机器:x86_64 机器构建工具链组件:构建机器:x86_64 运行工具链的机器:主机:ARM 机器工具链正在生成以下代码:目标机器:ARM 基于阅读这里的交叉文档,我应该使用跨本机设置,但是当我尝试使用ct-ng menuconfig启用它时,我需要启用: Paths and misc options -> Try features marked as EXPERIMENTAL实验Paths and misc options -> Try features marked as EXPERIMENTAL Toolchain options -> Type (Cross) -> Cross-native (NO CODE!) (EXPERIMENTAL) 但当然Cross-Native不起作用,因为它没有代码。 谷歌搜索带我到这个和这个讨论在邮件列表上说我应该尝试使用加拿大的构建样式,但我有点迷失了什么元组和什么用于Build System和Host System在crosstool-ng的menuconfig ,或者如果这仍然是考虑两个讨论如何超过3年的正确方法。 关于SO的post似乎暗示构建系统和主机系统元组应该是arm-unknown-linux-gnueabi ? 为了清楚起见,我已经能够使用crosstool-ng生成的交叉编译器编译和运行可执行文件,现在我想在armv5系统上安装编译器。 编辑 :所以我刚刚将crosstools-ng生成的普通交叉编译器( arm-unknown-linux-gnueabi )添加到Toolchain options -> General toolchain options -> Host […]