4

OSクラスで取得した単純なオペレーティングシステムコードをコンパイルしようとしています。Ubuntuでは問題なく動作しますが、OSXでコンパイルしたいと思います。発生するエラーは次のとおりです。

[compiling] arch/i386/arch/startup.S ...
arch/i386/arch/startup.S:8:Unknown pseudo-op: .extern
arch/i386/arch/startup.S:8:Rest of line ignored. 1st junk character valued 107 (k).
arch/i386/arch/startup.S:11:Expected comma after segment-name
arch/i386/arch/startup.S:13:Unknown pseudo-op: .global
arch/i386/arch/startup.S:13:Rest of line ignored. 1st junk character valued 97 (a).

これは そのファイルのソースコードであり、ここにmakefileがあります

だから誰かが何をすべきか考えているなら私はそれをいただければ幸いです:)

4

2 に答える 2

5

OS/X を使用してコンパイルしているので、X-Code の古いバージョンのas. これは、少し古い構文に我慢しなければならないことを意味します。この他の回答は、これらの問題のいくつかをカバーしています。

少なくとも、 に置き換える必要があり.globalます.globl.externデフォルトではすべてのシンボルが外部として扱われるため、削除できます。gasセクションの定義については、マニュアルを参照してください。アセンブラは、セクション フラグを定義するように求めていると思います。

于 2012-07-16T14:44:23.077 に答える
1

「.globl」ではなく「.globl」であるべきだと思います

于 2012-11-08T19:04:15.310 に答える