On Fri, Aug 11, 2017 at 4:04 PM, Jim Wilson jim.wilson@linaro.org wrote:
On Fri, Aug 11, 2017 at 6:53 AM, Godmar Back godmar@gmail.com wrote:
In a recent github thread https://github.com/OP-TEE/optee_os/issues/1708#issuecomment-320245973
it
was suggested that I ask this list about what the exact reasons for the lack of C++ support are, and how/if they break down by C++ feature so as
to
gauge a possible investment in remedying this situation at least
partially.
Answering this question would required detailed knowledge of OP-TEE, and I doubt that anyone on this list has such knowledge.
Is this the wrong mailing list to ask the question then?
I would guess that part of the problem is that libstdc++ is so large, and isn't designed to be pulled apart into small pieces, as there are a lot of features that interact with other features. Just running nm on libstdc++.so, and grepping for GLIBC_, I see that it calls 105 glibc functions. Some of these functions are I/O related and are obvious problems, like fopen, fclose, fread, fwrite.
Normally, libraries are decomposed into individual .o files to avoid exactly this phenomenon where an undefined reference to function X pulls in definitions of functions Y, Z, etc. which then cause a chain of dependencies to other .o files the linker must resolve. Is libstdc++ different in this respect? Because otherwise, features would only be pulled in if required, and that's a much more manageable problem.
- Godmar