backwards compatibility - QNX runtime error: unknown symbol __stack_chk_guard -
i'm trying test backward compatibility between qnx 6.6.0 , 6.5.0 (in concequence of earlier question i've got). compiled relatively simple program using sdp6.6.0 , executed on neutrino 6.5.0. when execute program follow runtime error pops up:
unknown symbol: __stack_chk_guard
ldd:fatal: not resolve symbols
what causing this?..
(i've found solution wasn't working rightaway. when started writing question realized error made. future reference provide solution here q&a myself).
since qnx using gcc (qcc):
"buffer overflow detection enabled in current , newer gcc builds in (rare , complex) cases may result in run time complications such undefined symbol: __stack_chk_guard
errors. in such cases possible solution disable feature adding -fno-stack-protector
cflag
list used gcc compilation options" (see [1] , what use of -fno-stack-protector?).
additionally: found forum thread ryan mansfield (qnx compiler lead maintainer, think) says:
one problem [one] might hit trying 6.6.0 binaries run on 6.5.0, built
-fstack-protector
, relies on support in libc. wasn't in 6.5.0 libc iirc, 6.5.0sp1 added.
thus, in qnx 6.5.0sp1 issue seems fixed.
Comments
Post a Comment