問題タブ [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.
c - Sparc 手続き呼び出し規約
Sparc で「インライン」アセンブリ プログラミングを行いたいのですが、レジスタを渡す方法を考えています。
小さな例で私の問題を説明するのが最善です
値aとbが追加されるように、どのレジスタを使用する必要があるか知っている人はいますか? 最後に、アセンブリ ルーチンに続く最後の printf ステートメントで結果が出力されるように、どのレジスタを rd に指定する必要がありますか。
いくつかの入力をありがとう!
assembly - 逆アセンブルされた gcc 出力は、「call function-offset」ではなく「call 0」を実行しているように見えますが、正しく機能します
この C プログラムから取得した非常に単純な SPARC アセンブリ出力を見てみました。
セクション .text の分解:
「call」命令が次のように言う理由がわかりません。
そうでない理由:
プログラムは正常に動作しますが、この出力はあまり意味がありません。なぜこのように処理されるのか、何か提案はありますか?
ありがとう
svn - サブバージョン 1.6.12 のビルド - make: *** [subversion/libsvn_subr/libsvn_subr-1.la] エラー 1 - Solaris 10 Sparc
Solaris 5.10 SPARC プラットフォームでソースから Subversion 1.6.12 をコンパイルしようとすると、次のようになります。このマシンには svn クライアント プログラムだけが必要なので、Apache、Neon、または Swig は必要ありません。
私の設定:
$ ./configure --without-berkeley-db --with-zlib=/usr --without-sasl --disable-nls --with-apr=/usr/local/apr --with-apr-util=/ usr/local/apr --without-apxs --without-swig --without-neon --with-ssl --prefix=/var/tmp/subversion/svn
$メイク
cd subversion/libsvn_subr && /bin/bash /var/tmp/subversion/subversion-1.6.12/libtool --tag=CC --silent --mode=link gcc -g -O2 -g -O2 -L/usr/ local/lib -L/usr/lib -rpath /var/tmp/subversion/svn/lib -o libsvn_subr-1.la atomic.lo auth.lo cache-inprocess.lo cache-memcache.lo cache.lo チェックサム。 lo cmdline.lo compat.lo config.lo config_auth.lo config_file.lo co nfig_win.lo constructors.lo ctype.lo date.lo deprecated.lo dirent_uri.lo dso.lo error.lo hash.lo io.lo iter.lo kitchensi nk.lo lock.lo log.lo macos_keychain.lo md5.lo mergeinfo.lo nls.lo opt.lo path.lo pool.lo prompt.lo properties.lo quoprin t.lo sha1.lo simple_providers.lo skel.lo sorts.lo sqlite.lo ssl_client_cert_providers.lo ssl_client_cert_pw_providers.lo ssl_server_trust_providers.lo stream.lo subst.lo svn_base64.lo svn_string.lo target.lo time.lo ユーザー。lo username_provide rs.lo utf.lo utf_validate.lo validate.lo version.lo win32_crashrpt.lo win32_crypto.lo win32_xlate.lo xml.lo /usr/local/a pr/lib/libaprutil-1.la -lgdbm -ldb-4.2 -lexpat -liconv /usr/local/apr/lib/libapr-1.la -luuid -lsendfile -lrt -lsocket -lnsl -lpthread -lz -lsqlite3 -lsocket make: *** [subversion/libsvn_subr/libsvn_subr-1. la] エラー 1
subversion/libsvn_subr/libsvn_subr-1.la が存在しないようです。
$ ls subversion/libsvn_subr/libsvn_subr-1.la subversion/libsvn_subr/libsvn_subr-1.la: そのようなファイルまたはディレクトリはありません
手がかりはありますか?大変助かります。:)
java - Windows Intel と Solaris Sparc での Java の実行 (T1000)
こんにちは、Solaris Sparc で Java アプリケーションをテストしようとしていますが、奇妙な動作が発生しています。私は炎の戦争を探しているわけではありません。何が起こっているのか、何が間違っているのか知りたいだけです...
Intel と T1000 で同じ JAR を実行していますが、Windows マシンでは 100% (パフォーマンス モニター) の CPU 使用率を得ることができますが、Solaris マシンでは 25% (prstat) しか得られません。
このアプリケーションは、netty をネットワーク フレームワークとして使用する、私が作成したカスタム サーバー アプリです。
Windows マシンでは、完全なビジネス ロジックと外部のサード パーティへのアクセスを含め、毎秒 200 を超えるリクエスト/レスポンスに到達できます。一方、Solaris マシンでは、わずか 25% の CPU で約 150 のリクエスト/レスポンスを取得します。
Sparc をフルパワーで使用させることができれば、Sparc からさらに多くの要求/応答を取得できることは想像に難くありません。
サーバーは...
Windows 2003 SP2 x64 ビット、8GB、2.39Ghz Intel 4 コア Solaris 10.5 64 ビット、8GB、1Ghz 6 コア
どちらもそれぞれjdk 1.6u21を使用しています。
何か案は?
jit - SPARC アーキテクチャは、ハイエンド サーバーの JIT コンパイラ ターゲットとして依然として適切ですか?
X86 と AMD64 は、多くのコンピューティング環境 (デスクトップ、サーバー、およびスーパーコンピューター) にとって最も重要なアーキテクチャです。明らかに、JIT コンパイラーは、受け入れられるために両方をサポートする必要があります。
最近まで、特にハイエンド サーバー市場では、SPARC アーキテクチャがコンパイラの論理的な次のステップでした。しかし、太陽が死んだ今、物事ははっきりしていません。
オラクルはあまり関心を持っていないようで、一部の大規模プロジェクトではそのアーキテクチャのサポートを中止しています (Ubuntu など)。しかし一方で、最近のプロセッサをオープンソースにすることを目的とした OpenSPARC イニシアチブは非常に有望であり、近い将来、多くのメーカーが SPARC を無料で実装して使用できるようになることを意味します。
では、JIT コンパイラーの次のターゲット・アーキテクチャーとして、やはり SPARC は適切な選択でしょうか? それとも、別のもの (POWER、ARM、MIPS など) を選択した方がよいでしょうか?
gcc - さまざまなSPARCプロセッサ用にgccによって事前定義されているマクロは何ですか?
さまざまなSPARCプロセッサで実行されているGCCコンパイラによって、Cプログラム用に事前定義されているマクロ。OSはLinuxです。
では、コンパイル時にUltraSPARC、SuperSPARC、Niagara、SPARC64などをどのように区別できますか。
ありがとう
gcc - ビットごとの AND (SPARC アセンブリ) を実行するときの再配置オーバーフロー?
最上位ビット (0 から数えるとたまたまビット 16) を削除するためのビットマスクとして、レジスタでビットごとの AND を実行しようとしています。ただし、gcc を使用してコードをコンパイルしようとすると、次のエラー メッセージが表示されます。
アセンブラー メッセージ: 19: エラー: 再配置オーバーフロー
私の推測では、これは適用しているビット マスクのサイズと関係があると思われます。これは、小さな数値を含む 2 つのレジスタで AND を実行すると、同じエラーが発生しないためです。コード自体は次のようになります。
誰かがこの問題を解決する方法についての洞察を提供できれば、それは非常に高く評価されます.
ありがとう、
悪いパンダ
c - Oracle 10g 64 ビットを使用して PROC アプリケーションを構築する際の問題
Solaris SPARC プラットフォームで Oracle 10g 64 ビットを使用して、32 ビット モードでPRO* Cアプリケーションを構築しようとしています。
正常にコンパイルして実行可能ファイルを作成するには、どのような設定を行う必要があるか教えてもらえますか?
現在、を切り替えるとLD_LIBRARY_PATH=$ORACLE_HOME/lib32
、proc が次のエラーで失敗します。
##ld.so.1: proc: 致命的: /opt/oracle/product/10.2.0.4/lib32/libclntsh.so.10.1: 間違った ELF クラス: ELFCLASS32
どんな助けでも大歓迎です。
multithreading - g++ を使用して 64 ビット Solaris sparc でスレッド ローカル ストレージ (TLS) をコンパイルする方法
スレッド ローカル ストレージに __thread キーワードを使用する C/C++ コードがありますが、64 ビット Solaris Sparc で g++ (バージョン 4.0.2) を使用してコンパイルするのに問題がありますが、Linux では g++ を使用してコンパイルおよび実行できます。 34コンパイラ。ソースコードの例を次に示します。
「g++ -dumpversion」コマンドからのコンパイラ情報は「4.0.2」を返し、「g++ -dumpmachine」は「sparc-sun-solaris2.8」を示します。「uname -a」は「SunOS devsol1 5.9 Generic_118558-26 sun4u sparc SUNW,UltraAX-i2」を表示します。
g ++でmakeを実行している間のエラーメッセージは次のとおりです:「エラー:このターゲットではスレッドローカルストレージはサポートされていません」、使用しているコンパイラオプションは
私は週末にこれに苦労しており、締め切りに直面しているため、どんな助けも大歓迎です.
ありがとう、チャールズ
compiler-construction - SPARCアセンブリでセグメンテーション違反をデバッグするための最良の方法は何ですか?
私はsparcコンパイラを書いています。テストケースの1つは、コマンドラインから正常に実行すると正常に機能しますが、出力をファイルにリダイレクトするとsegfaultが発生します。
GDBを使ってみましたが、組み立てが難しいです。どのアセンブリラインがセグメンテーション違反を引き起こしているのかという単純なものをどのように把握できますか?