ほぼ 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