デフォルトでは、Openwrtのクロスコンパイル時にIMG6プラットフォームのmenuconfigでvalgrindを選択できませんが、ARMv7アーキテクチャを実装しているARM Cortex A9コアをベースにしています。このアーキテクチャはvalgrindでサポートされているので、valgrindパッケージのMakefileを少し変更して、menuconfigからパッケージを選択してコンパイル可能にしました。
私はGCC-5.3とuClibc-0.9.33.2を使用しています(これは非常に高価であるため、現在muslに進むことはできません)。
問題はvalgrindのも/bin/true
のために正常に動作していないということです。Openwrtのimg6プラットフォームでValgrindが正しく動作しない
valgrind --leak-check=yes /bin/true
出力:回避策--ignore-range-below=44-13
valgrindのパラメータとして
...
==24113== Invalid read of size 4
==24113== at 0x4000E54: ??? (in /lib/ld-uClibc-0.9.33.2.so)
==24113== Address 0x7d99c9f4 is on thread 1's stack
==24113== 20 bytes below stack pointer
...
==24113== For counts of detected and suppressed errors, rerun with: -v
==24113== ERROR SUMMARY: 64 errors from 4 contexts (suppressed: 0 from 0)