0

Ubuntu Docker イメージを使用して、arm64 M1 Mac Mini に x86-64 環境をセットアップしました。GCC AArch64 クロス コンパイラやユーザー モード QEMU などの関連ソフトウェアをインストールしました。

SPARC-64 エミュレーションが失敗することを除けば、このセットアップが Linux 用の Windows サブシステム (Ubuntu ディストリビューションも) で機能することはわかっています。しかし、Docker を使用して M1 Mac でこれを行うと、QEMU は次のように報告します。

mmap stack: Cannot allocate memory

プログラムのソースコードは次のとおりです。

#include <stdio.h>

int main(int argc, char *argv[])
{
    printf("Hello World!\n");
    return 0;
}

コマンドでコンパイルしたもの:

aarch64-linux-gnu-gcc \
    -Xlinker -dynamic-linker \
    /usr/aarch64-linux-gnu/lib/ld-linux-aarch64.so.1 \
    hello-world.c -o hello-world

そして、以下で実行:

qemu-aarch64 ./hello-world
4

0 に答える 0