タグ

binutilsに関するsh19910711のブックマーク (3)

  • GCC(binutils)のツールの紹介: nm&c++filt - Boost Your Programming!

    前回の続きでBinutilsのツール群の説明をします。 今回はnmとc++filtを説明します。 これらのツールはどれも前回説明したobjdumpの一部の機能みたいなものです。 ソースコード #include <cstdio> const static int CONST_VALUE = 100; int uninitialized_value; class SuperClass { public: virtual void print(const char *str) = 0; }; class Sub1 : public SuperClass{ public: void print(const char *str){ printf("Sub1: %s\n", str); } }; class Sub2 : public SuperClass{ public: void print(co

    GCC(binutils)のツールの紹介: nm&c++filt - Boost Your Programming!
  • C++ のシンボルをデマングルする - bkブログ

    C++ のシンボルをデマングルする C++ コンパイラはシンボルが一意の名前を持つように名前マングル (name mangling) と呼ばれる処理を行います。記事では GNU の開発環境で C++ のシンボルをデマングル (demangle) する方法を紹介します。 マングルの方法はコンパイラ依存です。同じコンパイラでもバージョンによってマングルの方法が異なることがあります。たとえば GCC 3.x では int foo(int) を _Z3fooi に、 int foo(const char*) を _Z3fooPKc のようにマングルしますが、 GCC 2.95 ではそれぞれ foo__FPCc, foo__Fi となります。 コマンドラインからデマングル C++ のオブジェクトファイルに nm をかけると、デフォルトではマングルされた読みづらい形式でシンボルが出力されます。 %

  • binutils にパッチ投げてみた話 - 兼雑記

    Mach-O バイナリをコード見ながら逆アセンブルする方法が無いってのがずっと困っていました。つまり linux でよくやっている objdump -S みたいなことがやりたかったんですが、 objdump -S は Mach-O に対しては動かないし、 otool -tvV もソースコードは見せてくれないし、っていう。でまぁ一念発起して binutils というか libbfd をいじってみたのでした。 今回はじめて FSF なソフトに patch 投げてみて、まぁ特に著作権の処理とかどのくらい時間かかるもんなのかよくわからなくて、こちらのかた以外にあまり体験談的なのが見つからなかったので、なんか書いていみようかと。 とりあえず適当にパッチ書き。経験上デカいパッチいきなり投げるヤツはうざがられるので、なんか小さめな目標で…ってことで objdump -S を .o に対してだけ動くような

    binutils にパッチ投げてみた話 - 兼雑記
  • 1