問題タブ [sparc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bitwise-operators - アセンブリSPARCでビット演算を使用して、アドレスが8の倍数であるかどうかを確認する
アセンブリSparcでビット演算を使用してアドレスが8の倍数であるかどうかを確認するにはどうすればよいですか?
c - SUNSparcでのスタックオーバーフロー
Attack.cをコンパイルして実行すると、server1.cの脆弱性を悪用することができます。
しかし、attack.cはserver2では同じことをしません。なぜですか?
server2.cのアセンブリは次のとおりです。
そしてserver1.cの場合:
server2.cを悪用するには、attack.cで何を変更する必要がありますか?
c - SPARCアセンブリ引数のprintfフォーマット指定子?
この C に相当するものを SPARC アセンブリで取得するにはどうすればよいですか。
関数プロトタイプの使用:
ここで、msg は「こんにちは、私の名前は %s です。\n」です。
最初の引数 msg を使用せずに .asciz を使用してデータ セグメントで "Hello, my name is %s.\n" を定義できることはわかっていますが、% を持つアセンブリ関数に文字列を渡す方法はありますか?その中の識別子?char* はフォーマット識別子を取り込めますか? 以下を試しましたが、コアダンプが発生します。
C での関数呼び出し:
組み立て:
関数プロトタイプに正しくアプローチしていないのでしょうか?
gcc - libiconv solaris-sparc/opteron 64 ビット
私は 64 ビットの solaris - sparc と opteron システムを持っています。/usr/local/lib の下に、両方のシステムの libiconv.so が表示されます。libiconv.so で file コマンドを実行すると、次の出力が得られます。
sparc と opteron の両方のシステムで、既存の 32 ビットに影響を与えずに 64 ビットの libiconv をビルドするにはどうすればよいですか? その理由は、libiconv の既存のバージョンを認識していないからです。
gcc - x86 上の SPARC v8 用にコンパイルされたベンチマークのプロファイリング
私は学術的な演習のために leon3 プロセッサ (命令セットは SPARC v8) に (小さな) 改良を加えようとしています。何を改善するかを決める前に、改善を調整したいいくつかのベンチマーク プログラムのプロファイルを作成したいと思います。
SPARC v8 マシンにアクセスできません。
現在、機能レベルでプロファイリングを行う 'tsim' (leon3 シミュレーター) の評価版を使用しています。これは実際にはそれほど役に立ちません。
ループのアンロールを有効にしてコンパイルし、アセンブリ コード内の興味深い命令をカウントするなどの奇妙なことを試しましたが、gcc はループのアンロールを拒否しました。
理想的には、私が探しているのは、ベンチマークを実行し、それを命令レベルでプロファイリングする SPARC v8 シミュレーターです (「smul」が x 回実行されたようなもの)。もちろん、プロファイラーでなくてもこれを行うことができる他の方法があれば、気にしません。
何か案は?
intel - Intel 上の OpenSolaris で SPARC 実行可能構造を調べるには
elf、SPARC、PA-RISCの実行ファイル構造を調べて比較したい。
調査を実行するために、Intel マシン (Core2Duo) に OpenSolaris をインストールしたいと考えています。しかし、私はそれがまったく機能するのかという基本的な疑問を持っていますか?
SPARCには独自のアセンブリがあることを知っています-それが機能するか、またはまったく有効な考えであるかどうか疑問に思っています。
私はそれらを逆アセンブルするいくつかのプログラムを作成し、ツールの助けを借りてファイル構造を研究することを目指していました。
HP-UX (PA-RISC) でこれらすべてを実行する方法がわかりません。PA-RISC 用のフリー OS を知りません。
erlang - Solaris Sparcのコアダンプでerlangビルドが失敗するのはなぜですか?
(私はすでにこれに対する答えを持っています。私が学んだことを共有し、将来この問題を他の誰かを救うことができるように、私は自分の質問に答えるつもりです)
Solaris 10 Sparcv9でErlangをビルドしようとすると、ビルドが途中で失敗します。
これはなぜですか?Erlangビルドを完了するために何ができますか?
compiler-construction - OpenSPARC T1 プラットフォーム用のクロスコンパイラ?
Linux または Win7 を実行する x86 プロセッサで作業しています。OpenSPARC T1 プラットフォームでいくつかのスタンドアロン アプリケーションを動作させようとしています。説明書には次のように書かれています。
「C サンプル プログラムを簡単に再コンパイルできるように、make スクリプトが含まれています。make は、SunStudio コンパイラを搭載した SPARC マシンで実行する必要があります。」
SunStudio コンパイラが必要なのは理にかなっていますが、これを x86 マシンでも動作させることは可能ですか? それとも、SunStudio コンパイラは SPARC アーキテクチャでのみ動作しますか?
どうもありがとう、マイク
solaris - solaris sparc 9/10 libstdc++ の互換性の問題 (64 ビット)
sparc9 および sparc10 システムに gcc 3.4.6 をインストールしました。sparc10 で共有オブジェクト (sparc9 でビルド) を使用しようとすると、非互換性の問題が発生します。sparc9 システムで同じ共有オブジェクトを使用しても問題はありません。メイクファイルからのスニペット:-
sparc10で次のようになりました:-
上記の出力では、正常に見える他の依存関係をスキップしました。
次に、上記の参照されていないシンボルについて、/usr/local/lib/sparcv9 の libstdc++.so.6 に対して「nm」を実行したところ、次の結論が得られました。
注意深く見ると、sparc9 と sparc10 の修飾名シンボルの違いがわかります... "ExSt12" v/s "ElSt12"。
同様に、sparc10 で myapi.so をビルドすると、V9 と V10 のシンボルの不一致が原因で、sparc9 で失敗します。
私が何かを見逃しているかどうかについて、誰かが私に役立つヒントを教えてもらえますか? または、V9 にパッケージをインストールする必要がありますか。V9 で構築された共有オブジェクトは V10 で動作するはずです。
V9 の libstdc++.so.6 のサイズが V10 と異なることを付け加えておきます。V9 には SMCgcc があり、V10 には SUNWgccruntime と SMCgcc の両方があります。