アカウント名:
パスワード:
まあ68kでバリバリ非ASCII文字使うことないだろうからまあいいんじゃないっすかね。
strcmp()は2つの機能があって- 文字列の一致不一致の判定- 大小の比較ができるけど、後者にバグがあったってことですね。
バグが出る条件は- m68k- 不一致の文字が非ASCIII文字の場合で、 カーネル内部では大小の比較なんてめったに使わないし、そもそも m68k なんて誰も使ってない。
12年間も誰も気が付かないというか、12年間だれもつかってなかった、ってところでしょうね。
複雑な挙動のテストケース漏れは仕方ないと思うけれど、こんな標準関数レベルですらテストコードが不十分だったんでしょうか。このくらい基本的なテストコードなら、アセンブラでもアーキテクチャ依存でもなく共通で使いまわしができると思うのですが。
このくらい基本的なテストコードなら、アセンブラでもアーキテクチャ依存でもなく共通で使いまわしができると思うのですが。
速度を稼ぐための「(m68k)アーキテクチャ向けに最適化された…アセンブリコード」から、標準のstrcmpを使うように修正した、という話ではないでしょうか。
int strcmp() に対して、明示型キャストなしで char res を return していたのが、to make 'char' be unsigned in the kernel across all architectures(commit 3bc753c06dd0: "kbuild: treat char as always unsigned"). でまずいことに気がつかれた、と読めます。
実装がアセンブリだろうがCだとうが、strcmpをテストするコードはCで汎用的に書けるんだからx86もarmもm68kも同じテストコード使えるでしょ。
であれば、1回まともなテストコードを書いてテストしてたら真っ先に見つけられていたはずでそれすらできてなかったの?ってツッコミでしょ。
後からなら何とでも言えるの典型
標準関数にテストケースが無かったのかなんて、こんな珍事でもなきゃ話題にしようがないだろ
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
吾輩はリファレンスである。名前はまだ無い -- perlの中の人
ソート順がおかしくなるってことね (スコア:0)
まあ68kでバリバリ非ASCII文字使うことないだろうからまあいいんじゃないっすかね。
Re: (スコア:2, すばらしい洞察)
strcmp()は2つの機能があって
- 文字列の一致不一致の判定
- 大小の比較
ができるけど、後者にバグがあったってことですね。
バグが出る条件は
- m68k
- 不一致の文字が非ASCIII文字の場合
で、 カーネル内部では大小の比較なんてめったに使わないし、そもそも m68k なんて誰も使ってない。
12年間も誰も気が付かないというか、12年間だれもつかってなかった、ってところでしょうね。
Re: (スコア:0)
複雑な挙動のテストケース漏れは仕方ないと思うけれど、こんな標準関数レベルですらテストコードが不十分だったんでしょうか。
このくらい基本的なテストコードなら、アセンブラでもアーキテクチャ依存でもなく共通で使いまわしができると思うのですが。
Re: (スコア:2)
このくらい基本的なテストコードなら、アセンブラでもアーキテクチャ依存でもなく共通で使いまわしができると思うのですが。
速度を稼ぐための「(m68k)アーキテクチャ向けに最適化された…アセンブリコード」から、標準のstrcmpを使うように修正した、という話ではないでしょうか。
int strcmp() に対して、明示型キャストなしで char res を return していたのが、to make 'char' be unsigned in the kernel across all architectures(commit 3bc753c06dd0: "kbuild: treat char as always unsigned"). でまずいことに気がつかれた、と読めます。
Re: (スコア:0)
実装がアセンブリだろうがCだとうが、strcmpをテストするコードはCで汎用的に書けるんだからx86もarmもm68kも同じテストコード使えるでしょ。
であれば、1回まともなテストコードを書いてテストしてたら真っ先に見つけられていたはずで
それすらできてなかったの?ってツッコミでしょ。
Re: (スコア:0)
後からなら何とでも言えるの典型
Re:ソート順がおかしくなるってことね (スコア:0)
標準関数にテストケースが無かったのかなんて、こんな珍事でもなきゃ話題にしようがないだろ