On 2023-02-16 15:29, Jonathan Wakely wrote:
On Thu, 16 Feb 2023 at 15:25, i.nixman--- via Gcc-help
<gcc-help@xxxxxxxxxxx> wrote:
hello,
I can successfully build the same C++ code using GCC-8.3.1 for Debug
(-g
-O0) and Release (-g -O2) build.
I can successfully debug the Release-executable on a remote host, but
I
can't debug the Debug-executable on a remote host, because the
Debug-executable imports an extra symbol
_ZNKSt9basic_iosIcSt11char_traitsIcEEcvbEv from libstdc++ which
doesn't
exist.
It should exist, it has been there since GCC
hmm...
I just checked the two binaries using this cmd:
readelf -sW executable | grep
_ZNKSt9basic_iosIcSt11char_traitsIcEEcvbEv
it shows nothing for release build, and shows this for debug build:
54: 0000000000000000 0 FUNC GLOBAL DEFAULT UND
_ZNKSt9basic_iosIcSt11char_traitsIcEEcvbEv
199898: 0000000000000000 0 FUNC GLOBAL DEFAULT UND
_ZNKSt9basic_iosIcSt11char_traitsIcEEcvbEv
what should I do next to understand the reason?
moreover, im unsure I understand the reason correctly...
best!
but I don't want to debug libstdc++, so I think I shouldn't install
additional debug version of libstdc++.
it looks like a bug, or am I wrong?
another my question is, what should I do to get rid of that extra
symbol
in Debug build?
best!
ps
I can't update GCC nor libstdc++.