Linux

mapped-check - mmapされているかを確認する

目的 ある領域がmmapされているか(アクセスしてもSEGVが起きないか)を、ユーザ空間からチェックしたい。 mincoreシステムコール(ある領域にDDRが割り当てられているかをチェックする)を使って実現できないか? 結果 mmapの有無は、以下のロジックで判定…

tiny_printf - 小さいprintf()を作る

目的 組込み用途などで、footprintが小さいprintf関数が欲しい。 ライセンスを気にしなくて良いように、縛りがゆるいものが良い。 結果 printf()の仕様の勉強を兼ねて、自作した。パブリックドメインにするので、扱いはなんでも可。 サイズ縮小のために、一…

hello-minimum - libcを使わずに hello world

目的 BINARY HACKS "HACK #26, glibcを使わないで Hello World を書く" のARM版を作りたい。 できるならサイズはとことん削りたい。 結果 ARM命令版で174バイト、Thumb-2命令版で154バイトの Hello World を作った。ポイントは以下: system call を直接呼出…

fifo-nonwait - FIFO をプロセス間の同期目的で使いたい

目的 Linux上のプロセスの同期待合せ処理として、処理がシンプルなFIFO(名前付きパイプ)を使いたい。 やりたいことは、μuITRONのイベントフラグ相当の処理。 外部仕様を書くと、 書込み側はいつでも書き込め、読み出し側のopenを待たずに次の処理を続ける …

tiny_printf - 小さいprintf()を作る

目的 組込み用途などで、footprintが小さいprintf関数が欲しい。 ライセンスを気にしなくて良いように、縛りがゆるいものが良い。 結果 printf()の仕様の勉強を兼ねて、自作した。パブリックドメインにするので、扱いはなんでも可。 サイズ縮小のために、一…