如何在Mac OS X上创建ELF可执行文件?

时间:2016-08-20 23:31:39

标签: macos nasm ld elf

我正在关注本教程:https://littleosbook.github.io/#linking-the-kernel

我在Mac上。我正处于从nasm创建目标文件的位置,我想使用ld将其转换为ELF可执行文件。 Mac上的ld看起来不像它支持ELF格式,但我不想运行带有Ubuntu的虚拟机来执行此链接步骤。

是否可以在Mac上安装GNU ld并将其与Mac ld一起运行?

1 个答案:

答案 0 :(得分:4)

是的,你可以。 ld是GNU binutils的一部分。您可以按如下方式构建和安装它:

wget -nc https://ftp.gnu.org/gnu/binutils/binutils-2.27.tar.gz
tar xzf binutils-2.27.tar.gz
cd binutils-2.27
mkdir build && cd build
../configure --prefix=${HOME}/.local/binutils --target=i386-unknown-linux-gnu
make -j7
make install

将ld安装到~/.local/binutils/bin/ld。如果您需要64位binutils,请使用--target=x86_64-unknown-linux-gnu