Здравствуйте!
У меня сложилась довольно забавная ситуация:
Программа выдаёт segmentation fault если её скомпилить с флагами оптимизации,
а при -O0 всё нормально.
Долгое отслеживание вставкой printf'ов показало, что падение происходит при
выходе из функции (т.е. printf перед return'ом проходит, а сразу после вызова этой
функции -- нет).
valgrind показывает (при -O0, иначе не доходит) несколько "Conditional jump
or move depends on uninitialised value(s)", но уже ПОСЛЕ этого фрагмента.
Кстати особенно в одном месте я абсолютно уверен, что переменная всё же
инициализируется, потому что код выглядит так:
int res=0;
dizcrossflags_t crossed_flags;
dizcrossflags_t av_crossed_flags;
do
{
....
}
while (queue);
if (res) res=DIZ_EVENTHANDLER_ERROR;
valgrind утвеждает что в последней строке этого фрагмента имеет место
использование неинициализированной переменной. Но res очевидно всё же
инициализирован выше, а DIZ_EVENTHANDLER_ERROR, это макрос -- число.
Вообще valgrind также показывает ну, очень много "Conditional jump or move
depends on uninitialised value(s)" в модуле /usr/lib/libGLcore.so.1.0.7174, т.е.
драйверах OpenGL от NVidia. Как бы его заставить игнорировать их..
Так вот, неужели я смог-таки написать правильный код, который
не компилится gcc правильно с оптимизацией?
Ответ на:
комментарий
от JavaHarlal

Ответ на:
комментарий
от unDEFER

Ответ на:
комментарий
от ebersen

Ответ на:
комментарий
от unDEFER

Ответ на:
комментарий
от aton

Ответ на:
комментарий
от unDEFER

Ответ на:
комментарий
от unDEFER
Ответ на:
комментарий
от aton

Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от unDEFER
Ответ на:
комментарий
от unDEFER
Ответ на:
комментарий
от Baraban

Ответ на:
комментарий
от unDEFER
Ответ на:
комментарий
от Baraban

Ответ на:
комментарий
от unDEFER
Ответ на:
комментарий
от Baraban

Ответ на:
комментарий
от Baraban

Ответ на:
комментарий
от unDEFER

Ответ на:
комментарий
от Baraban

Ответ на:
комментарий
от bugmaker


Ответ на:
комментарий
от unDEFER
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Conditional jump or move depends on uninitialised value(s) (2008)
- Форум как локализовать memory leak через valgrind? (2006)
- Форум valgrind не любит zlib? (2012)
- Форум Segmentation Fault (2022)
- Форум segmentation fault (2022)
- Форум Segmentation fault (2016)
- Форум segmentation fault (2018)
- Форум Segmentation fault (2011)
- Форум segmentation fault (2011)
- Форум Segmentation fault (2011)