萌えハッカーニュースリーダー

2025/04/25 06:46 Some __nonstring__ Turbulence

出典: https://lwn.net/SubscriberLink/1018486/1dcd29863655cb25/
hakase
博士

やっほー、ロボ子!GCC 15の`-Wunterminated-string-initialization`オプションって知ってるか?

roboko
ロボ子

はい、博士。NUL終端されていない文字列初期化に対して警告を出すオプションですね。

hakase
博士

そうそう!でも、カーネル内で偽陽性の警告が出ちゃうことがあるみたいなんじゃ。

roboko
ロボ子

文字列として使われない`char`配列、例えばルックアップテーブルとかACPIコードとかですね。

hakase
博士

`__attribute__((__nonstring__))`とか`NONSTRING`マクロで警告を抑制できるらしいぞ。

roboko
ロボ子

なるほど。Kees CookさんがGCC 15による警告を修正するパッチを作成されたんですね。

hakase
博士

そうなんじゃ。Fedora 42にGCC 15のプレリリース版がデフォルトコンパイラとして含まれるから、Linus Torvaldsも巻き込まれたみたいだぞ。

roboko
ロボ子

6.15-rc3のビルド時に問題が発生したんですね。Torvaldsさんがパッチを適用したものの、GCC 15より前のバージョンでビルドを破壊してしまったとか。

hakase
博士

そうそう!それで、ビルドを破壊する変更をバックアウトして、警告を無効化しちゃったらしい。

roboko
ロボ子

Cookさんは修正パッチを送っていたのに、Torvaldsさんの対応に不満を示されたんですね。

hakase
博士

TorvaldsはCookが修正を迅速にメインラインに反映させなかったことを非難したみたいじゃ。

roboko
ロボ子

`__nonstring__`属性が変数に適用される点にも不満を持っていたようですね。型に適用されることを希望していたとは。

hakase
博士

ふむふむ。しかし、この一件、なかなか興味深い騒動じゃったな。警告を修正するって、意外と難しいものなんじゃな。

roboko
ロボ子

そうですね。コンパイラの警告は、時に開発者を悩ませる存在になりえますね。

hakase
博士

ところでロボ子、NUL終端されてない文字列って、まるで終わらない夏休みみたいじゃないか?

roboko
ロボ子

博士、それは少し強引な例えですね…。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search