初期化していないグローバル変数は自動的に0に初期化されることになっているわけだけど、 このためにBSSという専用のセクションが用意されていて、スタートアップルーチンでクリア処理が走る。 そのため、初期化をしていない変数はせっかく用意した共有用のデータセグメントではなく、 BSSセクションに置かれてしまい共有できないということらしい。
ネタ元
初期化していないグローバル変数は自動的に0に初期化されることになっているわけだけど、 このためにBSSという専用のセクションが用意されていて、スタートアップルーチンでクリア処理が走る。 そのため、初期化をしていない変数はせっかく用意した共有用のデータセグメントではなく、 BSSセクションに置かれてしまい共有できないということらしい。
ネタ元