binary hack

GAS(GNU Assembler)で構造体にアクセスする

環境はWindows7(32bit)&cygwinのgcc/gas(x86)で試した。".struct"で構造体を定義し、その後サイズ(item_length)を算出する。そして".bss"セクションに構造体名(item)でitem_length分メモリーを確保(".space")する。後は、レジスタにitemのアドレスを代入…

OSX(10.9)のclangでx86&ELFなオブジェクトを生成する

Xcode 4.0から標準のコンパイラーがLLVM(clang)になったが、OSX 10.9環境&xcode 5.xを普通に使うと"Mach-O 64-bit object x86_64"なバイナリを生成してしまう。 Linux/GNU界隈でメジャーなELF(Executable and Linkable Format)なオブジェクトの生成したくて…