問題タブ [bpf]
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 - eBPF: テール コール
tail calls
の機能で遊んでいますがBPF
、単純なコードが読み込まれていないようです:
だから私はそれをコンパイルしてllv-3.8
ロードしましたbpftool
:
したがって、次のようman 2 bpf
に述べています。
この小さな単純なプログラムの何が問題なのかわかりません。また、llvm-objdump
失敗します:
更新 1
Qeole のアドバイスに従って にアップグレードしclang-5.0
、プログラムを再構築しましたが、今では別の方法で文句を言います:
これで、ELF セクションを調査できます。
使用可能なセクションは次のとおりです。
bpftool
セクションが見つからないように見えます.eh_frame
か?
更新 2
私は実験を続けます:-) まず、libbpf
最新のコミットd77be68955475fc2321e73fe006240248f2f8fef
修正文字列比較で更新し、次にプログラムを再構築します-fno-asynchronous-unwind-tables
。これにはセクションは含まれません.eh_frame
。また、sockops0、sockops1 などの一意のセクション名を付けました。今はbpftool prog load ..
成功しますが、bpftool prog show
ダンプのみです。単一のプログラムで、最初に実行されるプログラムです。私の場合は bpf1() です。
現時点では、bpf_object__load_progs() が obj->nr_programs を 4 と報告していると言えますが、これは私の例では理にかなっています。