[問題] gcc 在 atomic 跟valgrind在Rpi上的bug

作者: wtchen (沒有存在感的人)   2016-10-19 20:24:15
開發平台(Platform): (Ex: Win10, Linux, ...)
RP1 + Raspbian
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
gcc 4.9.2
編譯參數:-Wall -pedantic -O3 -std=gnu11 -lpthread
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
pthread
問題(Question):
正在練習寫multithread的code
使用gcc編譯會有Warning(用clang不會)
跑起來也沒問題
可是valgrind顯示有memary leakage (我沒用malloc)
不知道如何改善
預期的正確結果(Expected Output):
無memory leak
錯誤結果(Wrong Output):
gcc的Warning如下:
atomic.c:30:9: warning: right-hand operand of comma expression has no effect
[-Wunused-value]
++acnt;
^
atomic.c:32:9: warning: right-hand operand of comma expression has no effect
[-Wunused-value]
作者: longlongint (華哥爾)   2016-10-19 20:45:00
不知道欸 試試看改用 -O2 ?
作者: wtchen (沒有存在感的人)   2016-10-19 20:48:00
用過了,一樣有Error如果是RPi+clang去編譯,valgrind根本不讓我run...看了一下gcc的bugzilla,似乎gcc6才修掉這bug順便請教,以本case來說需要用volatile修飾i2c_stat?
作者: Bencrie   2016-10-19 22:04:00
那個錯誤叫存取違規不叫 memory leak

Links booklink

Contact Us: admin [ a t ] ucptt.com