タグ

ブックマーク / mkosaki.blog46.fc2.com (5)

  • 革命の日々! a.out からコンパイラバージョンを取得する方法

    忘れないうちにメモ Linuxで普通に実行ファイルつくると.commentセクションとデバッグインフォメーションの 二箇所にコンパイラのバージョンが入ってる。これはobjdumpやreadelfで観測できる。 なぜこんなテクニックを知る必要があるかというとバグ報告で嘘のコンパイラバージョンを 報告してくる輩はけしてレアではないからである 1つめ。.comment セクションを objdumpで表示 % objdump -s -j .comment a.out a.out: file format elf64-x86-64 Contents of section .comment: 0000 4743433a 2028474e 55292034 2e342e36 GCC: (GNU) 4.4.6 0010 20323031 32303330 35202852 65642048 2012030

    革命の日々! a.out からコンパイラバージョンを取得する方法
  • 革命の日々! __attribute__(alloc_size) を使わないと_FORTIFY_SOURCE を活かせないよ。という話

    _FORTIFY_SOURCEというバッファーオーバーフロー攻撃を防ぐのにとても有用なマクロがある。 知らなかった人は以下のmanでもまず見てください http://linuxjm.sourceforge.jp/html/LDP_man-pages/man7/feature_test_macros.7.html _FORTIFY_SOURCE (glibc 2.3.4 以降) このマクロを定義すると、文字列やメモリの操作を行う様々な関数を 使用する際にバッファオーバーフローを検出するための軽めのチェックが 実行されるようになる。すべてのバッファオーバーフローが検出される わけではなく、あくまでよくある例についてだけである。 現在の実装では、以下の関数にチェックが追加されている: memcpy(3), mempcpy(3), memmove(3), memset(3), stpcpy(3),

  • 革命の日々! transparent hugepage considered harmful

    タイトルは釣りです。はい。 現状、ありとあらゆるDBがTHPをdisableするよう推奨している。これはあんまり良い状況じゃないのでTHPを disabled by default に変えようという提案。 Ted Ts'o はデフォルトがenabledだから、パフォーマンスが良くなるケースが気づきにくいだけだろうと主張。まあ、そうだろうね。KVM hostとかだと anon ばっかりつかうし、guest OSでメモリ制限あるから、hostのreclaimは走らないしで、悪いケースになりにくそう。 Vlastimil Babka はそもそも page faultの延長で、コンパクション始めちゃうのがよくないので、デフォルトは今より less aggressiveであるべきという意見のようだ。 Googlerが今のままがいいと主張していて、エンタープライズ屋さんが変えたいという陣営なのかな。

    革命の日々! transparent hugepage considered harmful
  • 革命の日々! rpm specファイルまわりで、またしてもハマってた話

    もう何百回もやってるはずなのに定期的にハマるのでメモ kernelのspec ファイル書き換えてオレオレカーネルを作るには以下の三箇所を変更する まず、rpm名を書き換えるために6行目ぐらいのbuildidのところ、コメントアウトされてるのを元に戻す 変更元) # % define buildid .local 変更後) %define buildid .mytest ここで罠なのは % と define の後に、スペースを入れるのは許されていないのだが、なぜか 変更元はスペースが入っているのでまんまと騙されることである。 あと、名前は "." で初めておかないと、いろいろと後悔する。 kernel-3.10.0-1.el7.mytest.src.rpm みたいなファイル名になるんだが、ここで "." がないと、前の el7 とくっついてしまう。 次に # empty final patc

    革命の日々! rpm specファイルまわりで、またしてもハマってた話
  • 革命の日々! 2008年06月

    今日は不貞寝もーどの日なので会社をやすんで、Google Developer Dayに参加してきた。 ぶっちゃけ、浜地さんを冷やかすのが目的だったのだが、顔を出した瞬間にこのセッションは事前登録が必要です。と門前払いされる。 な、なんですとー でも、結論からいうと、いろいろなセッションが聞けてよかったかもしれない。 GoogleAPIとか普段まったく使わないからなー その後、河内さん、市川さん、伊藤さん、浜地さんという驚くべき豪華メンツ(ごとむさんは残念ながら断られてしまった)とメシ&酒をする。 一流どころと話をするのはやっぱり楽しい。 ところで、楽勝だと思っていたら沼津に来たら終電だった件について。 田舎、あなどりがたし!!

  • 1