タグ

gccとlinuxに関するkotakのブックマーク (4)

  • Linux の共有ライブラリの挙動について - daily dayflower

    前フリが長くなったので基礎的な部分は独立した article にしました。でも基礎的な内容だけに間違いが多そうです。ご指摘お願いします。 下記に「Hack#??」と書いてあるものはすべて Binary Hacks の Hack です。書籍をお持ちの方はそちらをご参照ください。 基礎 まず用語定義を引用しておきます。 シンボル(symbol) 一般的には記号を意味するが,Binary Hacks の文脈では,リンカが関数や変数を識別するときに用いる名前のことを指す。 Binary Hacks - Hack#6 (強調部は dayflower による) さて,共有ライブラリを利用する際の挙動について「Hack#6 静的ライブラリと共有ライブラリ」から抜粋します。 ここでのポイントは,共有ライブラリ単位で処理が行われるということと,リンクする時には必要としている共有ライブラリの SONAME だ

    Linux の共有ライブラリの挙動について - daily dayflower
    kotak
    kotak 2014/04/08
    共有ライブラリのグローバルな関数名(シンボル名)の探索順について。共有ライブラリをC言語で書く場合、同名のグローバルな関数があるとシンボルが衝突する可能性がある。
  • [Debug] LD_PRELOAD, dlsym, GCC拡張機能によって共有ライブラリの関数の呼出し前後で任意の処理を実行する - th0x4c 備忘録

    環境変数 LD_PRELOAD に共有ライブラリを指定すると、そのライブラリがすべてのライブラリに先立ってロードされる。 これを利用して通常ロードしている共有ライブラリ内の関数を置き換えることができる。(参考: man ld.so) dlsym(3) は、シンボル名の文字列を引数に取り、そのシンボルのアドレスを返す。 これを利用して、関数のアドレスを得ることができる。(参考: man dlsym) GCC 拡張 __attribute__((constructor)), __attribute__((deconstructor)) GCC 拡張で __attribute__ キーワードと共に関数の属性(attribute)を指定することができる。(参考: info gcc –> “C Extensions” –> “Function Attributes”) constructor 属性が

    kotak
    kotak 2014/04/08
    共有ライブライの関数をフックする方法
  • 革命の日々! Cross compilers available on kernel.org

    ふーん Date: Thu, 25 Nov 2010 11:02:04 +1100 From: Tony Breeds To: Linux Kernel ML Cc: Mikael Pettersson , Rabin Vincent , =?utf-8?B?TcOlbnMgUnVsbGfDpXJk?= , linux-arm-kernel@lists.infradead.org Subject: Cross compilers available on kernel.org Hi All, I've just added 4.4.5 and 4.5.1 hosted on i686 and x86_64 to: http://kernel.org/pub/tools/crosstool/files/bin/ These compilers do not have libc support

    kotak
    kotak 2010/11/26
    どうしてもカーネル*だけ*のコンパイルしたいときに?
  • バックナンバー – おくvillage

    このURLのページは表示することが出来ませんでした。 IQサーバー

    kotak
    kotak 2009/11/25
    test
  • 1