問題タブ [linaro]
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.
ubuntu-12.04 - Linaro Ubuntu でスタートアップ ペンギンとブート テキストを無効にするにはどうすればよいですか?
Linaro Ubuntu バリアントを実行している Chipsee パネル コンピューターにキオスク スタイルのブートを実装しようとしています。
表示される 4 匹のペンギンと、通常の起動メッセージの長いリストをオフにしたいと考えています。
Grub は存在せず、ブートローダーは U-Boot です。必要がなければ、カーネルを再コンパイルしたくありません。
/boot の linux.config を変更して、カーネル コマンド ラインに quiet と loglevel=3 を追加しようとしました。動作に変更はありません。
どんな助けでも大歓迎です。
gcc - Windows および libwinpthread-1.dll 上の Linaro ARM ベアメタル クロス コンパイラ
Linaro gnu AARCH64 ARM クロス コンパイラ (mingw ベース) の Windows バイナリ ディストリビューションは、ライブラリlibwinpthread-1.dllに依存しています。.\aarch64-elf-gcc.exe --versionを実行すると、次のようなポップアップが表示されます
お使いのコンピューターに libwinpthread-1.dll が見つからないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてみてください。
私の人生では、このライブラリについて、どこで見つけてビルドするかなど、何も見つけられないようです。名前に基づいて、Windows用のpthreadライブラリであることは明らかですが、そうではないかもしれません。クロス コンパイラは、64 ビット ARM ターゲット用の 32 ビット Windows バイナリです。ホストは 64 ビット Windows 10 です。
libwinpthread-1.dll の 32 ビット バージョンはどこにありますか?
gcc - Linaro バージョン vs GCC バージョン
Linaro のバージョンと GCC のバージョンが一致していないことに気付きました。
現在、GCC の現在の安定バージョンは6.2です。
Linaro の現在の安定バージョンは6.1-2016.08 です(Linaro のメイン ページからのリンク)。
ダウンロード可能なLinaro バージョン6.2-2016.11もあります。
Linaro 6.1-2016.08およびLinaro 6.2-2016.11のリリース ノートには、GCC 6 に関する情報とそのリリース ノートへのリンクが含まれています。
それに基づいて、Linaro 6.1-2016.08 と Linaro 6.2-2016.11 はそれぞれ GCC 6.1 と GCC 6.2 に基づいていると予想しました。
しかし、Linaro ビルドの GCC の実際のバージョンは 5.3 であることが判明しました。
Linaro GCC FAQ ページには、それについて何も書かれていません。
linker - ストリップツールの正しい使い方
展開された Linaro GCC 6.2-2016.11ツールチェーンは、約 3.4 GB のディスク領域を占有するため、サイズを小さくしたいと考えています。私のターゲットはarmv7-a+vfpv3+hard_floatなので、必要のないもの ( 、、などld.gold
のライブラリ) は既に削除しましたが、それでもほぼ 1 GB を占めています。Thumb
v8-a
v7ve
strip
そのため、ツールを使用してバイナリから冗長な情報を削除したいと考えています。
私の主な質問は、この場合、ストリップの安全性を正しく効率的に使用する方法ですか?
一般に、ツールチェーンには、適用できるさまざまなバイナリ ファイルがありstrip
ます。*.exe
*.a
*.o
私が判断できるように、ファイル (ig arm-eabi-gcc.exestrip -s
)にのみ適用 (すべてのシンボルを削除)できます。私は正しいですか?*.exe
ライブラリに適用することは可能ですかstrip
(ig libgcc.a )?
私が理解したように(上記の例を参照)、ライブラリ内のシンボルは、さらに処理するために必要になる場合があります。
はいの場合、--strip-debug
代わりに使用する必要がありますか (デバッグ シンボルのみを削除します)?
以下の例は、これらの質問を示し、さらに明らかにします。
次の 3 つのファイルがあるとします。
一般に、各ファイルを個別にコンパイルして、一緒にリンクできるオブジェクト ファイルを取得します。
オブジェクト ファイルを分析すると、予想どおり、do_somethingシンボルがlibgcc_test.oで定義され、 main.oで未定義であることがわかります。
strip -s
両方のファイルまたはmain.oのみに適用してリンクしようとすると、次のように動作します。
しかし、libgcc_test.ostrip -s
のみに適用すると、リンカーはエラー メッセージを生成します。
私が理解しているように、オブジェクトファイルに未解決のシンボルが存在すると、リンカーはそれを解決する必要があります。リンクする前にオブジェクト ファイルからこのシンボルを削除するとどうなりますか?
オブジェクト ファイルをリンクする前にオブジェクト ファイルからシンボルを削除することは正しく安全ですか? はいの場合、どのシンボルを削除できますか?
実際のプロジェクトではstrip -s
、ツールチェーン ライブラリ ( libgcc.a、libc.a、libm.a、librdimon.a"undefined reference to..."
など) に適用すると、リンク段階で同様に多くのメッセージが生成されます。
しかし、--strip-debug
オプションを使用すると、リンカは のようなライブラリに対してメッセージを生成しますskipping incompatible libgcc.a when searching for -lgcc
。ライブラリを元に戻すと、正常にリンクされます。
skipping incompatible...
この場合のメッセージとは何を意味するのでしょうか?
ご協力ありがとう御座います。
android - Android カーネル コンパイル エラー gcc6 linaro 6
Linaro 6 を使用してコンパイルしようとしていますが、GCC 6 と関係があると思われるこのエラーが表示されます。私はカーネルのコンパイルやコーディングに関して非常に素人ですが、同様の用語を検索してもこれを理解できませんでした。
これは私のGitHUBです:
gcc - 奇妙な Linaro mips コンパイラ アセンブリ出力
アセンブリ コードを作成するために、フラグ -S を指定して mipsel-openwrt-linux-uclibc-gcc コンパイラ (Linaro GCC 4.8-2014.04 r49389) を呼び出しています。これにより、次のようなアセンブリ コードが生成されます。
これは、AT&T や Intel の構文とは思えません。より使い慣れた構文を生成するために、-masm=intel フラグを試しましたが、同じ効果が..
私の最初の考えは、生成された ASM コードが mips の固定ワード幅専用であるということでしたが、mipsel-openwrt-linux-uclibc-gcc を介して AT&T または Intel 構文を生成する方法はありますか?
ヒントをありがとう!
cmake - CMake とビルド済みの linaro ツールチェーン: crti.o が見つかりません
cmake と、ここからダウンロードしたプリコンパイル済みの linaro ツールチェーンを使用して、raspberrypi2 用にクロス コンパイルしたい: git clone https://github.com/raspberrypi/tools
プロジェクトで cmake を実行しようとすると、次のエラーが発生します。
このファイルは、次のディレクトリにあります。
私のcmakeツールチェーンファイルは次のようになります
sysroot ディレクトリは、ラズベリー イメージをマウントした場所です。これがラズベリー イメージのルートなのか、linaro ツール チェーンへのパスなのか、少し混乱しています。
ご協力いただきありがとうございます
c++ - ARM Cortex-A9 - __libc_init_array と未定義の命令
Linaro GCC バージョン 6.3.1 を使用して C++ プログラムをコンパイルしています。
Eclipse (Xilinx SDK 2017.1) で命令ごとにデバッグすると、次のように命令アドレス 0x1090d8 で未定義の命令エラーが発生します。
この命令は、メインの前に呼び出される __libc_init_array 関数の一部です。
リンカ フラグ -mthumb および -marm を使用して arm-eabi-g++ を呼び出してみましたが、結果は同じです。私は常に同じ障害を受け取り (場所が異なるにもかかわらず)、メイン関数にジャンプできません。
2 つの Cortex-A9 プロセッサを搭載した Zybo Zynq-7000 を使用しています
ありがとう