-Walloc-size-larger-than= とは?

特定のコードを特定のコンパイルオプションをつけてコンパイルするとこんなのが出る

warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]

例えば NetBSD の src/lib/libc/gen/asysctl.c を -O3 で(というか -O2 -fsplit-paths でも)コンパイルすると出る。
通常は -O2 なので出ない。
“-Walloc-size-larger-than= とは?” の続きを読む

NetBSD 8.0 と 8.1 以降で npf の挙動が違う?

NetBSD/amd64 8.0_STABLE(以下 8.0)
NetBSD/amd64 8.1_STABLE(8.1)
NetBSD/amd64 9.0_BETA(9.0)

こんな感じの、中からの通信はプロトコルを問わないけれど、外からはsshだけ受け付ける npf.conf

$ext_if = "bge0" # or "re0" or ...
$ext_v4 = inet4($ext_if)
group "external" on $ext_if {
        pass stateful out final all # rule (1)
        pass in final proto tcp to $ext_v4 port ssh # rule (2)
}
default {
        pass final on lo0 all
        block all # rule (3)
}

だけど、8.1, 9.0 だと外から ssh で接続できない。
“NetBSD 8.0 と 8.1 以降で npf の挙動が違う?” の続きを読む

Sun Fire T1000


入手したのでメモ。

2005年12月発表・2006年1月から出荷・2010年1月EOL、という時代の製品です。

Sun MicrosystemsがOracleに買われたのとEOLが同時期なので、「Oracleは無関係」な Sun Microsystems 製品と言いたいところですが、最新のファームウェアにすると Copyright が Oracle になります。(どうでもいい)

“Sun Fire T1000” の続きを読む

pkgsrc/www/php-nextcloud などが特定条件下で segmentation fault になる件

条件が揃うと、nextcloud の occ status のような単純な処理でも segmentation fault が発生する。

根が深かったのでメモっておく。

概要
php で mysql と curl の extension が両方あり、mysql 5.7 以降と openssl 1.0系(以前)を組み合わせていると不具合が発生する(場合がある)。

pkgsrc(2019年2月頃~)の mysql のデフォルトは 5.7、NetBSD 8.[01] の openssl は 1.0.2k、なので引っ掛かりやすい(はず)。
(NetBSD 9.0 からは openssl 1.1系になるはず……)
“pkgsrc/www/php-nextcloud などが特定条件下で segmentation fault になる件” の続きを読む

NetBSD/macppc (8.0) で pkgsrc/www/apache24 が作れない問題

/.../libapr-1.so: undefined reference to `__sync_fetch_and_add_8'
/.../libapr-1.so: undefined reference to `__sync_val_compare_and_swap_8'
/.../libapr-1.so: undefined reference to `__sync_lock_test_and_set_8'
/.../libapr-1.so: undefined reference to `__sync_fetch_and_sub_8'
/.../libapr-1.so: undefined reference to `__sync_sub_and_fetch_8'

……というエラーが出る。
“NetBSD/macppc (8.0) で pkgsrc/www/apache24 が作れない問題” の続きを読む

NetBSD/macppc (8.0) を久々に触る

部屋を整理していたら G4 Mac Mini が発掘されたので触ってみた。

既に NetBSD 4.99 が入っていたので 8.0 のカーネルと置き換えてみたが起動せず。
あれこれ弄ってるうちにパーティション壊してしまったので再インストール。

得られた教訓:

  • sysinstやdisklabelで直接パーティションを作ってはいけない(pdiskを使いましょう)
  • Apple_partition_mapを壊されてpdiskのinitializeもできないハマりは dd if=/dev/zero of=ディスク bs=おおきめ count=1 とかで頭の方を潰して再度pdisk
  • hfsutilsはドキュメントに書いてある場所にないのでpkgsrcのバイナリを漁る
  • ofwboot.xcfからINSTALLカーネルは起動するけれどGENERICカーネルは起動しない(最初に起動できなかったのはこれ)
  • ofwboot.elfからだとGENERICカーネルも起動する

しょしんしゃには厳しいけど、しょしんしゃはmacppcとか使わないからいいか。