Hi

While trying to upgrade our vxworks 5.5 compiler to gcc12, I've hit a
problem when loading the libstdc++ module on target. It manifests as

[00] tShell         memPartFree: invalid block 8bf72c in partition 9605dc.
[00] tShell         memPartFree: invalid block 8bf38c in partition 9605dc.
[00] tShell         memPartFree: invalid block 8bf304 in partition 9605dc.
[00] tShell         memPartFree: invalid block 8bf348 in partition 9605dc.
[00] tShell         memPartFree: invalid block 8bf23c in partition 9605dc.
[00] tShell         memPartFree: invalid block 8bf6c4 in partition 9605dc.
[00] tShell         memPartFree: invalid block 8bf794 in partition 9605dc.
[00] tShell         memPartFree: invalid block 8bf7a0 in partition 9605dc.
[00] tShell         memPartFree: invalid block 8bf7bc in partition 9605dc.

being printed on the console. We didn't use to pass an explicit
--enable-clocale option to configure, but if I add
--enable-clocale=generic , thus reverting to the locale implementation
used for gcc11, the problem goes away.

The vxworks locale seems to be mostly identical to generic, just
differing in CCTYPE_CC. And comparing the .a files, it seems that that
TU ends up defining a constructor
_GLOBAL__sub_I__ZNSt12ctype_bynameIcEC2EPKcj , which calls
_ZNSt8ios_base4InitC1Ev . But then I'm lost.

Any ideas?

Rasmus

Reply via email to