タグ

programmingとgccに関するmitsuki_engawaのブックマーク (5)

  • PTR_DEMANGLE/PTR_MANGLEの使い方の例 - Tociyuki::Diary

    ほぼ 2 年前ほどから利用できるようになった glibc の関数ポインタをビット排他的論理和で暗号化する C プリプロセッサ・マクロ PTR_DEMANGLE/PTR_MANGLE の使い方の例をメモです。 マクロは sysdep.h で定義されていました。 ⇒ PTR_MANGLE file:\.h$ - Google Code Search glibc-2.4/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h 296: # ifdef __ASSEMBLER__ # define PTR_MANGLE(reg, tmpreg) \ ld tmpreg,POINTER_GUARD(r13); \ xor reg,tmpreg,reg 使い方の例は、gconv_db.c がわかりやすい。 ⇒ glibc-20061225/iconv/gc

    PTR_DEMANGLE/PTR_MANGLEの使い方の例 - Tociyuki::Diary
    mitsuki_engawa
    mitsuki_engawa 2007/03/05
    ポインタを直接使えないようにするアレ。
  • ComputerArchitectureSeries - Wataru's Japanese repository

    コンピュータ・アーキテクチャシリーズ (Computer Architecture Series) Oversea Publishing が刊行する西田 亙の連作。 既刊書 GNU開発ツール (GNU Development Tools) -- 2006年8月30日 初版第一刷出版 背景と目的 私が初めてコンピュータに触れたのは、1980年春のことでした。当時は、外部記憶装置が極めて高価な時代であり、一般的なマイコン(my computer)にはハードディスクはもちろん、フロッピーディスクすら接続されていませんでした。標準で提供されていた唯一の入出力装置は、カセットテープであり、毎秒60バイトという気が遠くなるほど緩慢な時の流れの中で、プログラムのSAVE/LOADが行われていました。8ビットCPUのクロックは4MHz、標準搭載RAMは16Kバイトでしたから、現在のパソコンと比較すると、ク

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • GNU Software Service from SRA

    (C) 1999, 2000, 2001, 2002, 2003, 2006 SRA (Software Research Associates, Inc.) Wingnut チーム

    mitsuki_engawa
    mitsuki_engawa 2005/11/15
    gcc、binutils関連の文書
  • 普通のやつらの下を行け: assert_caller() - bkブログ

    普通のやつらの下を行け: assert_caller() 以前に、低レベルプログラミングを愛好する知人が「普通のやつらの下を行け」を口癖にしていました。当時は何を言っているのかと聞き流していましたが、自分も最近になってようやく低レベルプログラミングのおもしろさがわかってきました。今回は「普通のやつらの下を行け」企画の第一弾として assert_caller() なるものを作ってみたいと思います。 assert_caller() とは assert_caller() とは、特定の関数からの関数呼び出しだけを通すためのアサーションです。たとえば、次のように foo() の先頭で assert_caller(main) と書いた場合、 foo() は main() からしか呼び出せなくなります。他の関数から foo() を呼び出した場合はエラーメッセージとともに異常終了します。 void foo

    mitsuki_engawa
    mitsuki_engawa 2005/10/24
    低レベルな話。関数の長ささえ分かれば、大抵の環境で可能は可能なんだけどなあ。
  • 1