gcc, неинициализированные глобальные переменные

Есть ли способ узнать / предупредить, если глобальная переменная не инициализирована gcc?

Я получил его для локальных / атомных переменных «-Униминитизированный»

Нет!
Глобальные и статические переменные инициализируются неявно, если ваш код не делает это явно, как это предусмотрено стандартом C.
Короче говоря, глобальные и статические переменные никогда не остаются неинициализированными.

6.9.2 Определение внешних объектов

Семантика

1 Если объявление идентификатора для объекта имеет область действия файла и инициализатор, объявление является внешним определением для идентификатора.

2 Объявление идентификатора для объекта, имеющего область видимости файла без инициализатора, и без спецификатора classа хранения или со спецификатором classа хранения static, представляет собой предварительное определение. Если единица перевода содержит одно или несколько предварительных определений для идентификатора, а единица перевода не содержит внешнего определения для этого идентификатора, то поведение в точности совпадает с тем, что единица перевода содержит объявление области файла этого идентификатора, причем составной тип как конца блока перевода, причем инициализатор равен 0.

Вышеупомянутые два пункта (из стандарта) гарантируют, что объекты-объекты (глобальные) всегда будут инициализированы.

Нет, потому что gcc автоматически инициализирует все глобальные и статические переменные до «0».