問題タブ [gnu-toolchain]
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.
gcc - some-prefix-gccとgcc--target= some-prefixの違いは何ですか?
別のバージョンの(新しい)を使用したいのですが、元の実行可能ファイルgcc
を置き換えたくありません。<some-prefix>-gcc
動作をエミュレートするためにどのコンパイラフラグを使用する必要があり<some-prefix>-gcc
ますか?--prefix
ビルド中のフラグについては知って--target
いますが、特定のバージョンのgccをビルドしたくありません。
/my/new/gcc --target=some-prefix
さまざまなツールチェーンでの問題( <some-prefix>-ld
、<some-prefix>-as
)。そのため、自分のバージョンのGCCをフロントエンドとして使用し、元のツールチェーンをバックエンドとして使用したいと思います(実行可能ファイルだけでなく、includes / libsも)。
バックエンドとしてgcc
使用するように指示するのに役立つ追加のフラグはどれですか?<some-prefix>-as
linux - 同じ実行可能ファイルに対して異なるスタック情報を提供するMipおよびmipselツールチェーン
最初に「mips-linux-gnu-gcc-EL」を使用して「exec_sigma」を作成し、次に「mipsel-linux-uclibc-gcc」を使用して「exec_bcm」を作成したテストアプリケーションがあります。
これらの実行可能ファイルのreadelfを実行した後、私は多くの違いを得ました。主に.debug_infoセクションの違いが気になります
elf_sigmaの場合:それは:
[33] .debug_info MIPS_DWARF 00000000 01357b 02fa1e 00 0 0 1
[34] .debug_abbrev MIPS_DWARF 00000000 042f99 0040cd 00 0 0 1
そしてelf_bcmで:それは:
[32] .debug_info MIPS_DWARF 00000000 02329b 0058ba 00 0 0 1
[33] .debug_abbrev MIPS_DWARF 00000000 028b55 000619 00 0 0 1
この違い(サイズの違い)により、アプリケーションでスタックトレースを実行するバグが発生しています。mips-linux-gnu-gcc -ELでは機能しますが、mipsel-linux-uclibc-gccでは機能しません。同じ実行可能ファイルのセクションでこの違いが発生する理由を知りたいのですが、それは正常ですか?
質問を読んでくれてありがとう。
linux-kernel - ARM /DSPLinuxツールチェーンカーネルのセットアップ
FC17 AMD64でホストとして組み込みシステムを開発し、ARM / DSP Omap l138をターゲットにするための環境を設定する必要があるプロジェクトがありますが、
したがって、ホストとターゲット間の開発環境通信をバインドするには、カーネルヘッダーを生成する必要があります。したがって、それはインストールされました:
構築する手順:
問題は何でしょうか?
すべてのコメントと提案は高く評価されています。
android - Android 用のビルド済み GNU ツールチェーンは適切ですか?
現在、Android の NDK のスタンドアロン ツールチェーンを使用していますが、NDK で提供されるライブラリには多くのものが欠けているため、プログラムをクロス コンパイルするのはかなり難しいようです。
私はbinutils
NDK スタンドアロン ツールチェーンを使用してビルドし、すべてコンパイルしました (ただし、バイナリが実際に機能するかどうかをテストしていません) が、GCC
かなり難しくなりました。
Gnash の Web サイトからダウンロードできるツールチェーンと sysroot を見ましたが、パッケージが元の環境から単純にパッケージ化されているため、自分のコンピューターで実行しようとすると動作しませんでした。移植性が非常に悪いです。
Android で何かをビルドするために利用できるビルド済みの GNU ツールチェーンが他にあるかどうか疑問に思っています。
ありがとう!
c++ - コードでカスタム ルールを適用する (C/C++)
g++ は、コードで満たされていない場合にエラーまたは警告メッセージをスローする、事前に定義された一連のルールと制約を検証します。いくつかのツールを使用して、「グローバル変数を明示的に初期化する必要がある」などのルールのカスタムセットのパーサーを作成することは可能ですか (グローバル変数は暗黙的に初期化されることを知っています)、または init という名前の関数が呼び出されました (コンストラクターについては知っていますが、それらを使用したくない)。すばやく簡単なものへのポインタは役に立ちます。
gcc - MIPS ベースの codesourcery ツールチェーンのパラメーターをコンパイルしますか?
WIN 7 マシンに mips32 アーキテクチャ用の codesourcery クロス コンパイル ツールチェーンをインストールしました。最初に、MIPS32 に基づくルーター用の単純な「factorial」バイナリをコンパイルしたいと考えています。インターネットで少し検索したところ、MIPS32 ビッグエンディアンに基づいていることがわかりました。
ルーターの LIB ディレクトリには以下が含まれます。
ld-uClibc.so.0 libc.so.0 libcrypt.so.0 libcrypto.so.0.9.7 libdl.so.0 libm.so.0 libnvram.so libpsi.so libpsixml.so libresolv.so.0 libssl. so.0.9.7 libutil.so.0 libwlbcmcrypto.so libwlbcmshared.so libwlctl.so モジュール
ツールチェーン情報: (ホスト WIN 7 システム上)
次のコンパイルパラメータを試しました:
mips-linux-gnu-gcc -mips32 -muclibc -o factorial factorial.c
MIPSボックスで出力バイナリを実行すると、「ライブラリ 'libgcc_s.so.1'をロードできません」と出力されました。
mips-linux-gnu-gcc -muclibc -mips32 -static-libgcc -s -o factorial factorial.c
出力を実行すると、「sigsegv」が出力されます。
ここで何が問題なのですか?どのコンパイラ パラメータを入力すればよいですか? 私を助けてください。
assembly - LPC2103のARM7はCLZをサポートしていませんか?
私はグーグルを始めて数時間かそこらですが、誰かがこれにすぐに答えてくれたら、プログラミングに戻りたいと思います。これが私のエラーです:
-mcpu = arm7tdmiも試してみました。これは、Coridiumが使用しているボードであるARMmitev.2のコードに使用しているものです。しかし、どうやら彼らのコードにはclz命令が含まれていません。私の質問は、それが機能するべきかということです、そしてそれは私のアセンブラがそれを認識しないということだけですか、それともこのチップは本当にCLZを実装していませんか?
[更新:http ://www.keil.com/dd/chip/3974.htmによると、arm7tdmi-sが正しいアーキテクチャ仕様です]
[さらなる更新:.word 0xe16f0f10
予期された未定義の命令エラーの代わりに手動で命令をコーディングしましたが、データが異常終了しました。変。]
gcc - コンパイル時にツールチェーンの構成を確認する
コンパイル時に (gcc) コンパイラの構成を確認する良い方法はありますか (Makefile 内または C ソース ファイル内から)。使用されているコンパイラがコンパイルされているコードを十分にサポートしているかどうかを確認したいのですが、そうでない場合は、ユーザーにツールチェーンをアップグレードするように求める明確なメッセージを表示して、すぐに失敗するようにしたいと考えています。
ありがとう
ジョン
gcc - 使用している gcc の makefile を作成するために使用される configure オプション/glags を見つける方法は?
いくつかのチップセット メーカーから mips-gcc ツールチェーンのソース コードとバイナリを入手しました。ツールチェーンのソースをビルドしたいのですが、ソースのビルドに使用された構成オプション/フラグがわかりません。これらのオプション フラグを取得する方法はありますか?
gcc - ハード化された GCC を使用する Ubuntu 12.10 64 ビットで DMD が生成する実行可能ファイルのセグメンテーション違反
Ubuntu 12.10 の構成で DMD 2.061 を動作させるのに問題があります。
次のスクリプトを使用して最初にインストールするとき
すべて正常に動作します。
しかし...
次に、いくつかのUbuntu PPAからお気に入りのソフトウェアをインストールした後、突然、コードdmdがセグメンテーション違反を生成します。私は多くの追加の PPA を使用しているため、どの PPA がクラッシュの原因であるかを見つけるのは簡単ではありません。デフォルトの(変更されていない)ユーザーでこれを試しました。
具体的にはコマンド
f.d
含む場所
としてクラッシュします
次に私が試みたのは、dmd で使用されるすべての動的ライブラリの sha1sum を比較し、次に私のプログラムを比較することでした。
私のテレビシステムにデフォルトでインストールされている、追加のPPAがないものに。
それが判明し/usr/lib/x86_64-linux-gnu/libstdc++.so.6
、/lib/x86_64-linux-gnu/libgcc_s.so.1
異なった。
それで、これらのファイルを元のシステムにコピーし、
LD_PRELOAD=libstdc++.so.6:libgcc_s.so.1
しかし...私はまだ同じsegfaultを取得しています...そして、私は迷っています。そうでなければ、一体何がこの問題を引き起こす可能性がありますか? dmd と私のプログラムによって読み取られる (strace によって収集された) ファイルの比較を開始する必要がありますか?
私のシステムは、gcc、g++ とともに他の場所で動作します。したがって、私の構成が DMD から生成されたコードの脆弱性を発見した可能性があることを期待して、これを投稿しています。
最後に、失敗したシステムのコンパイラ バージョンに関するデフォルトを出力します。
そして私の作業中(追加のPPAなしのUbuntu 12.10)
でgdb rdmd
実行すると、次のf.d
ようにクラッシュしgc_init()
ます。
最後に、ソースから dmd をビルドしようとしましたが、同じセグメンテーション違反の結果になりました。