問題タブ [uclibc]
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.
assembly - i386のuClibc syscalls.hの.L__X'%ebx = 1の意味は何ですか
.L_ X'%ebx = 1 の意味を誰が知っていますか? AS doc でこの文の構文が見つかりませんでした。この文は値の割り当てに使用されますか? .L _X'%ebx は有効なシンボル名ではありません。これは、"bpushl .L_ X'%k2, %k2\n\t" を展開するときに特別な変数が発生することを意味すると思います.L _X'%を展開する必要がありますk2、拡張の結果はどうなるか、誰かが私を助けてくれますか、それは私を夢中にさせます、そして私はドキュメントでこれらすべての手がかりを見つけることができません.誰かが私が関連情報を見つけることができる場所を知っているなら、URLまたはドキュメントを教えてください.名前、thx!
spawn - spawn 関数を取得するために config buildroot/uCLibc を修正する方法
mips 用の ucLibc(0.9.33.2) ツールチェーンを生成するために buildroot (2014.02) を使用しようとしましたが、output/build/uclibc-0.9.33.2/ にも output/host フォルダーにも spawn.h およびその他のスポーン関連ファイルが生成されません。 、uCLibc Config.inでUCLIBC_HAS_ADVANCED_REALTIMEとUCLIBC_HAS_REALTIMEがすべて「y」に設定されていることを確認しました./output/build/host-m4-1.4.17でspawn.hも見つけましたが、ツールチェーン。誰かがそれを行う方法を促すのを助けることができますか? ありがとう
c++ - クリーが Objectfile を実行するときに関数 sleep() が機能しないのはなぜですか?
昨日、stackoverflowで質問したのですが、明確に記載していなかったので、質問の仕方を変えて、もしかしたら問題を明確にするかもしれません。まず、klee が提供する get_sign.c の例を変更unistd.h
し、プログラムに含め、次のように関数sleep()
を呼び出してスレッドを一時停止します。
" llvm-gcc
" を使用して get_sign.c をコンパイルし、次に objectfileklee get_sign.o
を実行すると、スレッドが一時停止しません。つまり、sleep()
動作しません。get_sign.o を実行するときに引数を追加すると、このようklee --libc=uclibc get_sign.o
になりますが、残念ながら、スレッドはまだ中断されず、さらに klee はエラーを報告し、
この問題を解決するにはどうすればよいですか? ありがとう!
c - uClibc i386 の backtrace() の置き換え
uClibc を使用して、静的にリンクされた Linux 用の i386 バイナリをコンパイルしています。アドレスのスタック トレースを生成するバックトレースライブラリ関数は使用できません。代わりが必要です。
http://code.metager.de/source/xref/lib/eglibc/libc/sysdeps/i386/backtrace.cとhttps://github.com/hwoarang/uClibc/blob/master-metag/libubacktrace/backtraceの両方.cから関数_Unwind_Backtraceをロードしているようですlibgcc_c.so.1
。ただし、libgcc_so.1
私のツールチェーンでは利用できず、_Unwind_backtraceを直接使用しようとすると、1 フレームのみのスタック トレースが取得されます ( _Unwind_Backtraceを呼び出す関数からの一番上のフレーム) 。
静的にリンクされた i386 Linux 実行可能ファイルのbacktraceまたは_Unwind_Backtraceの代わりに、.so ファイル (.so ファイルなどlibgcc_c.so.1
) をロードせずに uClibc にリンクし、完全なスタック トレース (命令ポインターのみ) を生成できるようにする必要があります。そのような実装はどこで利用できますか?
gcc の参考までに、次の__builtin_return_address
ようなコードが生成されます。
これは、境界チェックや健全性チェックなしで、盲目的にフレーム チェーンを上っていくだけです。それよりも安全なものを使いたい。
gcc -fomit-frame-pointerでコンパイルされた関数では、glibc backtrace(3)でさえフレームが表示されないことに注意してください。これは必要ないと判断しました。
linux - クロス コンパイル エラーでライブラリ 'libc.so.6' を読み込めません
liblog.so
i386 コントローラーで実行される動的ライブラリー ( ) を実装しようとしています。
それをコンパイルすると、ファイルが正常
Host Machine (Ubuntu Machine)
にコンパイルおよび生成されます。ターゲットマシンに配置されるファイルです。.so
liblog.so
/usr/lib
ホストマシンで出力。
ターゲット マシンでの出力:
ターゲット マシン (現在は VMware) に送信すると、実行すると [
はい].\log_client
と表示されます。can't load library 'libc.so.6'
log_client
liblog.so
コンパイル コマンド
生成中liblog.so
../../../../build/i386/buildroot-2011.11/output/host/usr/bin/i686-unknown-linux-uclibc-gcc -c log.c -o liblog.o
../../../../build/i386/buildroot-2011.11/output/host/usr/bin/i686-unknown-linux-uclibc-gcc -Wcast-align -g -W -Wall -L../../../../build/i386/buildroot-2011.11/output/target/usr/lib -lxenomai -lpthread -lrt -shared -o liblog.so liblog.o -rdynamic -lcrypto -lssl
生成中log_client
cp liblog.so ../../../../build/i386/buildroot-2011.11/output/target/usr/lib
../../../../build/i386/buildroot-2011.11/output/host/usr/bin/i686-unknown-linux-uclibc-gcc -Wcast-align -g -W -Wall -c log_client.c
../../../../build/i386/buildroot-2011.11/output/host/usr/bin/i686-unknown-linux-uclibc-gcc -Wcast-align -g -W -Wall -L../../../../build/i386/buildroot-2011.11/output/target/usr/lib -lxenomai -lpthread -lrt -o log_client log_client.o -llog -rdynamic -lcrypto -lssl
動作している他のコードに同じ手順を使用していますが、そのコードはこのカスタマイズされたライブラリ ( liblog.so
) を使用していませんが、警告もありましたが、ここには投稿しませんでした。私を助けてください、私はイライラしています!!
------------編集----------
file
出力
------------更新----------
--sysroot
ファイルのコンパイル中に使用するよう提案された人もいましたが、それでも役に立ちませんでした。同じエラーが出ます。:(
ターゲット マシンの GCC のsysrootsysroot
パスへのパスを入力しました
生成中liblog.so
../../../../build/i386/buildroot-2011.11/output/host/usr/bin/i686-unknown-linux-uclibc-gcc -Wcast-align -g -W -Wall -c log.c -o liblog.o --sysroot=/home/merom/freedcs/build/i386/buildroot-2011.11/output/host/usr/i686-unknown-linux-uclibc/sysroot/
../../../../build/i386/buildroot-2011.11/output/host/usr/bin/i686-unknown-linux-uclibc-gcc -Wcast-align -g -W -Wall -L../../../../build/i386/buildroot-2011.11/output/target/usr/lib -lxenomai -lpthread -lrt -shared -o liblog.so liblog.o -rdynamic -lcrypto -lssl --sysroot=/home/merom/freedcs/build/i386/buildroot-2011.11/output/host/usr/i686-unknown-linux-uclibc/sysroot/
生成中log_client
cp liblog.so ../../../../build/i386/buildroot-2011.11/output/target/usr/lib
../../../../build/i386/buildroot-2011.11/output/host/usr/bin/i686-unknown-linux-uclibc-gcc -Wcast-align -g -W -Wall -c log_client.c --sysroot=/home/merom/freedcs/build/i386/buildroot-2011.11/output/host/usr/i686-unknown-linux-uclibc/sysroot/
../../../../build/i386/buildroot-2011.11/output/host/usr/bin/i686-unknown-linux-uclibc-gcc -Wcast-align -g -W -Wall -L../../../../build/i386/buildroot-2011.11/output/target/usr/lib -lxenomai -lpthread -lrt -o log_client log_client.o -llog -rdynamic -lcrypto -lssl --sysroot=/home/merom/freedcs/build/i386/buildroot-2011.11/output/host/usr/i686-unknown-linux-uclibc/sysroot/
アップデート
objdump の実行後 これが出力です。