2021/06/04 Updated by

Mac ARM64

GCC コンパイラのインストール


[Up] Japanese English

gcc

  1. Xcode をインストールすると、arm64 環境でも x86_64 環境でもそれぞれの gcc コマンドが使えるようになる。実体は clang であるが。



  2. gcc コマンドを使うと、arm64 環境では arm64用の、x86_64環境では x64 のコードが出力される。
  3. C言語のソースコード
    int sample1() {
        return 5;
    }
    
    「ターミナル」上で実行: gccによるアセンブリ言語の出力 (アーキテクチャ別)
    (base) arm64@manet % uname -m 
    arm64
    (base) arm64@manet % gcc -O -S sample1.c 
    (base) arm64@manet % cat sample1.s 
           .section	   __TEXT,__text,regular,pure_instructions
           .build_version macos, 12, 0	sdk_version 12, 3
           .globl	      _sample1                        ; -- Begin function sample1
           .p2align	      2
    _sample1:                               ; @sample1
    					.cfi_startproc
    ; %bb.0:
      mov	w0, #5
      ret
      .cfi_endproc
                                            ; -- End function
    .subsections_via_symbols
    (base) arm64@manet % arch -x86_64 /bin/zsh 
    Restored session: 2022年 5月31日 火曜日 17時01分34秒 JST
    (base) x86_64@manet % uname -m 
    x86_64
    (base) x86_64@manet % gcc -O -S sample1.c 
    (base) x86_64@manet % cat sample1.s 
           .section	    __TEXT,__text,regular,pure_instructions
           .build_version macos, 12, 0	sdk_version 12, 3
           .globl	      _sample1                        ## -- Begin function sample1
           .p2align	      4, 0x90
    _sample1:                               ## @sample1
    					.cfi_startproc
    ## %bb.0:
       pushq	%rbp
       .cfi_def_cfa_offset 16
       .cfi_offset %rbp, -16
       movq	       %rsp, %rbp
       .cfi_def_cfa_register %rbp
       movl			 $5, %eax
       popq			 %rbp
       retq
       .cfi_endproc
                                            ## -- End function
    .subsections_via_symbols
    
    
  4. gcc コマンドを実行した時に "xrun: error: invalid active developper path" というエラーがでるようになった場合の対処方法。 このエラーは、Xcode をアップデートしたために現在のバージョンに対応するコマンドラインツールがインストールされていない状況になったことが原因である。 そのため、「ターミナル」上で "xcode-select --install" とタイプして、 コマンドライン開発者ツールをインストールすればよい。
  5. 「ターミナル」上で実行: gcc コマンドによる xrun エラー
    (base) arm64@manet % gcc -S -O sample.c 
    xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
    
    「ターミナル」上で実行: Xcode コマンドラインツールのインストール
    (base) arm64@manet % xcode-select --install 
    xcode-select: note: install requested for command line developer tools
    









    表示される残り時間は頻繁に変わる。ときどき、大きな数字が表示されることもあるが、普通のネットワーク環境では1時間もかからずにインストールが終了するので、しばらく放っておくとよい。 もしも本当にインストールがいつまでも終わらなければ、まともなネットワーク環境に移動してインストールすること。