ダウンロード 下記リンクから Ubuntu ARM のイメージファイルと UTM をダウンロードする: Ubuntu : https://cdimage.ubuntu.com/jammy/daily-live/current/ UTM : https://mac.getutm.app 仮想マシンの作成 UTM を起動 “仮想化"を選択 “Linux"を選択 ダウンロードしたイメージファイルを選択 メモリ・コア数を選択 メモリは最低 4096MB (8192MB 以上あるとより快適) コア数は最低 4 ストレージのサイズを選択 最低 40GB ほど確保する 共有するディレク …
Read MoreFor 1package main 2 3import ( 4 "fmt", 5) 6 7func main() { 8 // basic for 9 sum := 1 10 for i:=1; i<10; i++ { 11 sum += sum 12 } 13 14 // init and post is optional 15 sum := 1 16 for ; sum < 100; { 17 sum += sum 18 } 19 // semicolon can be omitted, this is go's while 20 sum := 1 21 for sum < 1000 { …
Read MoreVim では特殊文字を入力する方法が 2 つ用意されている: <C-v> : キーコードを指定する方法 <C-k> : digraph で指定する方法 <C-v>を使う方法 <C-v>{dec} : 10 進数decで表される文字の入力 <C-v>u{hex} : 16 進数hexで表される文字の入力 <C-v>{nondigit} : nondigitで表される文字の入力 Example: <C-v>065 : “A"の入力 <C-v>u00bf : “¿“ …
Read Morefind, sed, xargsを用いた一括リネーム find, sed, xargsの基本的なオプションのみを使った有用な使い方について備忘録がてら残しておくことにする。 find で対象ファイルを絞り込み 1find . -name "litmus_hit_*" glob 検索を行う。必要に応じて-maxdepthオプションを使う。 sed でリネーム後の名前を生成 1find . -name "litmus_hit*" | sed -r "p;s/litmus_hit_([0-9]*).c/hit_litmus_\1.c/" キャプチャした文字列の参照は$1などではなく\1。 正 …
Read More以下で ASLR が有効かどうか確認する。 1cat /proc/sys/kernel/randomize_va_space この値の詳細は以下。 Normally you might expect a value of 0 (disabled), or 1 (enabled). In the case of the randomize_va_space setting, this is true as well. When setting the value to 1, address space is randomized. This includes the positions of the stack itself, …
Read MoreIntel Pin を用いて投機実行のシミュレーションを行うプログラムのデバグの話。 投機実行のシミュレーション中は本来実行されない path が実行されるので、適宜シグナルの処理が必要。 すなわち、例えば SIGSEGV の場合、シミュレーション中に SIGSEGV が発生したらそれを抑え込む必要がある。 実際に SIGSEGV(に限らず他のシグナルも)が発生した場合には、そのシグナルを抑え込んだ上でシミュレーションを中断する処理を入れている。 問題になるのは、Pintool(シミュレートするプログラム)が何らかのバグで SIGSEGV を発生させ、落ちる場合である。 この時、発生する SIGSEGV は 2 種類ある。それは: …
Read Moreデバッグ情報が読めない問題に当たっていたが以下の様にDEBGU=1をつけてコンパイルするとデバッグ情報つきでコンパイルできる。 この情報はマニュアルには載っていない。 1make DEBGU=1 あとは公式マニュアル通りに gdb でアタッチすれば良い。 References Pin Manual : https://software.intel.com/sites/landingpage/pintool/docs/98579/Pin/doc/html/index.html
Read MoreDECAF: https://github.com/decaf-project/DECAF DECAFをビルドする時のメモをここに残す. 手順はレポジトリのWikiを参照. make 1./configure 2make のmakeでこける. どうやら内部のpythonスクリプトがpython2.5以下の書き方をしていることに由来しているっぽい. 自分の環境に入っているpython2系はpython2.7. 2.5以下との互換性はない. とるべき道は2つ.pythonスクリプトを書き換えるか,python2.5以下を入れるか. とりあえずsyntax errorが出ているのでpythonスクリプトを変更してみる. syntax …
Read More1hugo server 上記のコマンドでサーバーを立ち上げたときに,以下のWarningが出ることがある. 1WARN 2022/04/17 10:43:50 found no layout file for "HTML" for kind "home": You should create a template file which matches Hugo Layouts Lookup Rules for this combination. themeのsubmoduleが初期化されてないことが原因なので,以下のコマンドで初期化して解決. 1git submodule update -i
Read MoreC++ Tips ビャーネ・ストラウストラップによる「プログラミング言語C++」を読んで得た,役に立つかわからない知見を保存していく. 随時更新の予定. Type 以下は実は定義: 1sizeof(char) == 1 Pointer, Array, Reference ポインタの参照外しの亜種(決して変な真似はしないように): 1a[j] == *(&a[0] + j) == *(a+j) == *(j+a) == j[a] 参照崩壊(左辺参照は常に勝つ):(以下は本文から引用) 1using rr_i = int&&; 2using lr_i = int&; 3using rr_rr_i = …
Read More