Re: [問題] link出現的錯誤
※ 引述《SILee (打卡上班的日子)》之銘言:
: 請問程式link時出現這樣的錯誤的錯誤訊息是什麼原因造成的?
: undefined reference to '__stack_chk_fail'
: 我只要在程式裡面宣告一個大一點的array,在link階段就會出現這種錯誤
: 但是把array拿到function外面宣告成global的就沒這個問題
: 看起來像是程式將local variable塞到stack時overflow了
: 但是stack overflow應該是run time error怎麼會在link就出問題?
: thanks!!
囧" 我發現原因了
剛剛把程式dump成組語出來看,發現如果宣告一個type為char且size大於8的local array
GCC會自動插入__stack_chk_fail這個system call檢查stack是否overflow
而我的程式是run在non OS環境的,所以linker會找不到__stack_chk_fail這個function
可是很奇怪的是如果array的type不是宣告成char就不會有這個問題 @@
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.59.105.115
→
05/02 00:05, , 1F
05/02 00:05, 1F
討論串 (同標題文章)
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章