トップ «前の日記(2018-01-21) 最新 次の日記(2018-01-23)» 編集

ヨタの日々

2001|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|

2018-01-22 :-)

_ [NetBSD][golang][システムコール]golang システムコール IoctlGetWinsize とか

ローカル

$(GOPATH)/src/github.com/docker/docker/vendor/golang.org/x/sys/unix

リポジトリ

https://github.com/moby/moby/tree/master/vendor/golang.org/x/sys/unix

syscall_netbsd.go や syscall_openbsd.go はあるがメソッド定義は無い。

% cd ~/work/go/src/github.com/docker/docker/vendor/golang.org/x/sys/unix
% grep IoctlGetWinsize *
syscall_darwin.go:func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
syscall_freebsd.go:func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
syscall_linux.go:func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
syscall_solaris.go:func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {

https://github.com/moby/moby/blob/master/vendor/golang.org/x/sys/unix/README.md

これによると

  • ビルドシステムを作り直している最中だよ。現在ビルドシステムは 2 つあるよ。古いビルドシステムと新しいビルドシステムがあるよ。
  • 古いビルドシステム (GOOS != "Linux" || GOARCH == "sparc64")
    • システムにあるヘッダファイル(.h)から go ファイルを生成するよ。でもそれはシステム依存のファイルが生成されるのであまりよろしくないよ
    • 生成するには mkall.sh( $(GOPATH)/go/src/golang.org/x/sys/unix/mkall.sh )を使うよ
  • 新しいビルドシステム (GOOS == "Linux" && GOARCH != "sparc64")
    • docker の仕組みを使うよ(よく分からん)
    • mkall.go を使うよ( $(GOPATH)/src/golang.org/x/sys/unix/linux/mkall.go )。これは Linux のヘッダファイルやライブラリを用いてシステムコール番号やシステムコールの go ファイルを生成するよ
  • syscall_${GOOS}.go は手で書いてるよ

_ [ゆゆゆい]結城友奈は勇者である 花結いのきらめき 誕生日勇者の背景解放した

高嶋友奈と秋原雪花です。ふたりとも背景は同じ。